InstanceNotFound exception during check_instance_exists on instance evacuation

Bug #1667040 reported by Steven Webster on 2017-02-22
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Medium
Stephen Finucane
Ocata
Medium
Matt Riedemann

Bug Description

Description
===========
During instance evacuation to a new destination node, the InstanceNotFound exception is seen when check_instance_exists is called during the rebuild.

check_instance_exists is making sure the instance does _not_ exist, with the intent that an exception will be raised if the instance does already exist on a destination node.

The libvirt driver's instance_exists currently catches the InternalError exception, but not the InstanceNotFound exception.

I believe this only affects the libvirt instance_exists implementation.

Steps to reproduce
==================
On a multi node libvirt/kvm system:

1. launch an instance on compute A
2. kill compute A nova-compute process
3. evacuate the instance on compute A

Environment
===========
1. Openstack release: Ocata + devstack

2. Which hypervisor did you use?
   Libvirt + KVM
   What's the version of that?

2. Which storage type did you use?
   LVM

3. Which networking type did you use?
   Neutron with OpenVSwitch

Fix proposed to branch: master
Review: https://review.openstack.org/437061

Changed in nova:
assignee: nobody → Stephen Finucane (stephenfinucane)
status: New → In Progress
Matt Riedemann (mriedem) on 2017-03-03
tags: added: libvirt ocata-backport-potential

Reviewed: https://review.openstack.org/437061
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=434a953190647c398160ca815e7ce3c0796fc5a4
Submitter: Jenkins
Branch: master

commit 434a953190647c398160ca815e7ce3c0796fc5a4
Author: Stephen Finucane <email address hidden>
Date: Wed Feb 22 13:02:47 2017 -0500

    libvirt: Handle InstanceNotFound exception

    In 'ad1c7ac2', we stopped returning NovaException from certain libvirt
    operations in favour of more specific exception types. Unfortunately, as
    part of this changeover we missed an exception type. Correct this
    oversight.

    Change-Id: I376ebda6c4626df8be2e827bc735116a90528654
    Resolves-bug: #1667040

Changed in nova:
status: In Progress → Fix Released
Matt Riedemann (mriedem) on 2017-03-03
Changed in nova:
importance: Undecided → Medium

Reviewed: https://review.openstack.org/441458
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=a71833131bf513a2c410254e4173f10922a29471
Submitter: Jenkins
Branch: stable/ocata

commit a71833131bf513a2c410254e4173f10922a29471
Author: Stephen Finucane <email address hidden>
Date: Wed Feb 22 13:02:47 2017 -0500

    libvirt: Handle InstanceNotFound exception

    In 'ad1c7ac2', we stopped returning NovaException from certain libvirt
    operations in favour of more specific exception types. Unfortunately, as
    part of this changeover we missed an exception type. Correct this
    oversight.

    Change-Id: I376ebda6c4626df8be2e827bc735116a90528654
    Resolves-bug: #1667040
    (cherry picked from commit 434a953190647c398160ca815e7ce3c0796fc5a4)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers