# # VMware Compute MigrateOps template # Rules: # 1) Replace all client references consistently: # - config.system_name # - migrateops_vmware_compute.compute.vm_name # - operations[].name # - cleanup targeting must use the source VM from the current user request only # 1a) Default CMC migration sequence for any specified machine: # - clean up CDC project state for that machine (remove stale/offline registration context) # - reinstall CMC Linux on that machine # - then perform migration setup/create # 2) Verify integration_name is valid in the target CDC project before creating operation. # 3) Default access node is "atvm-linux-h2h": # - VM must be powered on in vCenter # - CMC must be installed/connected in the same CDC project # 4) Source NIC must be discovered from the source client (do not assume ens192). # 5) Preflight checks before create: # - confirm source VM power state in vCenter first; power on before IP discovery/SSH steps # - destination vm_name must not already exist # - datastore/host/network names must resolve in vCenter # - source client + access node must both be connected in same CDC project # - use only standard vCenter credentials/session for vCenter actions # (do not use 192.168.3.190 for vCenter actions; reserved for Cypress ATVM automation) # - IP handling policy: # * 192.168.0.201 is vCenter only # * 192.168.3.190 is ATVM automation only # * 192.168.3.191 is default ATVM target reference # * any other VM IP must be read live from vCenter for the current run only # and must not be retained/reused as a future default # 6) Post-submit approval behavior (default): # - start monitoring as soon as operation create succeeds # - auto-approve cutover immediately when final-synchronization requests approval # - only use manual approval if explicitly requested by user # - patience rule while monitoring: # * if heartbeat/progress is advancing, keep waiting and do not intervene # * allow longer wait windows for helper VM deploy/registration-related steps # * intervene only on terminal failure, confirmed blocker, or prolonged no-progress # 7) Post-migration validation and cleanup behavior (default): # - verify SSH login to the newly migrated VM first (using vCenter guest IP) # - if vCenter guest IP is initially empty, keep polling until available; do not skip login validation # - never report run completion before destination login validation is recorded # - only target the newly migrated VM for cleanup, never the source VM # - resolve and compare source/destination VM IDs; abort cleanup if IDs match # - prompt user for confirmation before power-off + delete of migrated VM # - prompt user even if they did not explicitly ask for deletion in same request # - never delete destination VM without explicit user confirmation in that run # - archive the completed MigrateOps operation after migration reaches terminal state # - mandatory: run global offline-host cleanup at end of successful runbook # even if source host is offline (remove all offline CMC host records) # - if source/helper entries are still connected in CDC, disconnect first # (for example uninstall CMC on source/helper or power off/delete helper VM), # then rerun offline-host cleanup until source/helper entries are removed # - if CDC still shows source/helper as connected but last_checkin is stale after # source/helper are already powered off/deleted, wait for heartbeat timeout and # rerun offline-host cleanup in a loop until those entries are removed # - verify source host + helper host stale/offline duplicates from this run are removed # - verify helper CMC host entries from the run are removed # (e.g. migrateops--) # - if helper entry remains, ensure helper VM is absent/powered off and rerun offline cleanup # - mandatory: remove the source VM from the current request from CDC host list during cleanup # (do not reuse source VM names from prior runs) # - mandatory post-run reporting: always include a read-only status listing for # source VM, destination VM, access node, and helper VM across both CDC and vCenter # with explicit present/cleaned-up state # - do not report run completion until cleanup verification is done and destination VM # deletion is either completed or explicitly skipped by user decision # - default autonomous behavior for every run: # * always perform login validation + archive + offline-host cleanup automatically # * always prompt user before deleting destination VM and record explicit keep/delete decision # operations: - recipe: "MIGRATEOPS_VMWARE_COMPUTE" config: migrateops_vmware_compute: access_node: system_name: "atvm-linux-h2h" compute: datastore: "AutomatedTest-VMBootImgComputeMigration-Gold" host: "192.168.1.165" datacenter: "CDSHQ-Eng" vm_name: "atvm-codextest-vm-migrated" migration: qos_level: "RELENTLESS" auto_resync_interval: "600s" cmchelper: network: "VM Network" ip_config: use_static_ip: true address: "192.168.3.195/22" dns_servers: - "8.8.8.8" gateway: "192.168.0.1" content_library: "vc-cmchelper" template_name: "vc-cmchelper-vm" install_via_access_node: true network: adapters: - network: "VM Network" # Must be discovered from source host via SSH before create. source_nic: "REPLACE_WITH_SOURCE_NIC" transfer_ip: true transfer_mac: false adapter_type: "VMXNET3" keep_source_powered_on: false system_name: "atvm-codextest-vm" integration_name: "vCenter201" name: "atvm-codextest-vm" notes: ""