Skip to content

feat(mtv-warm-cutover): add warm migration cutover#19

Open
stevefulme1 wants to merge 1 commit intoredhat-cop:mainfrom
stevefulme1:feat/warm-migration-cutover
Open

feat(mtv-warm-cutover): add warm migration cutover#19
stevefulme1 wants to merge 1 commit intoredhat-cop:mainfrom
stevefulme1:feat/warm-migration-cutover

Conversation

@stevefulme1
Copy link
Copy Markdown

Summary

  • Adds new mtv_warm_cutover role and playbook to finish warm migrations by triggering the cutover phase
  • Patches the Forklift Migration resource's spec.cutover with a timestamp to initiate the final CBT sync, source VM shutdown, and target VM boot
  • Supports targeting migrations by name, label selector, or plan name
  • Optional wait-for-completion with configurable retries/delay
  • Verifies migration succeeded after cutover completes
  • Companion to MFG-214 (PR feat(mtv-migrate): add warm migration plan support #18) which creates the warm migration plan

Resolves

MFG-216 — Finish warm migration step

Usage

mtv_warm_cutover_request:
  # By plan name
  - namespace: openshift-mtv
    plan_name: vmware-host-20260407-0800

  # By specific migration names with scheduled cutover
  - namespace: openshift-mtv
    names:
      - vmware-host-20260407-abc12
    cutover: "2026-04-07T02:00:00Z"

  # By label selector - immediate cutover
  - namespace: openshift-mtv
    label_selectors:
      - migration-batch=wave-1

Test plan

  • Verify yamllint passes (confirmed)
  • Verify ansible-lint --offline passes production profile (confirmed — 0 failures)
  • Integration: trigger cutover on an active warm migration by name
  • Integration: trigger cutover by plan name
  • Integration: verify cutover with scheduled timestamp
  • Integration: verify wait-for-completion detects success/failure
  • Verify already-cutover migrations are rejected gracefully

🤖 Generated with Claude Code

Add a new role and playbook to trigger cutover on active warm
migrations. Patches the Migration resource with a cutover timestamp
to initiate the final CBT sync, source VM shutdown, and target VM
boot. Supports targeting by migration name, label selector, or
plan name, with optional wait-for-completion verification.

Resolves: MFG-216

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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