VM Migration Failure Which Results the VM in "ERROR" State

Problem

Post live migration of VM, the Nova API/DB shows the VM status as ERROR, although the VM continues running successfully on the target hypervisor.

Environment

  • Private Cloud Director Virtualization - v2025.4 and Higher
  • Self-Hosted Private Cloud Director Virtualization - v2025.4 and Higher
  • Componen: Compute Service

Cause

This issue occurs due to inconsistencies between the Nova database and the actual hypervisor state during/after migration. Different underlying issues can cause this problem. Below are the common causes:

  • Stale file locks on storage volumes.
  • Database state mismatch between Nova conductor and compute host.
  • Scheduler exceptions (e.g., NoValidHost) after migration completes.

Diagnostics

  1. Stale file locks on storage volumes
  • Migration fails with volume/lock errors.
  • The /var/log/pf9/ostackhost.log from the source compute host:
ostackhost.log
Copy
  • Confirm Cinder volume status:
Management Plane
Copy
  1. Database state mismatch between Nova and hypervisor
  • The openstack server show reports ERROR or wrong hypervisor, but VM is running on a different host.
  • The /var/log/pf9/ostackhost.log from the source compute host:
ostackhost.log
Copy
  • Check Nova DB entry vs actual hypervisor:
Command
Copy
  • Verify if the VM is running on the above mentioned hypervisor and its state:
On Host
Copy

For Self-Hosted Private Cloud Director only

  1. Scheduler exceptions (e.g., NoValidHost) after migration
  • Migration logs show NoValidHost, but VM still boots/migrates at the hypervisor level.
  • The nova-scheduler logs :
Management Plane
Copy

Resolution

To restore consistency and recover the VM:

  • Set the VM state to Active
Bash
Copy
  • Start the VM:
Bash
Copy

Validation

  • Confirm the VM is now in ACTIVE state:
Management Plane
Copy
  • Ensure it is hosted correctly:
Management Plane
Copy

Additional Information

  • This procedure is safe: it resets Nova’s recorded state without modifying VM disk or memory.
  • Always validate using virsh command that the VM is running before resetting state.
  • For frequent issues, investigate root causes in Nova conductor, scheduler, and Cinder logs.
VariableType to search · ESC to discard
GlossaryType to search · ESC to discard
InsertType to search · ESC to discard
No matches