Updating the topology

Repeat the path you just finished for more sources, more OpenShift clusters, and larger waves. Launch the same AAP templates. This is not a cluster autoscaler.

When you are done, the inventory lists every hypervisor and destination you care about, AAP has those hosts, and you can run providers, maps, and waves per pair. There is no separate scale playbook.

What actually repeats

The collection scales by more inventory hosts and more launches, not by a workflow that fans out every pair for you.

More sources or clusters

Add hosts in the inventory (Building your inventory). Copy from the inventory sample (ocp-staging and extra vm_sources hosts are commented there).

  • One vm_sources host per vCenter or RHV.

  • One migration_clusters host per OpenShift API.

  • On each cluster, vm_sources is the list of source host names that cluster may migrate. A source missing from that list fails provider and maps.

  • aap_hosts on a cluster names which migration_aap host seeds it.

Then run Seeding Ansible Automation Platform again (vmf_seed_aap) so AAP inventory and credentials match the file. Seed does not install AAP.

Each new pair still needs MTV Ready on that cluster (OpenShift) before providers.

Limit the destination

vmf_mtv_maps runs on migration_clusters but only when inventory_hostname equals target_name. vmf_mtv_plans runs on every host in migration_clusters unless you limit it.

When the inventory has several clusters:

  • On OpenShift Virtualization Migration - MTV Plans, set the job limit to the migration_clusters host.

  • Always pass source_name and target_name for provider and maps (AAP survey).

Larger waves

Do not put an entire datacenter in one Plan CR.

  • Select VMs with vms and/or VMware folders.

  • Set split_plans: true and vms_per_plan (default 10 when splitting) so MTV and the source stay within capacity.

  • Use a dedicated target_namespace (and matching map namespaces) per tenant or wave if projects should stay isolated.

  • Start, verify, and archive each plan from a split wave.

Warm (type: warm) still needs Cutover per plan. Cutover is not scheduled for you.

What this collection does not do

  • No job template or workflow that loops every source–target pair in one click.

  • No migrate playbook that starts MTV (vmf_migrate.yml logs the survey values and exits).

  • No validate_migration or archive automation — those stay in the OpenShift console.

Per-VM Ansible during a plan is mtv_hook_invoke_aap (MTV hooks). That is not a substitute for splitting waves.

If a second pair fails

  • Source not in the cluster’s vm_sources list — fix the inventory and seed again.

  • source_name / target_name do not match host names — same names as in the inventory file.

  • Plans hit every cluster — you omitted the AAP job limit on MTV Plans.

  • One huge plan saturates VDDK or storage — lower vms_per_plan and split.

  • New cluster has no MTV — OpenShift first.

When you are done

You can add the next pair or the next wave with the same templates. Role details are in Automation reference.