feat(understack-workflows): set Nautobot device-sync fields at firewall enroll - #2322
Open
nidzrai wants to merge 1 commit into
Open
feat(understack-workflows): set Nautobot device-sync fields at firewall enroll#2322nidzrai wants to merge 1 commit into
nidzrai wants to merge 1 commit into
Conversation
…ll enroll The Nautobot Palo Alto device sync needs vendor/model in the node properties, the device serial in extra, and each port's interface name in extra.bios_name. netdev appliances are NoInspect, so these must be set at enroll time -- today they are applied by hand after enrolment. - engine: support node.properties (create + diff-patch on re-run) and port extra.bios_name (defaults to the port label; converges on re-run) - enroll-fw: add --serial / --vendor (default "Palo Alto") / --model; serial -> extra, vendor/model -> properties; note that --ports "switch" must be the switch FQDN so the sync can resolve the cable - firewall_metadata now returns (driver_info, extra, properties); apply_node_metadata patches properties too (active-node path) - enroll-fw.yaml: serial / vendor / model params Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Nidhi Rai <nidhi.rai@rackspace.com>
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
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
enroll-fwnow sets, at enroll time, the Ironic node/port fields the Nautobot Palo Alto device sync reads — so they no longer have to be applied by hand after enrolment.node.properties.vendor--vendor(defaultPalo Alto)node.properties.model--model(e.g.PA-1410)node.extra.serial--serialport.extra.bios_nameWhy
netdev appliances are NoInspect, so the fields inspection would normally populate (
bios_name,serial) have to come from enrol. Without them the Nautobot device sync (khackworth's #2274) can't create the device/interfaces, so they were being set manually viaopenstack baremetal node/port set.Changes
netdev_reconciler): generic support fornode.properties(create + diff-patch on re-run) andport.extra.bios_name(defaults to the label; converges on re-run).enroll-fw:--serial/--vendor/--model;serial→extra,vendor/model→properties.--portshelp notesswitchmust be the switch FQDN (how the sync resolves the cable).firewall.py:firewall_metadatareturns(driver_info, extra, properties);apply_node_metadatapatchespropertiestoo (active-node path).enroll-fw.yaml:serial/vendor/modelparams.Testing
787 tests pass; ruff clean; kustomize builds and renders the new params. Contract verified against khackworth's hand-run commands (vendor/model → properties, serial → extra,
bios_name == label).Relates to #2274.
🤖 Generated with Claude Code