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

Reply via email to