Comment 4 for bug 1356534

Revision history for this message
Mike Dorman (mdorman-m) wrote :

Here are some further details, and how to reproduce.

Steps to reproduce:

- Run nova-compute with force_config_drive off (not that =False doens't work, see https://bugs.launchpad.net/nova/+bug/1244725 )

- Create a VM (which does not have a config drive) For reference, here is the libvirt.xml file generated:

<domain type="kvm">
  <uuid>8a0042a8-adb9-4cca-9b67-9e61708cbd04</uuid>
  <name>instance-000005f5</name>
  <memory>1048576</memory>
  <vcpu>1</vcpu>
  <sysinfo type="smbios">
    <system>
      <entry name="manufacturer">OpenStack Foundation</entry>
      <entry name="product">OpenStack Nova</entry>
      <entry name="version">2014.1.2</entry>
      <entry name="serial">44454c4c-5000-104a-8036-c3c04f484d31</entry>
      <entry name="uuid">8a0042a8-adb9-4cca-9b67-9e61708cbd04</entry>
    </system>
  </sysinfo>
  <os>
    <type>hvm</type>
    <boot dev="hd"/>
    <smbios mode="sysinfo"/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <clock offset="utc">
    <timer name="pit" tickpolicy="delay"/>
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="hpet" present="no"/>
  </clock>
  <cpu mode="host-model" match="exact"/>
  <devices>
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2" cache="none"/>
      <source file="/var/lib/nova/instances/8a0042a8-adb9-4cca-9b67-9e61708cbd04/disk"/>
      <target bus="virtio" dev="vda"/>
    </disk>
    <interface type="bridge">
      <mac address="fa:16:3e:e2:d3:4f"/>
      <model type="virtio"/>
      <source bridge="qbre29bb8dd-e3"/>
      <target dev="tape29bb8dd-e3"/>
    </interface>
    <serial type="file">
      <source path="/var/lib/nova/instances/8a0042a8-adb9-4cca-9b67-9e61708cbd04/console.log"/>
    </serial>
    <serial type="pty"/>
    <input type="tablet" bus="usb"/>
    <graphics type="spice" autoport="yes" keymap="en-us" listen="10.224.52.4"/>
    <video>
      <model type="qxl"/>
    </video>
  </devices>
</domain>

- Now configure force_config_drive=True for nova-compute

- Stop the VM that was created earlier

- Start the VM. This will fail, and the libvirt.xml file now looks like the following (with the addition of the disk.config cdrom device.

<domain type="kvm">
  <uuid>8a0042a8-adb9-4cca-9b67-9e61708cbd04</uuid>
  <name>instance-000005f5</name>
  <memory>1048576</memory>
  <vcpu>1</vcpu>
  <sysinfo type="smbios">
    <system>
      <entry name="manufacturer">OpenStack Foundation</entry>
      <entry name="product">OpenStack Nova</entry>
      <entry name="version">2014.1.2</entry>
      <entry name="serial">44454c4c-5000-104a-8036-c3c04f484d31</entry>
      <entry name="uuid">8a0042a8-adb9-4cca-9b67-9e61708cbd04</entry>
    </system>
  </sysinfo>
  <os>
    <type>hvm</type>
    <boot dev="hd"/>
    <smbios mode="sysinfo"/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <clock offset="utc">
    <timer name="pit" tickpolicy="delay"/>
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="hpet" present="no"/>
  </clock>
  <cpu mode="host-model" match="exact"/>
  <devices>
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2" cache="none"/>
      <source file="/var/lib/nova/instances/8a0042a8-adb9-4cca-9b67-9e61708cbd04/disk"/>
      <target bus="virtio" dev="vda"/>
    </disk>
    <disk type="file" device="cdrom">
      <driver name="qemu" type="raw" cache="none"/>
      <source file="/var/lib/nova/instances/8a0042a8-adb9-4cca-9b67-9e61708cbd04/disk.config"/>
      <target bus="ide" dev="hdd"/>
    </disk>
    <interface type="bridge">
      <mac address="fa:16:3e:e2:d3:4f"/>
      <model type="virtio"/>
      <source bridge="qbre29bb8dd-e3"/>
      <target dev="tape29bb8dd-e3"/>
    </interface>
    <serial type="file">
      <source path="/var/lib/nova/instances/8a0042a8-adb9-4cca-9b67-9e61708cbd04/console.log"/>
    </serial>
    <serial type="pty"/>
    <input type="tablet" bus="usb"/>
    <graphics type="spice" autoport="yes" keymap="en-us" listen="10.224.52.4"/>
    <video>
      <model type="qxl"/>
    </video>
  </devices>
</domain>

I'll attach an expanded snippet from nova-compute.log which shows everything leading up to the error.