Seen on 5.1.
nova always fails if booting like:
nova boot --flavor m1.medium --block-device source=volume,id=48c4d00d-10f1-4475-ad85-44337453d6cc,shutdown=preserve,bootindex=0 --nic net-id=68eb008f-9ba0-4003-b432-9c6c37d5a3b3 --config-drive=true instance
With same parameters, booting from image (--image) works fine. Booting from a volume using --boot-volume works also fine.
From nova-all we have [1]
From cinder-all [2]
[1]
<179>Nov 12 11:50:27 node-1 nova-scheduler 2014-11-12 11:50:27.274 1958 ERROR nova.scheduler.filter_scheduler [req-fd0019ed-58d6-46e2-b5b1-513f851c413f None] [instance: 250df9d0-66b8-40be-9f08-a25f1d53a955] Error from last host: node-3 (node node-3): [u'Traceback (most recent call last):\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1305, in _build_instance\n set_access_ip=set_access_ip)\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 393, in decorated_function\n return function(self, context, *args, **kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1717, in _spawn\n LOG.exception(_(\'Instance failed to spawn\'), instance=instance)\n', u' File "/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, in __exit__\n six.reraise(self.type_, self.value, self.tb)\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1714, in _spawn\n block_device_info)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2267, in spawn\n block_device_info)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3672, in _create_domain_and_network\n power_on=power_on)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3574, in _create_domain\n domain.XMLDesc(0))\n', u' File "/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, in __exit__\n six.reraise(self.type_, self.value, self.tb)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3569, in _create_domain\n domain.createWithFlags(launch_flags)\n', u' File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 179, in doit\n result = proxy_call(self._autowrap, f, *args, **kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 139, in proxy_call\n rv = execute(f,*args,**kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 77, in tworker\n rv = meth(*args,**kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/libvirt.py", line 896, in createWithFlags\n if ret == -1: raise libvirtError (\'virDomainCreateWithFlags() failed\', dom=self)\n', u"libvirtError: Failed to open file '/var/lib/nova/instances/250df9d0-66b8-40be-9f08-a25f1d53a955/disk': No such file or directory\n"]
<182>Nov 12 11:50:27 node-1 nova-scheduler 2014-11-12 11:50:27.292 1958 INFO nova.scheduler.filter_scheduler [req-fd0019ed-58d6-46e2-b5b1-513f851c413f None] Choosing host WeighedHost [host: node-5, weight: 1.0] for instance 250df9d0-66b8-40be-9f08-a25f1d53a955
<182>Nov 12 11:50:31 node-1 nova-scheduler 2014-11-12 11:50:31.007 1958 INFO nova.scheduler.filter_scheduler [req-fd0019ed-58d6-46e2-b5b1-513f851c413f None] Attempting to build 1 instance(s) uuids: [u'250df9d0-66b8-40be-9f08-a25f1d53a955']
<179>Nov 12 11:50:31 node-1 nova-scheduler 2014-11-12 11:50:31.013 1958 ERROR nova.scheduler.filter_scheduler [req-fd0019ed-58d6-46e2-b5b1-513f851c413f None] [instance: 250df9d0-66b8-40be-9f08-a25f1d53a955] Error from last host: node-5 (node node-5): [u'Traceback (most recent call last):\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1305, in _build_instance\n set_access_ip=set_access_ip)\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 393, in decorated_function\n return function(self, context, *args, **kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1717, in _spawn\n LOG.exception(_(\'Instance failed to spawn\'), instance=instance)\n', u' File "/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, in __exit__\n six.reraise(self.type_, self.value, self.tb)\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1714, in _spawn\n block_device_info)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2267, in spawn\n block_device_info)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3672, in _create_domain_and_network\n power_on=power_on)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3574, in _create_domain\n domain.XMLDesc(0))\n', u' File "/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, in __exit__\n six.reraise(self.type_, self.value, self.tb)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3569, in _create_domain\n domain.createWithFlags(launch_flags)\n', u' File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 179, in doit\n result = proxy_call(self._autowrap, f, *args, **kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 139, in proxy_call\n rv = execute(f,*args,**kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 77, in tworker\n rv = meth(*args,**kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/libvirt.py", line 896, in createWithFlags\n if ret == -1: raise libvirtError (\'virDomainCreateWithFlags() failed\', dom=self)\n', u"libvirtError: Failed to open file '/var/lib/nova/instances/250df9d0-66b8-40be-9f08-a25f1d53a955/disk': No such file or directory\n"]
<182>Nov 12 11:50:31 node-1 nova-scheduler 2014-11-12 11:50:31.024 1958 INFO nova.scheduler.filter_scheduler [req-fd0019ed-58d6-46e2-b5b1-513f851c413f None] Choosing host WeighedHost [host: node-4, weight: 1.0] for instance 250df9d0-66b8-40be-9f08-a25f1d53a955
<182>Nov 12 11:50:34 node-1 nova-scheduler 2014-11-12 11:50:34.380 1958 INFO nova.scheduler.filter_scheduler [req-fd0019ed-58d6-46e2-b5b1-513f851c413f None] Attempting to build 1 instance(s) uuids: [u'250df9d0-66b8-40be-9f08-a25f1d53a955']
<179>Nov 12 11:50:34 node-1 nova-scheduler 2014-11-12 11:50:34.382 1958 ERROR nova.scheduler.filter_scheduler [req-fd0019ed-58d6-46e2-b5b1-513f851c413f None] [instance: 250df9d0-66b8-40be-9f08-a25f1d53a955] Error from last host: node-4 (node node-4): [u'Traceback (most recent call last):\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1305, in _build_instance\n set_access_ip=set_access_ip)\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 393, in decorated_function\n return function(self, context, *args, **kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1717, in _spawn\n LOG.exception(_(\'Instance failed to spawn\'), instance=instance)\n', u' File "/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, in __exit__\n six.reraise(self.type_, self.value, self.tb)\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1714, in _spawn\n block_device_info)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2267, in spawn\n block_device_info)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3672, in _create_domain_and_network\n power_on=power_on)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3574, in _create_domain\n domain.XMLDesc(0))\n', u' File "/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, in __exit__\n six.reraise(self.type_, self.value, self.tb)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3569, in _create_domain\n domain.createWithFlags(launch_flags)\n', u' File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 179, in doit\n result = proxy_call(self._autowrap, f, *args, **kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 139, in proxy_call\n rv = execute(f,*args,**kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 77, in tworker\n rv = meth(*args,**kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/libvirt.py", line 896, in createWithFlags\n if ret == -1: raise libvirtError (\'virDomainCreateWithFlags() failed\', dom=self)\n', u"libvirtError: Failed to open file '/var/lib/nova/instances/250df9d0-66b8-40be-9f08-a25f1d53a955/disk': No such file or directory\n"]
<180>Nov 12 11:50:34 node-1 nova-scheduler 2014-11-12 11:50:34.385 1958 WARNING nova.scheduler.utils [req-fd0019ed-58d6-46e2-b5b1-513f851c413f None] Failed to scheduler_run_instance: No valid host was found. Exceeded max scheduling attempts 3 for instance 250df9d0-66b8-40be-9f08-a25f1d53a955
<180>Nov 12 11:50:34 node-1 nova-scheduler 2014-11-12 11:50:34.389 1958 WARNING nova.scheduler.utils [req-fd0019ed-58d6-46e2-b5b1-513f851c413f None] [instance: 250df9d0-66b8-40be-9f08-a25f1d53a955] Setting instance to ERROR state.
[2]
<158>Nov 12 11:50:21 node-1 cinder-api 2014-11-12 11:50:21.756 11510 INFO cinder.api.openstack.wsgi [req-6ca3146c-aec1-481d-88b5-0b70ce55d093 a4482efcf8b84ef6be9393dfd150f387 a63e920ac1dc45e6acd7f4f624752cc7 - - -] GET http://172.16.0.2:8776/v1/a63e920ac1dc45e6acd7f4f624752cc7/volumes/0b5122cb-978b-4236-b80f-cbee8b5e0b77
<156>Nov 12 11:50:21 node-1 cinder-api 2014-11-12 11:50:21.855 11510 AUDIT cinder.api.v1.volumes [req-6ca3146c-aec1-481d-88b5-0b70ce55d093 a4482efcf8b84ef6be9393dfd150f387 a63e920ac1dc45e6acd7f4f624752cc7 - - -] vol={'migration_status': None, 'availability_zone': u'nova', 'terminated_at': None, 'updated_at': datetime.datetime(2014, 11, 11, 10, 51, 26), 'provider_geometry': None, 'snapshot_id': None, 'ec2_id': None, 'mountpoint': None, 'deleted_at': None, 'id': u'0b5122cb-978b-4236-b80f-cbee8b5e0b77', 'size': 1L, 'user_id': u'a4482efcf8b84ef6be9393dfd150f387', 'attach_time': None, 'attached_host': None, 'display_description': u'', 'volume_admin_metadata': [<cinder.db.sqlalchemy.models.VolumeAdminMetadata object at 0x43d6bd0>], 'encryption_key_id': None, 'project_id': u'a63e920ac1dc45e6acd7f4f624752cc7', 'launched_at': datetime.datetime(2014, 11, 7, 14, 11, 53), 'scheduled_at': datetime.datetime(2014, 11, 7, 14, 11, 49), 'status': u'available', 'volume_type_id': None, 'deleted': False, 'provider_location': u'192.168.1.1:3260,1 iqn.2010-10.org.openstack:volume-0b5122cb-978b-4236-b80f-cbee8b5e0b77 1', 'host': u'node-1', 'source_volid': None, 'provider_auth': u'CHAP 47RqL3JLHxDw3fHwYpS6 E4JybY2Pdckk3kunU7va', 'display_name': u'', 'instance_uuid': None, 'bootable': True, 'created_at': datetime.datetime(2014, 11, 7, 14, 11, 47), 'attach_status': u'detached', 'volume_type': None, '_name_id': None, 'volume_metadata': [], 'metadata': {u'readonly': u'False'}}
<158>Nov 12 11:50:22 node-1 cinder-api 2014-11-12 11:50:22.043 11510 INFO cinder.api.openstack.wsgi [req-6ca3146c-aec1-481d-88b5-0b70ce55d093 a4482efcf8b84ef6be9393dfd150f387 a63e920ac1dc45e6acd7f4f624752cc7 - - -] http://172.16.0.2:8776/v1/a63e920ac1dc45e6acd7f4f624752cc7/volumes/0b5122cb-978b-4236-b80f-cbee8b5e0b77 returned with HTTP 200
<158>Nov 12 11:50:22 node-1 cinder-api 2014-11-12 11:50:22.062 11510 INFO eventlet.wsgi.server [req-6ca3146c-aec1-481d-88b5-0b70ce55d093 a4482efcf8b84ef6be9393dfd150f387 a63e920ac1dc45e6acd7f4f624752cc7 - - -] 192.168.0.1 - - [12/Nov/2014 11:50:22] "GET /v1/a63e920ac1dc45e6acd7f4f624752cc7/volumes/0b5122cb-978b-4236-b80f-cbee8b5e0b77 HTTP/1.1" 200 1131 1.192192
<158>Nov 12 11:50:22 node-1 cinder-api 2014-11-12 11:50:22.304 11510 INFO eventlet.wsgi.server [-] (11510) accepted ('192.168.0.1', 59275)
<158>Nov 12 11:50:22 node-1 cinder-api 2014-11-12 11:50:22.307 11510 INFO cinder.api.openstack.wsgi [req-7159a924-506e-4ac3-bf11-06aec59d79b5 a4482efcf8b84ef6be9393dfd150f387 a63e920ac1dc45e6acd7f4f624752cc7 - - -] GET http://172.16.0.2:8776/v1/a63e920ac1dc45e6acd7f4f624752cc7/volumes/0b5122cb-978b-4236-b80f-cbee8b5e0b77
<156>Nov 12 11:50:22 node-1 cinder-api 2014-11-12 11:50:22.337 11510 AUDIT cinder.api.v1.volumes [req-7159a924-506e-4ac3-bf11-06aec59d79b5 a4482efcf8b84ef6be9393dfd150f387 a63e920ac1dc45e6acd7f4f624752cc7 - - -] vol={'migration_status': None, 'availability_zone': u'nova', 'terminated_at': None, 'updated_at': datetime.datetime(2014, 11, 11, 10, 51, 26), 'provider_geometry': None, 'snapshot_id': None, 'ec2_id': None, 'mountpoint': None, 'deleted_at': None, 'id': u'0b5122cb-978b-4236-b80f-cbee8b5e0b77', 'size': 1L, 'user_id': u'a4482efcf8b84ef6be9393dfd150f387', 'attach_time': None, 'attached_host': None, 'display_description': u'', 'volume_admin_metadata': [<cinder.db.sqlalchemy.models.VolumeAdminMetadata object at 0x55e4350>], 'encryption_key_id': None, 'project_id': u'a63e920ac1dc45e6acd7f4f624752cc7', 'launched_at': datetime.datetime(2014, 11, 7, 14, 11, 53), 'scheduled_at': datetime.datetime(2014, 11, 7, 14, 11, 49), 'status': u'available', 'volume_type_id': None, 'deleted': False, 'provider_location': u'192.168.1.1:3260,1 iqn.2010-10.org.openstack:volume-0b5122cb-978b-4236-b80f-cbee8b5e0b77 1', 'host': u'node-1', 'source_volid': None, 'provider_auth': u'CHAP 47RqL3JLHxDw3fHwYpS6 E4JybY2Pdckk3kunU7va', 'display_name': u'', 'instance_uuid': None, 'bootable': True, 'created_at': datetime.datetime(2014, 11, 7, 14, 11, 47), 'attach_status': u'detached', 'volume_type': None, '_name_id': None, 'volume_metadata': [], 'metadata': {u'readonly': u'False'}}
<158>Nov 12 11:50:22 node-1 cinder-api 2014-11-12 11:50:22.437 11510 INFO cinder.api.openstack.wsgi [req-7159a924-506e-4ac3-bf11-06aec59d79b5 a4482efcf8b84ef6be9393dfd150f387 a63e920ac1dc45e6acd7f4f624752cc7 - - -] http://172.16.0.2:8776/v1/a63e920ac1dc45e6acd7f4f624752cc7/volumes/0b5122cb-978b-4236-b80f-cbee8b5e0b77 returned with HTTP 200
<158>Nov 12 11:50:22 node-1 cinder-api 2014-11-12 11:50:22.452 11510 INFO eventlet.wsgi.server [req-7159a924-506e-4ac3-bf11-06aec59d79b5 a4482efcf8b84ef6be9393dfd150f387 a63e920ac1dc45e6acd7f4f624752cc7 - - -] 192.168.0.1 - - [12/Nov/2014 11:50:22] "GET /v1/a63e920ac1dc45e6acd7f4f624752cc7/volumes/0b5122cb-978b-4236-b80f-cbee8b5e0b77 HTTP/1.1" 200 1131 0.147559
Apparently, you just need to add "dest=volume" to --block-device value in order to tell Nova to generate the correct XML for libvirt.
Something like:
nova boot --flavor m1.medium --block-device source= volume, id=48c4d00d- 10f1-4475- ad85-44337453d6 cc,shutdown= preserve, dest=volume, bootindex= 0 --nic net-id= 68eb008f- 9ba0-4003- b432-9c6c37d5a3 b3 --config-drive=true instance
should work like a charm