feat: cross-node migration API surface (restore annotation, spec.nodeName, Migrating phase)#3
Open
tonicmuroq wants to merge 3 commits into
Open
feat: cross-node migration API surface (restore annotation, spec.nodeName, Migrating phase)#3tonicmuroq wants to merge 3 commits into
tonicmuroq wants to merge 3 commits into
Conversation
Operator->vk-cocoon signal: a freshly created pod flagged with vm.cocoonstack.io/restore-from-hibernate restores its VM from the :hibernate snapshot (cross-node migration) instead of cloning from the base image. Adds the key plus a ReadRestoreFromHibernate reader.
Empty leaves scheduler placement within NodePool untouched; a value is translated operator-side into a hostname nodeAffinity (Pending if it won't fit) rather than a hard NodeName bind. Regenerates the CocoonSet CRD.
Status phase the operator sets during a cross-node migration so the control plane can poll progress; back to Running when the VM is settled on the target.
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.
Shared API surface for cross-node VM migration (
client.migrate(vmname, node)). This is the contract the operator and vk-cocoon build on, so merge this first —vk-cocoonandcocoon-operatorpin commits from this branch via go.mod pseudo-versions and will bump to the release tag once this lands.Commits
restore-from-hibernateannotation key +ReadRestoreFromHibernatereader — operator→vk signal that a freshly created pod restores its VM from the:hibernatesnapshot instead of cloning from the base image.CocoonSetSpec.NodeName+ regenerated CRD — pins a VM to a node; empty leaves scheduler placement alone, a value becomes a hostname nodeAffinity (operator side).CocoonSetPhaseMigratingenum — status phase the operator surfaces during a migration so the control plane can poll.Notes
make manifests.make lintclean on GOOS=linux and GOOS=darwin.Part of cross-node migrate (cocoon side). Companion PRs: vk-cocoon (restore path), cocoon-operator (affinity + migration state machine).