status: add DelegatedPrefixes for DHCPv6 prefix-delegation persistence#12
Open
dkelson wants to merge 1 commit into
Open
status: add DelegatedPrefixes for DHCPv6 prefix-delegation persistence#12dkelson wants to merge 1 commit into
dkelson wants to merge 1 commit into
Conversation
Persist the IPv6 prefix delegated to a pod interface via DHCPv6 Prefix Delegation, mirroring how Status.IPs persists IA_NA addresses, so the same prefix is reproduced on a new pod for the same workload (KubeVirt live migration). Signed-off-by: Dax Kelson <daxkelson@gmail.com>
WalkthroughAdds ChangesIPAMClaim delegated prefixes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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
Add an optional
Status.DelegatedPrefixes []stringfield to theIPAMClaimCRD,holding the IPv6 prefix(es) (CIDR) delegated to a pod interface via DHCPv6 Prefix
Delegation.
Why
IPAMClaim.Statusalready persists the interface's IA_NA addresses inIPsso anIPAM consumer can reproduce them on a new pod for the same workload (the KubeVirt
live-migration case). DHCPv6 Prefix Delegation gives a workload an additional,
separately-allocated routed IPv6 prefix. That prefix has the same 1:1 lifecycle
as the interface address and the same migration-stability requirement: the consumer
must hand the migration-target pod the same prefix, or a guest holding the prefix on
an infinite DHCPv6 lease is stranded. No field persists it today.
The first consumer is OVN-Kubernetes' DHCPv6-PD feature (OKEP "Migration-stable DHCPv6
Prefix Delegation"), which allocates the prefix, persists it here, and re-asserts the
route and DHCP option on the migration target from this field.
Compatibility
omitempty). Existing producers/consumers are unaffected; acluster running the old CRD never sets the field. No API break, no conversion.
Generated artifacts
Regenerated alongside the type change and included in this commit:
artifacts/k8s.cni.cncf.io_ipamclaims.yaml(CRD)pkg/crd/ipamclaims/v1alpha1/zz_generated.deepcopy.go(Re-run
make generatebefore pushing if your toolchain version differs, to confirm aclean diff.)
Reviewer note (mirrors the existing
IPsfield)The field intentionally parallels
Status.IPsin shape (a[]stringof CIDRs) and inits comment, so the persistence semantics are obvious by analogy.
Summary by CodeRabbit
New Features
Bug Fixes