Skip to content

Latest commit

 

History

History
38 lines (28 loc) · 1.59 KB

README.md

File metadata and controls

38 lines (28 loc) · 1.59 KB

understack-workflows

This Python package aims to provide all the scripts that we will use inside of Argo Workflows.

sync-keystone

This script takes an OpenStack Project ID and ensures the proper operation happens against the Nautobot Tenants. Operations include create, update and delete.

Ironic runbooks

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.