Skip to content

Commit 433c193

Browse files
authored
Merge pull request #8674 from ovh/TG-OPCP-Node-lifecycle-new
feat(opcp): create guide node lifecycle
2 parents 03041eb + 233a1af commit 433c193

12 files changed

+301
-0
lines changed
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
---
2+
title: "Lifecycle of an OPCP Node"
3+
excerpt: "Discover the lifecycle of an OPCP node and its different statuses"
4+
updated: 2025-11-18
5+
---
6+
7+
## Objective
8+
9+
A node in OpenStack represents the configuration of a physical server in the OPCP rack. It must be distinguished from instances, which represent the operating system running on a node.
10+
11+
**This guide details the different statuses of a node in an OPCP rack and how to modify them.**
12+
13+
## Requirements
14+
15+
- Have an active [OPCP](/links/hosted-private-cloud/onprem-cloud-platform) service.
16+
- Have a user account with admin rights to log in to Horizon on the OPCP offering.
17+
- (Optional) Have access to the OpenStack APIs for your project.
18+
- (Optional) Have installed the Ironic client.
19+
20+
## Instructions
21+
22+
Log in to the Horizon interface of your OPCP on the admin project.
23+
24+
![dashboard](images/01-log-to-horizon.png){.thumbnail}
25+
26+
If you want to follow the OpenStack API section, you will need to install the Ironic packages on your environment:
27+
28+
```bash
29+
pip install python-ironicclient
30+
```
31+
32+
### Check the status of a node
33+
34+
You can check the status of a node directly from Horizon via the `Admin` > `System` > `Ironic Bare Metal Provisioning` tab:
35+
36+
![server-status](images/02-server-status.png){.thumbnail}
37+
38+
You will find the list of your nodes and their various statuses.
39+
40+
From the OpenStack APIs, you can retrieve the same list using the following command:
41+
42+
```bash
43+
baremetal node list
44+
```
45+
46+
You can also check the status of a specific node:
47+
48+
```bash
49+
baremetal node show $BAREMETAL_NODE_ID
50+
```
51+
52+
### Possible statuses
53+
54+
|Status|Description|
55+
|---|---|
56+
|Enroll|First state of the node when it has been automatically discovered by OPCP. The server has not yet been validated and must be manually transitioned to `Manageable`.|
57+
|Manageable|The node has been verified and is managed by Ironic, but it is not yet installable. The node must be moved to the `Available` state before it can be deployed.|
58+
|Available|The node is available and can be installed.|
59+
|Active|The node is installed and has an active instance on it.|
60+
|Verifying|Transitional state when a node moves from `Enroll` to `Manageable`. Ironic verifies it can manage the node using the drivers and hardware properties configured during control-plane discovery.|
61+
|Cleaning / Clean-wait|Transitional state when an instance is deleted or when leaving the `Manageable` state before becoming `Available` again. Disks are wiped during this step.|
62+
|Deploying / Wait call-back|Transitional state when the node is being deployed.|
63+
64+
You can find detailed explanations for the different statuses in the [official OpenStack documentation](https://docs.openstack.org/ironic/7.0.1/api/ironic.common.states.html).
65+
66+
### Node lifecycle
67+
68+
![node-lifecyle](images/03-node-lifecycle.png){.thumbnail}
69+
70+
When a node is installed and booted in an OPCP rack, its discovery is automatically performed by the control plane. At this moment, the node retrieves its properties and **traits** based on its hardware profile.
71+
72+
Once the node is in the `Enroll` state, you can change its state so that it is managed by Ironic.
73+
74+
**From the Horizon interface:**
75+
76+
![server-manageable](images/03-server-status-to-manageable.png){.thumbnail}
77+
78+
**From the OpenStack APIs:**
79+
80+
```bash
81+
baremetal node manage $BAREMETAL_NODE_ID
82+
```
83+
84+
To make the node available for installation, it must then be transitioned to the `Available` state:
85+
86+
**From the Horizon interface:**
87+
88+
![server-available](images/03-server-status-to-available.png){.thumbnail}
89+
90+
**From the OpenStack APIs:**
91+
92+
```bash
93+
baremetal node provide $BAREMETAL_NODE_ID
94+
```
95+
96+
The node then transitions to the `Cleaning` state before reaching `Available`, making it deployable by the various projects in your OPCP environment.
97+
98+
### Maintenance mode
99+
100+
This mode can be enabled to ensure a node cannot be used for installation, even if it is in the `Available` state.
101+
102+
**From the Horizon interface:**
103+
104+
![Maintenance-on](images/04-server-to-maintenance-on.png){.thumbnail}
105+
106+
When enabling maintenance, you may specify a reason so that the team responsible for the nodes has the information. This reason is optional.
107+
108+
![Maintenance-reason](images/04-server-to-maintenance-reason.png){.thumbnail}
109+
110+
Once your maintenance operations are complete, you can disable maintenance:
111+
112+
![Maintenance-off](images/04-server-to-maintenance-off.png){.thumbnail}
113+
114+
**From the OpenStack APIs:**
115+
116+
```bash
117+
baremetal node maintenance set $BAREMETAL_NODE_ID --reason "Maintenance reason"
118+
```
119+
120+
You can then retrieve the maintenance status and the reason using the following command:
121+
122+
```bash
123+
baremetal node show $BAREMETAL_NODE_ID
124+
```
125+
126+
You will find the following lines:
127+
128+
```bash
129+
| maintenance | True
130+
| maintenance_reason | "Maintenance reason"
131+
```
132+
133+
To remove the node from maintenance, use the command:
134+
135+
```bash
136+
baremetal node maintenance unset $BAREMETAL_NODE_ID
137+
```
138+
139+
### References
140+
141+
- [OpenStack Official Documentation - Horizon](https://docs.openstack.org/horizon/latest/)
142+
- [OpenStack Ironic States](https://docs.openstack.org/ironic/7.0.1/api/ironic.common.states.html)
143+
- [OpenStack Ironic Troubleshooting - Maintenance](https://docs.openstack.org/ironic/latest/install/troubleshooting.html)
144+
145+
## Go further
146+
147+
If you need training or technical assistance for the implementation of our solutions, contact your sales representative or click [this link](/links/professional-services) to request a quote and have your project analyzed by our Professional Services team experts.
148+
149+
Join our [community of users](/links/community).
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
---
2+
title: "Cycle de vie d'un noeud OPCP"
3+
excerpt: "Découvrez le cycle de vie d'un noeud OPCP et ses différents status"
4+
updated: 2025-11-18
5+
---
6+
7+
## Objectif
8+
9+
Un noeud dans openstack représente la configuration d'un serveur physique du rack OPCP. Il faut les différencer des instances qui représente le système d'exploitation sur un noeud.
10+
11+
Ce guide vous détaille les différents status d'un noeud dans une baie OPCP et comment les modifier.
12+
13+
## Prérequis
14+
15+
- Disposer d'un service [OPCP](/links/hosted-private-cloud/onprem-cloud-platform) actif.
16+
- Posséder un compte utilisateur avec les droits admin pour se connecter à Horizon sur l'offre OPCP.
17+
- (Optionnel) Avoir un accès aux API Openstack de votre projet.
18+
- (Optionnel) Avoir installé le client ironic.
19+
20+
## En pratique
21+
22+
Connectez vous à l'interface Horizon de votre OPCP sur le projet admin.
23+
24+
![dashboard](images/01-log-to-horizon.png){.thumbnail}
25+
26+
Si vous souhaitez suivre la partie API Openstack, il sera nécessaire d'installer les paquets ironic sur votre environnement :
27+
28+
```bash
29+
pip install python-ironicclient
30+
```
31+
32+
### Vérifier le status d'un noeud
33+
34+
Vous pouvez vérifier le statut d'un noeud directement depuis Horizon via l'onglet `Admin` > `System` > `Ironic Bare Metal Provisioning` :
35+
36+
![server-status](images/02-server-status.png){.thumbnail}
37+
38+
Vous retrouverez la liste de vos noeuds ainsi que leurs différents status.
39+
40+
Depuis les API Openstack, vous pouvez retrouver la même liste via la commande suivante :
41+
42+
```bash
43+
baremetal node list
44+
```
45+
46+
Vous pouvez également vérifier le statut d'un noeud spécifique :
47+
48+
```bash
49+
baremetal node show $BAREMETAL_NODE_ID
50+
```
51+
52+
### Différents status possibles
53+
54+
|Statuts|Description|
55+
|---|---|
56+
|Enroll|Premier état du noeud lorsqu'il a été découvert automatiquement par OPCP. Le serveur n'a pas encore été vérifié et doit être rendu `Manageable` manuellement.|
57+
|Manageable|Le noeud a été vérifié et est géré par Ironic, il n'est cependant pas encore installable. Le noeud doit être passé en état `Available` avant de pouvoir être installé.|
58+
|Available|Le noeud est disponible et peut être installé.|
59+
|Active|Le noeud est installé et a une instance active sur celui-ci.|
60+
|Verifying|Etat transitoire lorsqu'un noeud passe de l'état `Enroll` à `Manageable`. Ironic vérifie qu'il peut gérer le noeud via les drivers et propriétés hardware configurés lors de la découverte faite par le control plane.|
61+
|Cleaning / Clean-wait|Etat transitoire lorsqu'une instance est supprimée ou sort de l'état `Manageable` avant de redevenir `Available`. Les disques sont formatés durant cette étape.|
62+
|Deploying / Wait call-back|Etat transitoire lorsque le noeud est en cours d'installation.|
63+
64+
Vous pouvez retrouver le détail des différents status dans la [documentation OpenStack officielle](https://docs.openstack.org/ironic/7.0.1/api/ironic.common.states.html).
65+
66+
### Cycle de vie d'un noeud
67+
68+
![node-lifecyle](images/03-node-lifecycle.png){.thumbnail}
69+
70+
Lorsqu'un noeud est installé et démarré dans une baie OPCP, la découverte du noeud est automatiquement effectuée par le control plane. C'est à ce moment que le noeud récupère ses propriétés et **traits** en fonction du profil hardware de celui-ci.
71+
72+
Une fois que le noeud est dans l'état `Enroll`, vous pouvez modifier son état pour qu'il soit géré par Ironic.
73+
74+
**Depuis l'interface Horizon :**
75+
76+
![server-manageable](images/03-server-status-to-manageable.png){.thumbnail}
77+
78+
**Depuis les API Openstack :**
79+
80+
```bash
81+
baremetal node manage $BAREMETAL_NODE_ID
82+
```
83+
84+
Pour rendre le noeud disponible à l'installation, il faut ensuite le passer en statut `Available` :
85+
86+
**Depuis l'interface Horizon :**
87+
88+
![server-available](images/03-server-status-to-available.png){.thumbnail}
89+
90+
**Depuis les API Openstack :**
91+
92+
```bash
93+
baremetal node provide $BAREMETAL_NODE_ID
94+
```
95+
96+
Le noeud passe alors en status `Cleaning` puis `Available`, ce qui le rend installable par les différents projets de votre environnement OPCP.
97+
98+
### Mode maintenance
99+
100+
Ce mode peut être activé afin de rendre un noeud non disponible pour un installation, même si celui-ci est dans le statut `Available`.
101+
102+
**Depuis l'interface Horizon :**
103+
104+
![Maintenance-on](images/04-server-to-maintenance-on.png){.thumbnail}
105+
106+
Lors de la mise en maintenance, vous pouvez indiquer un motif afin que l'équipe responsable des nœuds dispose de cette information. Cette raison reste optionnelle.
107+
108+
![Maintenance-reason](images/04-server-to-maintenance-reason.png){.thumbnail}
109+
110+
Une fois votre maintenance terminée, vous pouvez retirer la maintenance :
111+
112+
![Maintenance-off](images/04-server-to-maintenance-off.png){.thumbnail}
113+
114+
**Depuis les API openstack :**
115+
116+
```bash
117+
baremetal node maintenance set $BAREMETAL_NODE_ID --reason "Maintenance reason"
118+
```
119+
120+
Vous pouvez ensuite retrouver la maintenance et la raison via la commande suivante :
121+
122+
```bash
123+
baremetal node show $BAREMETAL_NODE_ID
124+
```
125+
126+
Vous trouverez les lignes :
127+
128+
```bash
129+
| maintenance | True
130+
| maintenance_reason | "Maintenance reason"
131+
```
132+
133+
Pour sortir le noeud de la maintenance, vous pouvez utiliser la commande :
134+
135+
```bash
136+
baremetal node maintenance unset $BAREMETAL_NODE_ID
137+
```
138+
139+
### Références
140+
141+
- [Openstack Official Documentation - Horizon](https://docs.openstack.org/horizon/latest/)
142+
- [Openstack Ironic States](https://docs.openstack.org/ironic/7.0.1/api/ironic.common.states.html)
143+
- [Openstack Ironic Troubleshooting - Maintenance](https://docs.openstack.org/ironic/latest/install/troubleshooting.html)
144+
145+
## Go further
146+
147+
If you need training or technical assistance for the implementation of our solutions, contact your sales representative or click [this link](/links/professional-services) to request a quote and have your project analyzed by our Professional Services team experts.
148+
149+
Join our [community of users](/links/community).
39.3 KB
Loading
63.9 KB
Loading
102 KB
Loading
109 KB
Loading
162 KB
Loading
144 KB
Loading
115 KB
Loading
34.4 KB
Loading

0 commit comments

Comments
 (0)