lxd container initialization failed when booting from block device (lvm)
* ubutnu server 16.04 lts
** nova-compute-lxd 14.0.0-0ubuntu1~cloud0
** python-nova-lxd 14.0.0-0ubuntu1~cloud0
Test steps:
1. Create volume from image eg. https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-root.tar.gz
2. Start LXD instance from that volume
Result:
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [req-9225eff7-0bc0-488e-aa26-f3961f5e57ae 3a3320729a2346a0ae4f44d122fc0c2c bae1c166a41547c289fe7ae077272648 - - -] [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] Instance failed to spawn
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] Traceback (most recent call last):
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2078, in _build_resources
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] yield resources
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1920, in _build_and_run_instance
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] block_device_info=block_device_info)
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] File "/usr/lib/python2.7/dist-packages/nova/virt/lxd/driver.py", line 274, in spawn
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] self.setup_image(context, instance, image_meta)
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] File "/usr/lib/python2.7/dist-packages/nova/virt/lxd/driver.py", line 1177, in setup_image
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] container_utils.get_container_rootfs_image(image_meta)
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] File "/usr/lib/python2.7/dist-packages/nova/virt/lxd/utils.py", line 30, in get_container_rootfs_image
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] return os.path.join(BASE_DIR, '%s-rootfs.tar.gz' % image_meta.id)
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] File "/usr/lib/python2.7/dist-packages/oslo_versionedobjects/base.py", line 67, in getter
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] self.obj_load_attr(name)
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] File "/usr/lib/python2.7/dist-packages/oslo_versionedobjects/base.py", line 632, in obj_load_attr
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] _("Cannot load '%s' in the base class") % attrname)
2016-11-18 12:20:58.308 20325 ERROR nova.compute.manager [instance: dab08366-e4a8-43ad-9f6c-9434d1a2ee26] NotImplementedError: Cannot load 'id' in the base class
This is a known gap in the nova-lxd driver; it could be handled more elegantly.