Skip to content

feat(ironic): panos driver base - PUC-2049 - #2338

Merged
khackworth merged 2 commits into
mainfrom
panos_driver_base
Oct 19, 2026
Merged

khackworth merged 2 commits into
mainfrom
panos_driver_base

Conversation

@khackworth

Copy link
Copy Markdown
Contributor

Adding in the scaffolding for the PAN-OS driver.

  • panos_hardware.py - Hardware type registration with standard Ironic interfaces
  • panos_inspect.py - Inspection interface with 3-password credential fallback (standard → preconfig → factory)
  • panos_management.py - Management interface (power, boot device operations)

Added in tests to accommodate what was intended. Secrets are set to soft fail if undercloud_deploy isn't released for that env.

@github-actions

github-actions Bot commented Sep 14, 2026 •

Copy link
Copy Markdown

Python test results

107 tests   107 ✅  8s ⏱️
  1 suites    0 💤
  1 files      0 ❌

Results for commit 0314b83.

♻️ This comment has been updated with latest results.

@khackworth khackworth changed the title feat(ironic): panos driver base feat(ironic): panos driver base - PUC-2049 Sep 14, 2026

@cardoe cardoe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As written this driver cannot load or run. Comments inline, but the two that reshape the PR are the hardware type name and where the credentials come from.

Comment thread python/ironic-understack/ironic_understack/drivers/panos_hardware.py Outdated
Comment thread python/ironic-understack/pyproject.toml
Comment thread python/ironic-understack/ironic_understack/drivers/panos_inspect.py Outdated
Comment thread components/ironic/values.yaml Outdated
Comment thread python/ironic-understack/ironic_understack/drivers/panos_inspect.py Outdated
Comment thread python/ironic-understack/ironic_understack/drivers/panos_management.py Outdated
Comment thread python/ironic-understack/ironic_understack/drivers/panos_hardware.py Outdated
Comment thread python/ironic-understack/ironic_understack/drivers/panos_inspect.py Outdated
Comment thread python/ironic-understack/ironic_understack/tests/fixtures/system_info.xml Outdated
@cardoe
cardoe force-pushed the panos_driver_base branch 2 times, most recently from d09d883 to 8b58ee5 Compare October 1, 2026 20:55
khackworth added a commit that referenced this pull request Oct 2, 2026
Implements validation in PanosManagement to check for required
management_ip parameter, addressing PR #2338 feedback. Also adds
get_properties() to advertise required driver_info parameters.

All tests pass (18/18).
khackworth and others added 2 commits October 19, 2026 12:32
Give the panos hardware type its own inspect and management interfaces
that talk to the appliance over the PAN-OS XML API at
driver_info['management_ip'], keeping the netdev no-op interfaces as
fallbacks.

Inspection logs in using the [netdev_panos] credentials, trying the
standard, preconfig, then factory password so it works at any point in
an appliance's setup, and records the model, serial, and firmware
version from show system info. Model and serial set by enroll-fw are
not overwritten.

LLDP port discovery, HA peer discovery, initial configuration, and the
cleaning steps are stubbed with their intended behavior documented. The
initial configuration verify step only logs so enrollment isn't blocked;
the manual clean steps fail rather than report work that wasn't done.

Co-Authored-By: Doug Goldstein <doug.goldstein@rackspace.com>
Implements validation in PanosManagement to check for required
management_ip parameter, addressing PR #2338 feedback. Also adds
get_properties() to advertise required driver_info parameters.

All tests pass (18/18).
@khackworth
khackworth added this pull request to the merge queue Oct 19, 2026
Merged via the queue into main with commit 7b72458 Oct 19, 2026
71 checks passed
@khackworth
khackworth deleted the panos_driver_base branch October 19, 2026 17:39
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