Migration troubleshooting

Instance migration issues include migration process errors, indefinite execution, and post-migration performance degradation.

Errors during migration

The following issues can send the migration operation into an error state:

  • The Compute service is shutting down.
  • A race condition occurs.

When live migration enters a failed state, it is typically followed by an error state. The following common issues can cause a failed state:

  • A destination Compute host is not available.
  • A scheduler exception occurs.
  • The rebuild process fails due to insufficient computing resources.
  • A server group check fails.
  • The instance on the source Compute node gets deleted before migration to the destination Compute node is complete.

Never-ending live migration

Live migrations are left in a perpetual running state when they fail to complete, which can occur when requests from the guest operating system to the instance running on the source Compute node create changes that occur faster than the Compute service can replicate them to the destination Compute node.

Use one of the following methods to address this situation:

  • Abort the live migration.
  • Force the live migration to complete.

Abort a live migration

If the instance state changes faster than the migration procedure can copy it to the destination node, and you do not want to temporarily suspend the instance operations, you can abort the live migration.

Procedure

  1. Access the remote shell for the OpenStackClient pod from your workstation:
    $ oc rsh -n openstack openstackclient
  2. Retrieve the list of migrations for the instance:
    $ openstack server migration list --server <instance>

    Replace <instance> with the name or ID of the instance.

  3. Abort the live migration:
    $ openstack server migration abort <instance> <migration_id>
    • Replace <instance> with the name or ID of the instance.
    • Replace <migration_id> with the ID of the migration.
  4. Exit the OpenStackClient pod:
    $ exit

Force a live migration to complete

If the instance state changes faster than the migration procedure can copy it to the destination node, and you want to temporarily suspend the instance operations to force migration to complete, you can force the live migration procedure to complete.

About this task

Important
Forcing live migration to complete might lead to perceptible downtime.

Procedure

  1. Access the remote shell for the OpenStackClient pod from your workstation:
    $ oc rsh -n openstack openstackclient
  2. Retrieve the list of migrations for the instance:
    $ openstack server migration list --server <instance>

    Replace <instance> with the name or ID of the instance.

  3. Force the live migration to complete:
    $ openstack server migration force complete <instance> <migration_id>
    • Replace <instance> with the name or ID of the instance.
    • Replace <migration_id> with the ID of the migration.
  4. Exit the OpenStackClient pod:
    $ exit