Instance enters error state in case of unavailable live migration destinations

Bug #1694636 reported by Lucian Petrut
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Low
jichenjc
compute-hyperv
Fix Released
Low
Lucian Petrut

Bug Description

We check whether shared storage is used before live migrating instances. If the vm disks storage location is unavailable, we'll propagate an OSError instead of a MigrationPreCheckError exception. For this reason, we prevent Nova from trying a different compute node.

Trace: http://paste.openstack.org/show/611003/

tags: added: hyper-v
Revision history for this message
jichenjc (jichenjc) wrote :

not sure this is a hyper-v only issue, maybe add a exception propagate at compute layer as this is 'check' function so should be no harm

Changed in nova:
assignee: nobody → jichenjc (jichenjc)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

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

Changed in nova:
status: New → In Progress
Changed in nova:
importance: Undecided → Low
Changed in compute-hyperv:
importance: Undecided → Low
Changed in nova:
assignee: jichenjc (jichenjc) → Lucian Petrut (petrutlucian94)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to compute-hyperv (master)

Reviewed: https://review.openstack.org/478846
Committed: https://git.openstack.org/cgit/openstack/compute-hyperv/commit/?id=27a02a70bc76c038c8e30a8f114f258b5cdc02fd
Submitter: Jenkins
Branch: master

commit 27a02a70bc76c038c8e30a8f114f258b5cdc02fd
Author: Lucian Petrut <email address hidden>
Date: Thu Jun 29 13:08:22 2017 +0300

    Raise MigrationPreCheckError if instance location is unavailable

    At the moment, when doing the live migration precheck on the
    destination, if the source or destination instance location are
    not available, an OSError will be raised.

    We need to catch it and throw a MigrationPreCheckError instead
    so that we allow a different destination to be used.

    Closes-Bug: 1694636

    Change-Id: I3286c32ca205ffd2d5d1aaab88cc96699476e410

Changed in compute-hyperv:
status: New → Fix Released
Changed in nova:
assignee: Lucian Petrut (petrutlucian94) → jichenjc (jichenjc)
Changed in nova:
assignee: jichenjc (jichenjc) → Matt Riedemann (mriedem)
Matt Riedemann (mriedem)
Changed in nova:
assignee: Matt Riedemann (mriedem) → jichenjc (jichenjc)
Changed in compute-hyperv:
assignee: nobody → Lucian Petrut (petrutlucian94)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/469779
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=cb565d9baddf8799e36f5b37df4a365baf8d4cd4
Submitter: Zuul
Branch: master

commit cb565d9baddf8799e36f5b37df4a365baf8d4cd4
Author: jichenjc <email address hidden>
Date: Sat Aug 19 05:48:30 2017 +0800

    propagate OSError to MigrationPreCheckError

    OSError will lead instance to ERROR state, change to
    MigrationPreCheckError will make the instance status not changed.

    Also, modify some test cases to make unit test easier

    Closes-Bug: 1694636

    Change-Id: I3286c32ca205ffd2d5d1aaab88cc96699476e410

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/515330

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 17.0.0.0b2

This issue was fixed in the openstack/nova 17.0.0.0b2 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/pike)

Reviewed: https://review.openstack.org/515330
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=ae9860774e7831bd82e94522220eccec47ffd1f0
Submitter: Zuul
Branch: stable/pike

commit ae9860774e7831bd82e94522220eccec47ffd1f0
Author: jichenjc <email address hidden>
Date: Sat Aug 19 05:48:30 2017 +0800

    propagate OSError to MigrationPreCheckError

    OSError will lead instance to ERROR state, change to
    MigrationPreCheckError will make the instance status not changed.

    Also, modify some test cases to make unit test easier

    Closes-Bug: 1694636

    Change-Id: I3286c32ca205ffd2d5d1aaab88cc96699476e410
    (cherry picked from commit cb565d9baddf8799e36f5b37df4a365baf8d4cd4)

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 16.1.0

This issue was fixed in the openstack/nova 16.1.0 release.

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.