Comment 3 for bug 1075971

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

Reviewed: https://review.openstack.org/189632
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=0283234e837d9faf807e6e8da6ec6321ee56b31a
Submitter: Jenkins
Branch: master

commit 0283234e837d9faf807e6e8da6ec6321ee56b31a
Author: Nikola Dipanov <email address hidden>
Date: Tue Jun 9 10:05:14 2015 +0100

    libvirt: Always default device names at boot

    Up until now, libvirt would default it's own device names unless they
    were specified by the user at boot. This could lead to inconsistencies,
    so the soft approach was to discourage users from passing in explicit
    device names, by documenting the fact that they will not be honoured,
     but not override them.

    It turns out that this approach causes more trouble, especially when we
    add attaching volumes into the mix. So the approach now is to make
    libvirt _always_ override what is passed in. That way even if the user
    specifies a device name, the attach will not fail due to a device name
    collision (a common problem - see related bug), and Nova book keeping
    will match what we can see in the instance on most OSes.

    In order to get there we now make sure boot starts acting like that
    before we switch attach_volume over too, so that there is consistent
    behavior.

    Also - make tests for defaulting device names more realistic as they now
    actually run the code instead of just making sure the right methods get
    called.

    UpgradeImpact: After this commit, supplying a device name for any of
    the block devices specified as part of the `nova boot` call will not be
    honoured by any libvirt compute nodes.

    Change-Id: I76a7cfd995db6c04f7af48ff8c9acdd55750ed76
    Related-bug: #1075971