← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1532165] [NEW] Rebuild of Volume-backed VM can get any Image name

 

Public bug reported:

When a VM is booted from Volume it gets no Image Name/Reference.
However, when such a Volume-booted VM is being rebuild > user is obligated to specify an Image to use for rebuild.
Regardless of which Image was selected on this step > the Instance is being rebuild with the 'old' root volume and that is a desired and expected behavior in that case. The problem is that user-selected Image name will now appear in the VM Metadata Section (in Horizon) as the Image name.

So, if the user selected a "wrong" Image (or if Image used to create a
Volume simply does not exist anymore) > this would provide  misleading
information further on.

This is more like a usability issue, and perhaps, not that bad in a
small envs, but with hundreds of VMs it all becomes messy and
misleading.

For visual demonstration please see the attached screenshots.


Desired:
the very best option I think is not to ask user to specify an image for Rebuild if VM was booted from a Volume (maybe make field selection optional?). Or, at least, do not add Image Name/Reference to VM Metadata after Rebuild if that is a Volume-backed Instance.


1. Running Liberty on CentOS 7.1.1503:

Versions:
openstack-nova 1:12.0.0-1.el7;
openstack-nova-api 1:12.0.0-1.el7;
python-novaclient 1:2.30.1-1.el7;

openstack-cinder 1:7.0.0-1.el7;
python-cinderclient 1.4.0-1.el7;

openstack-dashboard 1:8.0.0-1.el7


2. Setup:

One Controller node with Nova-Api, Keystone, Glance, Cinder, Horizon.
Two Compute nodes with NO shared storage.

(Cinder configured with LVM/iSCSI.)


3. Steps to reproduce:

a) Start any VM that will boot from Volume.

b) Notice that it's Image Name = 'None' (in DB its 'image_ref' field
will be empty; in Horizon it is shown as '-')

c) Initiate a Rebuild of that VM and select any Image (can be any other
than the one that was used for volume creation)

d) Observe the results in Horizon or/and DB.

All the steps can be done either in Horizon or via CLI. In order to
reset the image reference one should update manually a record in the DB.


The following Bug seems to point out the same thing, but was marked as incomplete: https://bugs.launchpad.net/nova/+bug/1482040 

Hopefully, this description clears the things up.

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: image rebuild volumes

** Attachment added: "How it looks in Horizon"
   https://bugs.launchpad.net/bugs/1532165/+attachment/4546226/+files/Image_name_on_rebuilt_volume_based_VM.jpg

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1532165

Title:
  Rebuild of Volume-backed VM can get any Image name

Status in OpenStack Compute (nova):
  New

Bug description:
  When a VM is booted from Volume it gets no Image Name/Reference.
  However, when such a Volume-booted VM is being rebuild > user is obligated to specify an Image to use for rebuild.
  Regardless of which Image was selected on this step > the Instance is being rebuild with the 'old' root volume and that is a desired and expected behavior in that case. The problem is that user-selected Image name will now appear in the VM Metadata Section (in Horizon) as the Image name.

  So, if the user selected a "wrong" Image (or if Image used to create a
  Volume simply does not exist anymore) > this would provide  misleading
  information further on.

  This is more like a usability issue, and perhaps, not that bad in a
  small envs, but with hundreds of VMs it all becomes messy and
  misleading.

  For visual demonstration please see the attached screenshots.

  
  Desired:
  the very best option I think is not to ask user to specify an image for Rebuild if VM was booted from a Volume (maybe make field selection optional?). Or, at least, do not add Image Name/Reference to VM Metadata after Rebuild if that is a Volume-backed Instance.

  
  1. Running Liberty on CentOS 7.1.1503:

  Versions:
  openstack-nova 1:12.0.0-1.el7;
  openstack-nova-api 1:12.0.0-1.el7;
  python-novaclient 1:2.30.1-1.el7;

  openstack-cinder 1:7.0.0-1.el7;
  python-cinderclient 1.4.0-1.el7;

  openstack-dashboard 1:8.0.0-1.el7

  
  2. Setup:

  One Controller node with Nova-Api, Keystone, Glance, Cinder, Horizon.
  Two Compute nodes with NO shared storage.

  (Cinder configured with LVM/iSCSI.)

  
  3. Steps to reproduce:

  a) Start any VM that will boot from Volume.

  b) Notice that it's Image Name = 'None' (in DB its 'image_ref' field
  will be empty; in Horizon it is shown as '-')

  c) Initiate a Rebuild of that VM and select any Image (can be any
  other than the one that was used for volume creation)

  d) Observe the results in Horizon or/and DB.

  All the steps can be done either in Horizon or via CLI. In order to
  reset the image reference one should update manually a record in the
  DB.

  
  The following Bug seems to point out the same thing, but was marked as incomplete: https://bugs.launchpad.net/nova/+bug/1482040 

  Hopefully, this description clears the things up.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1532165/+subscriptions