This Python package aims to provide all the scripts that we will use inside of Argo Workflows.
This script takes an OpenStack Project ID and ensures the proper operation happens against the Nautobot Tenants. Operations include create, update and delete.
apply-node-runbook runs configured Ironic runbooks for a node, handling the
required state transitions. Runbooks execute in order; a failure stops the list.
apply-node-runbook --node NODE_UUID \
--runbooks '["bmc-configure-snmpv3-user"]'For active nodes, the runner uses Ironic servicing and waits for the node to
return to active after each runbook. All requested runbooks must explicitly
set disable_ramdisk=True; Ironic also validates their service steps. This
prevents booting IPA, but the steps themselves must still be appropriate for a
running server. The SNMPv3 runbook configures the BMC account out of band.
Instance and allocation IDs are allowed on active nodes. Maintenance, conductor
reservations, and pending state transitions are rejected for all nodes.
For available nodes, the runner transitions to manageable, runs manual
cleaning, then requests provide to return to available. Nodes starting in
manageable remain there. Failures stop the sequence without restoring the
starting state; inspect the Ironic error before retrying.
For automatic execution after enrollment, configure post_enroll_workflows
with WorkflowTemplates that accept node_uuid. Enrollment still uses the idle
node cleaning path; active-node servicing does not change that behavior.