Live migration fails as get_instance_disk_info is not present in the compute driver base class

Bug #1358719 reported by Alessandro Pilotti
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Medium
Alessandro Pilotti
Icehouse
Fix Released
Medium
Alessandro Pilotti

Bug Description

The "get_instance_disk_info" driver has been added to the libvirt compute driver in the following commit:

https://github.com/openstack/nova/commit/e4974769743d5967626c1f0415113683411a03a4

This caused regression failures on drivers that do not implement it, e.g.:

http://paste.openstack.org/show/97258/

The method has been subsequently added to the base class which, but raising a NotImplementedError(), which still causes the regression:

https://github.com/openstack/nova/commit/2bed16c89356554a193a111d268a9587709ed2f7

Changed in nova:
importance: Undecided → Medium
status: New → Triaged
description: updated
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/115276

Changed in nova:
assignee: nobody → Alessandro Pilotti (alexpilotti)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to nova (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/115406

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

Reviewed: https://review.openstack.org/115276
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=9c9e44e111abafde1e05a5e38f7e1645ec8ba6df
Submitter: Jenkins
Branch: master

commit 9c9e44e111abafde1e05a5e38f7e1645ec8ba6df
Author: Alessandro Pilotti <email address hidden>
Date: Tue Aug 19 15:46:51 2014 +0300

    Adds get_instance_disk_info to compute drivers

    Solves a live migration regression issue by adding the
    get_instance_disk_info to the compute drivers that do not
    have it already implemented.

    The method is called by the compute manager.

    Change-Id: If5cd9a6f5948c08ef5f1cba2eda31f1175709137
    Closes-Bug: #1358719
    Co-Authored-By: Ionut Balutoiu <email address hidden>

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

Fix proposed to branch: stable/icehouse
Review: https://review.openstack.org/116272

Thierry Carrez (ttx)
Changed in nova:
milestone: none → juno-3
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to nova (master)

Reviewed: https://review.openstack.org/115406
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=269e27356c5cc70249d0419cb0e6e5449632a2b9
Submitter: Jenkins
Branch: master

commit 269e27356c5cc70249d0419cb0e6e5449632a2b9
Author: Matt Riedemann <email address hidden>
Date: Mon Aug 18 18:42:06 2014 -0700

    Add test for get_instance_disk_info to test_virt_drivers

    Commit 2bed16c89356554a193a111d268a9587709ed2f7 added
    get_instance_disk_info to the base ComputeDriver class
    but didn't add a test for it in test_virt_drivers, so
    it's added here.

    This also fixes the wrong method signature in the fake
    virt driver.

    Note that this wouldn't have found the problem for the
    hyperv or vmware drivers due to bug 1209421.

    Change-Id: I5765720d8c3e0a7962b493fa49359514f3136544
    Related-Bug: #1358719

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

Reviewed: https://review.openstack.org/116272
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=21551885f56d05b16785129b6c2995b1ab22cc76
Submitter: Jenkins
Branch: stable/icehouse

commit 21551885f56d05b16785129b6c2995b1ab22cc76
Author: Alessandro Pilotti <email address hidden>
Date: Tue Aug 19 15:46:51 2014 +0300

    Adds get_instance_disk_info to compute drivers

    Solves a live migration regression issue by adding the
    get_instance_disk_info to the compute drivers that do not
    have it already implemented.

    The method is called by the compute manager.

    Change-Id: If5cd9a6f5948c08ef5f1cba2eda31f1175709137
    Closes-Bug: #1358719
    Co-Authored-By: Ionut Balutoiu <email address hidden>
    (cherry picked from commit 9c9e44e111abafde1e05a5e38f7e1645ec8ba6df)

tags: added: in-stable-icehouse
Thierry Carrez (ttx)
Changed in nova:
milestone: juno-3 → 2014.2
Revision history for this message
Charlotte Han (hanrong) wrote :

This modification cause code duplicates. There is a empty function of get_instance_disk_info in every driver of the xenapi, hyperv and vmwareapi.

I think we can add this empty function of get_instance_disk_info to their base class of ComputeDriver in nova/virt/driver.py.

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.