Skip to content

Fix filtered shared-netns lifecycle reconciliation - #3287

Draft
orrious wants to merge 21 commits into
srl-labs:mainfrom
orrious:feature/apply-shared-netns-lifecycle
Draft

Fix filtered shared-netns lifecycle reconciliation#3287
orrious wants to merge 21 commits into
srl-labs:mainfrom
orrious:feature/apply-shared-netns-lifecycle

Conversation

@orrious

@orrious orrious commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • order filtered provider creation, link attachment, and health before shared-netns children
  • prevent shared-netns children from parking provider-owned endpoints
  • scope filtered state/artifact finalization and preserve global destroy artifacts while unrelated nodes remain
  • restore configure-stage and affected-node lifecycle behavior after link reconciliation

Final source

  • branch: feature/apply-shared-netns-lifecycle
  • commit: 7e3f220c169e646f85e07c962e7424c630890c15
  • clean and pushed to orrious/containerlab

Validation

  • host race-enabled full Go suite: sudo env HOME=/home/opc make test
  • focused rootful Podman-tagged packages: ./core ./core/dependency_manager ./nodes ./links ./runtime/podman
  • canonical OL8 amd64 builder full native-Podman-tagged suite, excluding only runbook-authorized TestVerifyLinks: passed
  • canonical builder make build-with-podman: passed
  • rootful Podman Robot 30-apply-filter.robot against exact source binary: 3 passed
  • RPM transaction test: passed
  • installed /usr/bin/clab rootful Robot 30-apply-filter.robot: 3 passed
  • installed version: 0.0.0-next.7e3f220c, embedded commit 7e3f220c
  • RPM: containerlab_0.0.0-next.7e3f220c_linux_amd64.rpm
  • RPM SHA256: b863dac2eeb12f8f48212809a8fb623d4355fad9bcaedce4cc9111f340dd30a8

Live x86 validation

  • rootful Podman lab: us-miami-1
  • filter: oc99-mia-btor1-private-dns-authcore
  • initial dry-run: no node, link, endpoint, or restart changes
  • filtered apply: succeeded despite unrelated absent/unhealthy state
  • all 37 lab container IDs remained unchanged
  • shared-netns provider ID remained 0ee41d6c8c3f
  • provider retained 10.133.54.0/32, 172.16.0.150/24, and default route via 172.16.0.1
  • follow-up dry-run: no changes
  • both source and lab checkouts remained clean

Remaining validation

This PR remains draft. The project runbook requires a macOS/Colima functional smoke, while the active assignment explicitly restricts validation to the x86 runner and forbids Colima. Authcore itself also remained in its pre-existing starting health state because its image reports a missing healthcheck file; reconciliation neither caused nor changed that condition.

@orrious
orrious force-pushed the feature/apply-shared-netns-lifecycle branch from 372af31 to aacb439 Compare July 18, 2026 01:30
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.

1 participant