Instances recovered after failed migrations enter error state (hyper-v)

Bug #1841411 reported by Lucian Petrut on 2019-08-26
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Medium
Lucian Petrut
Queens
Undecided
Unassigned
Rocky
Undecided
Unassigned
Stein
Undecided
Lucian Petrut
compute-hyperv
Undecided
Lucian Petrut

Bug Description

Most users expect that if a live migration fails but the instance is fully recovered, it shouldn't enter 'error' state. Setting the migration status to 'error' should be enough. This simplifies debugging, making it clear that the instance dosn't have to be manually recovered.

This patch changed this behavior, indirectly affecting the Hyper-V driver, which propagates migration errors: Idfdce9e7dd8106af01db0358ada15737cb846395

When using the Hyper-V driver, instances enter error state even after successful recoveries. We may copy the Libvirt driver behavior and avoid propagating exceptions in this case.

tags: added: hyper-v

Fix proposed to branch: master
Review: https://review.opendev.org/678481

Changed in nova:
assignee: nobody → Lucian Petrut (petrutlucian94)
status: New → In Progress
Changed in compute-hyperv:
status: New → In Progress
assignee: nobody → Lucian Petrut (petrutlucian94)
Matt Riedemann (mriedem) on 2019-08-27
summary: - Instances recovered after failed migrations enter error state
+ Instances recovered after failed migrations enter error state (hyper-v)
tags: added: live-migration
Changed in nova:
importance: Undecided → Medium
no longer affects: nova/ocata
no longer affects: nova/pike

Reviewed: https://review.opendev.org/678480
Committed: https://git.openstack.org/cgit/openstack/compute-hyperv/commit/?id=a721681e6111d85264e20085d1f184d1c923b69e
Submitter: Zuul
Branch: master

commit a721681e6111d85264e20085d1f184d1c923b69e
Author: Lucian Petrut <email address hidden>
Date: Mon Aug 26 10:28:37 2019 +0300

    Avoid error state for recovered instances after failed migrations

    Most users expect that if a live migration fails but the instance
    is fully recovered, it shouldn't enter 'error' state. Setting
    the migration status to 'error' should be enough. This simplifies
    debugging, making it clear that the instance dosn't have to be
    manually recovered.

    This patch changed this behavior, indirectly affecting the Hyper-V
    driver: Idfdce9e7dd8106af01db0358ada15737cb846395

    We'll stop propagating exceptions when managing to recover the
    instance, which matches the reference driver (libvirt) behavior.

    Change-Id: I4b667c06e008b03457d35ce9c920b916d21c255f
    Closes-Bug: 1841411

Changed in compute-hyperv:
status: In Progress → Fix Released

Reviewed: https://review.opendev.org/680349
Committed: https://git.openstack.org/cgit/openstack/compute-hyperv/commit/?id=ba406564030d834353a8a1899c8520e522aa39fe
Submitter: Zuul
Branch: stable/stein

commit ba406564030d834353a8a1899c8520e522aa39fe
Author: Lucian Petrut <email address hidden>
Date: Mon Aug 26 10:28:37 2019 +0300

    Avoid error state for recovered instances after failed migrations

    Most users expect that if a live migration fails but the instance
    is fully recovered, it shouldn't enter 'error' state. Setting
    the migration status to 'error' should be enough. This simplifies
    debugging, making it clear that the instance dosn't have to be
    manually recovered.

    This patch changed this behavior, indirectly affecting the Hyper-V
    driver: Idfdce9e7dd8106af01db0358ada15737cb846395

    We'll stop propagating exceptions when managing to recover the
    instance, which matches the reference driver (libvirt) behavior.

    Change-Id: I4b667c06e008b03457d35ce9c920b916d21c255f
    Closes-Bug: 1841411
    (cherry picked from commit a721681e6111d85264e20085d1f184d1c923b69e)

This issue was fixed in the openstack/compute-hyperv 9.0.0.0rc1 release candidate.

Reviewed: https://review.opendev.org/678481
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=12b361f0b44f3d34899982b643482228044d3d86
Submitter: Zuul
Branch: master

commit 12b361f0b44f3d34899982b643482228044d3d86
Author: Lucian Petrut <email address hidden>
Date: Mon Aug 26 10:49:22 2019 +0300

    Avoid error state for recovered instances after failed migrations

    Most users expect that if a live migration fails but the instance
    is fully recovered, it shouldn't enter 'error' state. Setting
    the migration status to 'error' should be enough. This simplifies
    debugging, making it clear that the instance dosn't have to be
    manually recovered.

    This patch changed this behavior, indirectly affecting the Hyper-V
    driver: Idfdce9e7dd8106af01db0358ada15737cb846395

    We'll stop propagating exceptions when managing to recover the
    instance, which matches the reference driver (libvirt) behavior.

    Change-Id: I16c200ebf0a996865ddce5688434e9c9ad69e331
    Closes-Bug: 1841411

Changed in nova:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers