← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1842956] [NEW] Nova ironic driver: instance stuck in error despite successful rebuild

 

Public bug reported:

Reproduce:
nova boot once
then nova rebuild: trigger an error during a first rebuild -> instance goes in error state, fine
then normal nova rebuild: if ironic succeeds, instance is still stuck in error state
while having a fully functional baremetal bound to it, so instance Status should be reset to ACTIVE

Root cause:
nova.virt.ironic.driver:IronicDriver._wait_for_active

if (instance.task_state == task_states.DELETING or
            instance.vm_state in (vm_states.ERROR, vm_states.DELETED)):
            raise exception.InstanceDeployFailure(
                _("Instance %s provisioning was aborted") % instance.uuid)

Rebuild considered aborted, but it's not the case.
So the vm state stays in error.

Solutions:
1. Update vm state to ACTIVE right at the driver.rebuild beginning
or
2. def _wait_for_active: Except vm_states.ERROR and task_states.REBUILD_SPAWNING case

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1842956

Title:
  Nova ironic driver: instance stuck in error despite successful rebuild

Status in OpenStack Compute (nova):
  New

Bug description:
  Reproduce:
  nova boot once
  then nova rebuild: trigger an error during a first rebuild -> instance goes in error state, fine
  then normal nova rebuild: if ironic succeeds, instance is still stuck in error state
  while having a fully functional baremetal bound to it, so instance Status should be reset to ACTIVE

  Root cause:
  nova.virt.ironic.driver:IronicDriver._wait_for_active

  if (instance.task_state == task_states.DELETING or
              instance.vm_state in (vm_states.ERROR, vm_states.DELETED)):
              raise exception.InstanceDeployFailure(
                  _("Instance %s provisioning was aborted") % instance.uuid)

  Rebuild considered aborted, but it's not the case.
  So the vm state stays in error.

  Solutions:
  1. Update vm state to ACTIVE right at the driver.rebuild beginning
  or
  2. def _wait_for_active: Except vm_states.ERROR and task_states.REBUILD_SPAWNING case

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1842956/+subscriptions