Public bug reported: When a request is made to boot an instance from a volume and a volume is passed in as part of the request, rather than an image to have Nova create a volume from, the image id is not passed down as part of the build request. The boot_meta dict created in compute/api.py does not store an 'id' key/value in the dict so when it eventually gets down to the virt layer and the dict is converted to an object the 'id' attribute can not be accessed. This causes a failure within the xenapi driver.
2015-09-16 13:02:00.481 24755 DEBUG nova.virt.xenapi.vmops [req-14839809--53d088b99b2d dbf01adba9b245369ba32a46d93fdf5f 5930474 - - -] [instance: 897942e0] Updating progress to 10 _update_instance_progress /opt/rackstack/rackstack.381.6/nova/lib/python2.7/site-packages/nova/virt/xenapi/vmops.py:1017 2015-09-16 13:02:00.696 24755 ERROR nova.utils [req-14839809--53d088b99b2d dbf01adba9b245369ba32a46d93fdf5f 5930474 - - -] [instance: 897942e0] Failed to spawn, rolling back 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] Traceback (most recent call last): 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] File "/opt/rackstack/rackstack.381.6/nova/lib/python2.7/site-packages/nova/virt/xenapi/vmops.py", line 657, in _spawn 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] name_label) 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] File "/opt/rackstack/rackstack.381.6/nova/lib/python2.7/site-packages/nova/virt/xenapi/vmops.py", line 212, in inner 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] rv = f(*args, **kwargs) 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] File "/opt/rackstack/rackstack.381.6/nova/lib/python2.7/site-packages/nova/virt/xenapi/vmops.py", line 492, in create_disks_step 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] image_meta.id, disk_image_type, 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] File "/opt/rackstack/rackstack.381.6/nova/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 66, in getter 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] self.obj_load_attr(name) 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] File "/opt/rackstack/rackstack.381.6/nova/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 555, in obj_load_attr 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] _("Cannot load '%s' in the base class") % attrname) 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] NotImplementedError: Cannot load 'id' in the base class 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] ** Affects: nova Importance: Undecided Assignee: Andrew Laski (alaski) Status: In Progress -- 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/1496557 Title: xenapi boot from volume is broken after move to ImageMeta object if volume passed in Status in OpenStack Compute (nova): In Progress Bug description: When a request is made to boot an instance from a volume and a volume is passed in as part of the request, rather than an image to have Nova create a volume from, the image id is not passed down as part of the build request. The boot_meta dict created in compute/api.py does not store an 'id' key/value in the dict so when it eventually gets down to the virt layer and the dict is converted to an object the 'id' attribute can not be accessed. This causes a failure within the xenapi driver. 2015-09-16 13:02:00.481 24755 DEBUG nova.virt.xenapi.vmops [req-14839809--53d088b99b2d dbf01adba9b245369ba32a46d93fdf5f 5930474 - - -] [instance: 897942e0] Updating progress to 10 _update_instance_progress /opt/rackstack/rackstack.381.6/nova/lib/python2.7/site-packages/nova/virt/xenapi/vmops.py:1017 2015-09-16 13:02:00.696 24755 ERROR nova.utils [req-14839809--53d088b99b2d dbf01adba9b245369ba32a46d93fdf5f 5930474 - - -] [instance: 897942e0] Failed to spawn, rolling back 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] Traceback (most recent call last): 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] File "/opt/rackstack/rackstack.381.6/nova/lib/python2.7/site-packages/nova/virt/xenapi/vmops.py", line 657, in _spawn 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] name_label) 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] File "/opt/rackstack/rackstack.381.6/nova/lib/python2.7/site-packages/nova/virt/xenapi/vmops.py", line 212, in inner 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] rv = f(*args, **kwargs) 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] File "/opt/rackstack/rackstack.381.6/nova/lib/python2.7/site-packages/nova/virt/xenapi/vmops.py", line 492, in create_disks_step 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] image_meta.id, disk_image_type, 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] File "/opt/rackstack/rackstack.381.6/nova/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 66, in getter 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] self.obj_load_attr(name) 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] File "/opt/rackstack/rackstack.381.6/nova/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 555, in obj_load_attr 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] _("Cannot load '%s' in the base class") % attrname) 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] NotImplementedError: Cannot load 'id' in the base class 2015-09-16 13:02:00.696 24755 ERROR nova.utils [instance: 897942e0] To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1496557/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp