[openstack-dev] Launch of an instance from a bootable volume fails on Xen env
Eugen Block
eblock at nde.ag
Thu Mar 24 11:03:38 UTC 2016
Hi,
> Has this been resolved? Is anyone working on this issue?
I had traced down the effect and found a possible solution, see
https://bugs.launchpad.net/nova/+bug/1560965
If you're just trying to start via Horizon, changing
/srv/www/openstack-dashboard/openstack_dashboard/dashboards/project/instances/workflows/create_instance.py ought to fix this for
you:
---cut here---
control1:/srv/www/openstack-dashboard/openstack_dashboard/dashboards/project/instances/workflows # diff -u5 create_instance.py.dist
create_instance.py
--- create_instance.py.dist 2016-03-18 10:40:51.123942306 +0100
+++ create_instance.py 2016-03-24 11:49:00.404537704 +0100
@@ -119,11 +119,11 @@
help_text=_("Volume size in gigabytes "
"(integer value)."))
device_name = forms.CharField(label=_("Device Name"),
required=False,
- initial="vda",
+ initial="",
help_text=_("Volume mount point
(e.g. 'vda' "
"mounts at '/dev/vda'). Leave "
"this field blank to let the "
"system choose a device name "
"for you."))
@@ -878,20 +878,23 @@
dev_source_type_mapping = {
'volume_id': 'volume',
'volume_snapshot_id': 'snapshot'
}
dev_mapping_2 = [
- {'device_name': device_name,
+ {
'source_type': dev_source_type_mapping[source_type],
'destination_type': 'volume',
'delete_on_termination':
bool(context['delete_on_terminate']),
'uuid': volume_source_id,
'boot_index': '0',
'volume_size': context['volume_size']
}
]
+ if device_name:
+ dev_mapping_2.append({"device_name": device_name})
+
else:
dev_mapping_1 = {context['device_name']: '%s::%s' %
(context['source_id'],
bool(context['delete_on_terminate']))
}
@@ -900,20 +903,22 @@
exceptions.handle(request, msg)
elif source_type == 'volume_image_id':
device_name = context.get('device_name', '').strip() or None
dev_mapping_2 = [
- {'device_name': device_name, # None auto-selects device
+ {
'source_type': 'image',
'destination_type': 'volume',
'delete_on_termination':
bool(context['delete_on_terminate']),
'uuid': context['source_id'],
'boot_index': '0',
'volume_size': context['volume_size']
}
]
+ if device_name:
+ dev_mapping_2.append({"device_name": device_name})
netids = context.get('network_id', None)
if netids:
nics = [{"net-id": netid, "v4-fixed-ip": ""}
for netid in netids]
---cut here---
I'm not aware which side effects this change can have. I started a
similar thread in the mailing list this week
http://lists.openstack.org/pipermail/openstack-dev/2016-March/090009.html
Regards,
Eugen
Zitat von "Benjamin, Arputham" <arputham.benjamin at bluecoat.com>:
> Launch of an instance from a bootable volume fails on Xen env.
> The root cause of this issue is that Nova is mapping the disk_dev
> /disk_bus to vda/virtio
> instead of xvda/xen. (Below is the session output showing the launch error)
>
> Has this been resolved? Is anyone working on this issue?
>
> Thanks,
> Benjamin
>
> 016-03-08 15:07:51.430 3070 INFO nova.virt.block_device
> [req-b5033c12-196f-411e-8b19-6d15b1e7a5b8
> 976963ca04df48c79f0c87ff7a330d47 310cb58241964e0a92bc939ec1c6a0ff -
> - -] [instance: d45a5b7b-314f-4bfa-893d-3498e04f04fa] Booting with
> volume 1d33ba84-9ce2-467d-97c5-973a7ed48456 at /dev/vda
> 2016-03-08 15:07:55.863 3070 INFO nova.virt.libvirt.driver
> [req-b5033c12-196f-411e-8b19-6d15b1e7a5b8
> 976963ca04df48c79f0c87ff7a330d47 310cb58241964e0a92bc939ec1c6a0ff -
> - -] [instance: d45a5b7b-314f-4bfa-893d-3498e04f04fa] Creating image
> 2016-03-08 15:07:55.864 3070 WARNING nova.virt.libvirt.driver
> [req-b5033c12-196f-411e-8b19-6d15b1e7a5b8
> 976963ca04df48c79f0c87ff7a330d47 310cb58241964e0a92bc939ec1c6a0ff -
> - -] [instance: d45a5b7b-314f-4bfa-893d-3498e04f04fa] File injection
> into a boot from volume instance is not supported
> 2016-03-08 15:08:01.430 3070 INFO nova.compute.resource_tracker
> [req-4ac03ab4-f8f6-4141-b96d-2968e9664c35 - - - - -] Auditing
> locally available compute resources for node compute.openstack.com
> 2016-03-08 15:08:02.164 3070 ERROR nova.virt.libvirt.driver
> [req-b5033c12-196f-411e-8b19-6d15b1e7a5b8
> 976963ca04df48c79f0c87ff7a330d47 310cb58241964e0a92bc939ec1c6a0ff -
> - -] Error launching a defined domain with XML: <domain type='xen'>
> <name>instance-0000006c</name>
> <uuid>d45a5b7b-314f-4bfa-893d-3498e04f04fa</uuid>
> <metadata>
> <nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0">
> <nova:package version="2015.1.1-1.el7"/>
> <nova:name>bv-vivid-server</nova:name>
> <nova:creationTime>2016-03-08 23:07:55</nova:creationTime>
> <nova:flavor name="m1.small">
> <nova:memory>2048</nova:memory>
> <nova:disk>20</nova:disk>
> <nova:swap>0</nova:swap>
> <nova:ephemeral>0</nova:ephemeral>
> <nova:vcpus>1</nova:vcpus>
> </nova:flavor>
> <nova:owner>
> <nova:user uuid="976963ca04df48c79f0c87ff7a330d47">admin</nova:user>
> <nova:project
> uuid="310cb58241964e0a92bc939ec1c6a0ff">admin</nova:project>
> </nova:owner>
> </nova:instance>
> </metadata>
> <memory unit='KiB'>2097152</memory>
> <currentMemory unit='KiB'>2097152</currentMemory>
> <vcpu placement='static'>1</vcpu>
> <os>
> <type arch='x86_64' machine='xenfv'>hvm</type>
> <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
> <boot dev='hd'/>
> </os>
> <features>
> <acpi/>
> <apic/>
> <pae/>
> </features>
> <clock offset='utc'/>
> <on_poweroff>destroy</on_poweroff>
> <on_reboot>restart</on_reboot>
> <on_crash>destroy</on_crash>
> <devices>
> <disk type='block' device='disk'>
> <driver name='phy' type='raw' cache='none'/>
> <source
> dev='/dev/disk/by-path/ip-10.9.85.121:3260-iscsi-iqn.2010-10.org.openstack:volume-1d33ba84-9ce2-467d-97c5-973a7ed48456-lun-0'/>
> <target dev='vda' bus='virtio'/>
> <serial>1d33ba84-9ce2-467d-97c5-973a7ed48456</serial>
> </disk>
> <interface type='bridge'>
> <mac address='fa:16:3e:e1:96:b8'/>
> <source bridge='qbr9fa07fc0-ba'/>
> <target dev='tap9fa07fc0-ba'/>
> </interface>
> <serial type='pty'>
> <target port='0'/>
> </serial>
> <console type='pty'>
> <target type='serial' port='0'/>
> </console>
> <input type='tablet' bus='usb'/>
> <input type='mouse' bus='ps2'/>
> <input type='keyboard' bus='ps2'/>
> <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'
> keymap='en-us'>
> <listen type='address' address='0.0.0.0'/>
> </graphics>
> <video>
> <model type='cirrus' vram='8192' heads='1'/>
> </video>
> <memballoon model='xen'>
> <stats period='10'/>
> </memballoon>
> </devices>
> </domain>
>
> 2016-03-08 15:08:02.167 3070 ERROR nova.compute.manager
> [req-b5033c12-196f-411e-8b19-6d15b1e7a5b8
> 976963ca04df48c79f0c87ff7a330d47 310cb58241964e0a92bc939ec1c6a0ff -
> - -] [instance: d45a5b7b-314f-4bfa-893d-3498e04f04fa] Instance
> failed to spawn
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] Traceback (most recent call
> last):
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] File
> "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line
> 2461, in _build_resources
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] yield resources
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] File
> "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line
> 2333, in _build_and_run_instance
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa]
> block_device_info=block_device_info)
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] File
> "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line
> 2385, in spawn
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa]
> block_device_info=block_device_info)
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] File
> "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line
> 4403, in _create_domain_and_network
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] power_on=power_on)
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] File
> "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line
> 4334, in _create_domain
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] LOG.error(err)
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] File
> "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 85,
> in __exit__
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] six.reraise(self.type_,
> self.value, self.tb)
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] File
> "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line
> 4324, in _create_domain
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa]
> domain.createWithFlags(launch_flags)
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] File
> "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 183, in
> doit
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] result =
> proxy_call(self._autowrap, f, *args, **kwargs)
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] File
> "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 141, in
> proxy_call
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] rv = execute(f, *args,
> **kwargs)
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] File
> "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 122, in
> execute
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] six.reraise(c, e, tb)
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] File
> "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 80, in
> tworker
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] rv = meth(*args, **kwargs)
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] File
> "/usr/lib64/python2.7/site-packages/libvirt.py", line 1059, in
> createWithFlags
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] if ret == -1: raise
> libvirtError ('virDomainCreateWithFlags() failed', dom=self)
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa] libvirtError: internal error:
> libxenlight failed to create new domain 'instance-0000006c'
> 2016-03-08 15:08:02.167 3070 TRACE nova.compute.manager [instance:
> d45a5b7b-314f-4bfa-893d-3498e04f04fa]
> 2016-03-08 15:08:02.170 3070 INFO nova.compute.manager
> [req-b5033c12-196f-411e-8b19-6d15b1e7a5b8
> 976963ca04df48c79f0c87ff7a330d47 310cb58241964e0a92bc939ec1c6a0ff -
> - -] [instance: d45a5b7b-314f-4bfa-893d-3498e04f04fa] Terminating
> instance
> 2016-03-08 15:08:02.184 3070 INFO nova.virt.libvirt.driver [-]
> [instance: d45a5b7b-314f-4bfa-893d-3498e04f04fa] Instance destroyed
> successfully.
--
Eugen Block voice : +49-40-559 51 75
NDE Netzdesign und -entwicklung AG fax : +49-40-559 51 77
Postfach 61 03 15
D-22423 Hamburg e-mail : eblock at nde.ag
Vorsitzende des Aufsichtsrates: Angelika Mozdzen
Sitz und Registergericht: Hamburg, HRB 90934
Vorstand: Jens-U. Mozdzen
USt-IdNr. DE 814 013 983
More information about the OpenStack-dev
mailing list