Retiring nodes is a natural part of a server’s life cycle, for instance when the end of the warranty is reached and the physical space is needed for new deliveries to install replacement capacity.
However, depending on the type of the deployment, removing nodes from service can be a full workflow by itself as it may include steps like moving applications to other hosts, cleaning sensitive data from disks or the BMC, or tracking the dismantling of servers from their racks.
Ironic provides some means to support such workflows by allowing
to tag nodes as
retired which will prevent any further
scheduling of instances, but will still allow for other operations,
such as cleaning, to happen (this marks an important difference to
nodes which have the
maintenance flag set).
How to use¶
When it is known that a node shall be retired, set the
flag on the node with:
baremetal node set --retired node-001
This can be done irrespective of the state the node is in, so in
particular while the node is
An exception are nodes which are in
available. For backwards
compatibility reasons, these nodes need to be moved to
manageable first. Trying to set the
retired flag for
available nodes will result in an error.
Optionally, a reason can be specified when a node is retired, e.g.:
baremetal node set --retired node-001 \ --retired-reason "End of warranty for delivery abc123"
Upon instance deletion, an
active node with the
set will not move to
available, but to
manageable. The node
will hence not be eligible for scheduling of new instances.
Equally, nodes with
retired set to True cannot move from
provide verb is blocked. This is to prevent
accidental re-use of nodes tagged for removal from the fleet. In order
to move these nodes to
available none the less, the
needs to be removed first. This can be done via:
baremetal node unset --retired node-001
In order to facilitate the identification of nodes marked for retirement,
e.g. by other teams, ironic also allows to list all nodes which have the
retired flag set:
baremetal node list --retired