Skip to content

no-merge: trim enroll for fast tests - #2611

Draft
haseebsyed12 wants to merge 1 commit into
mainfrom
trimmed-enroll
Draft

haseebsyed12 wants to merge 1 commit into
mainfrom
trimmed-enroll

Conversation

@haseebsyed12

@haseebsyed12 haseebsyed12 commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Strip BMC init/password, out-of-band and agent inspection, Dell BIOS, RAID, and firmware from the default enroll() flow. The trimmed flow runs chassis_info (read-only, for node naming) -> create_or_update -> the run_post_inspection_runbook loop -> transition(provide/available), and main() still writes --node-uuid-output on success for the post-enroll hook. All CLI args and parse_bool/parse_runbooks are preserved; old_password/firmware_update/raid_configure stay in the signature but are inert.

What does this change do?

Upgrade impact

  • This change requires operator action to upgrade. If checked, add the
    upgrade-impact label and a release note: run scriv create from the
    repository root and describe the required action in the generated
    changelog.d/ file. See RELEASING.md.

Operator action means anything a deployment has to do beyond a normal resync:
deploy repo or values changes, new or removed secrets, enabling or disabling a
component, or a manual one-time step.

Strip BMC init/password, out-of-band and agent inspection, Dell BIOS,
RAID, and firmware from the default enroll() flow. The trimmed flow runs
chassis_info (read-only, for node naming) -> create_or_update -> the
run_post_inspection_runbook loop -> transition(provide/available), and
main() still writes --node-uuid-output on success for the post-enroll
hook. All CLI args and parse_bool/parse_runbooks are preserved;
old_password/firmware_update/raid_configure stay in the signature but are
inert.

Update tests: remove the two full-sequence tests that asserted removed
paths, rewrite test_post_inspection_runbook_order and
test_post_inspection_runbooks_stop_on_failure for the trimmed flow,
preserve all in-scope coverage. enroll-server.yaml: doc note only;
contract/params/output/args/mounts unchanged.

Gates: ruff + uv build + pytest (822 passed) green; helm lint/template,
kustomize renders green; deploy-repo argo-lint/unittest unchanged vs
baseline.
@github-actions

Copy link
Copy Markdown

Python test results

487 tests  +368   482 ✅ +363   48s ⏱️ +42s
  1 suites ±  0     5 💤 +  5 
  1 files   ±  0     0 ❌ ±  0 

Results for commit 1f0816e. ± Comparison against base commit c603f47.

This pull request removes 119 and adds 487 tests. Note that renamed tests count towards both.
ironic_understack.tests.test_device_type ‑ test_device_type_from_directory
ironic_understack.tests.test_device_type ‑ test_device_type_from_yaml
ironic_understack.tests.test_device_type ‑ test_device_type_minimal_yaml
ironic_understack.tests.test_device_type ‑ test_get_resource_class
ironic_understack.tests.test_inspect_hook_chassis_model ‑ test_preserves_other_custom_traits
ironic_understack.tests.test_inspect_hook_chassis_model ‑ test_replaces_stale_chassis_trait
ironic_understack.tests.test_inspect_hook_node_name_check.TestInspectHookNodeNameCheck ‑ test_empty_system_vendor
ironic_understack.tests.test_inspect_hook_node_name_check.TestInspectHookNodeNameCheck ‑ test_matching_name_passes
ironic_understack.tests.test_inspect_hook_node_name_check.TestInspectHookNodeNameCheck ‑ test_mismatched_name_raises
ironic_understack.tests.test_inspect_hook_node_name_check.TestInspectHookNodeNameCheck ‑ test_missing_manufacturer_raises
…
neutron_understack.tests.scenarios.test_baremetal_binding.TestBaremetalBinding ‑ test_baremetal_vif_attach_binds_hierarchically
neutron_understack.tests.scenarios.test_baremetal_binding.TestBaremetalBinding ‑ test_delete_keeps_segment_still_in_use
neutron_understack.tests.scenarios.test_baremetal_binding.TestBaremetalBinding ‑ test_port_delete_releases_dynamic_vlan_segment
neutron_understack.tests.scenarios.test_baremetal_binding.TestBaremetalBinding ‑ test_provisioning_network_delete_releases_unused_segment
neutron_understack.tests.scenarios.test_baremetal_binding.TestBaremetalBinding ‑ test_provisioning_network_port_binds
neutron_understack.tests.scenarios.test_baremetal_binding.TestBaremetalBinding ‑ test_second_port_same_physnet_reuses_dynamic_segment
neutron_understack.tests.scenarios.test_baremetal_binding.TestBaremetalBinding ‑ test_unsupported_vnic_type_is_not_bound_by_us
neutron_understack.tests.scenarios.test_baremetal_binding.TestBaremetalBinding ‑ test_vif_attach_without_ip_still_syncs
neutron_understack.tests.scenarios.test_baremetal_binding.TestBaremetalBinding ‑ test_vif_attach_without_physical_network_refuses_binding
neutron_understack.tests.scenarios.test_baremetal_binding.TestBaremetalBinding ‑ test_vif_detach_releases_segment_and_reconciles
…

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants