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" <[email protected]>:
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 : [email protected]
Vorsitzende des Aufsichtsrates: Angelika Mozdzen
Sitz und Registergericht: Hamburg, HRB 90934
Vorstand: Jens-U. Mozdzen
USt-IdNr. DE 814 013 983
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev