FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

feat(understack-workflows): add enroll-dcx-netdev command by cardoe · Pull Request #2255 · rackerlabs/understack · GitHub

feat(understack-workflows): add enroll-dcx-netdev command - #2255

Draft
cardoe wants to merge 1 commit into
mainfrom
enroll-dcx-netdev
Draft

feat(understack-workflows): add enroll-dcx-netdev command#2255
cardoe wants to merge 1 commit into
mainfrom
enroll-dcx-netdev

Conversation

cardoe commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Onboard baremetal appliances into Ironic from Rackspace
DCX inventory data alone, when there is no BMC access and no NIC MACs.

The new enroll-dcx-netdev <device_number> --name-prefix Thing command
fetches a device's switch ports and location from the DCX API, then
reuses netdev_reconciler.enroll() to create (idempotently) a netdev
Ironic node <prefix>-<device_number> with a baremetal port per data
port.

Per port it sets local_link_connection (placeholder switch_id,
switch_info from the DCX switch hostname, port_id Ethernet1/),
category=network, a deterministic locally-administered MAC (stable
across re-runs), and a physical_network derived from the switch pair.
The node's extra carries external_cmdb_id,
rack, and position. resource_class defaults to the lowercased name
prefix.

DCX auth token is read from DCX_TOKEN; OS_CLOUD selects the Ironic
target. --dry-run builds and logs the payload without touching Ironic.

Onboard baremetal appliances into Ironic from Rackspace
DCX inventory data alone, when there is no BMC access and no NIC MACs.

The new `enroll-dcx-netdev <device_number> --name-prefix Thing` command
fetches a device's switch ports and location from the DCX API, then
reuses `netdev_reconciler.enroll()` to create (idempotently) a netdev
Ironic node `<prefix>-<device_number>` with a baremetal port per data
port.

Per port it sets local_link_connection (placeholder switch_id,
switch_info from the DCX switch hostname, port_id Ethernet1/<n>),
category=network, a deterministic locally-administered MAC (stable
across re-runs), and a physical_network derived from the switch pair.
The node's extra carries external_cmdb_id,
rack, and position. resource_class defaults to the lowercased name
prefix.

DCX auth token is read from DCX_TOKEN; OS_CLOUD selects the Ironic
target. --dry-run builds and logs the payload without touching Ironic.
cardoe force-pushed the enroll-dcx-netdev branch from d09438e to e9e2e73 Compare August 26, 2026 19:01
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants


Back | FazBrowse Home | New Git URL