DennisKonrad opened a new issue #3089: VMs with invalid IDE configuration when 
using Solidfire as primary storage
URL: https://github.com/apache/cloudstack/issues/3089
 
 
   ### Description
   ##### _ISSUE TYPE_
    * Bug Report
   
   ##### _COMPONENT NAME_
   Domain XML with multiple disks attached using Solidfire primary storage
   
   ##### _CLOUDSTACK VERSION_
   Master branch
   
   ##### _OS / ENVIRONMENT_
   Solidfire primary storage
   
   ##### _SUMMARY_
   Example:
   When we select "Windows Server 2016 (64-bit)" as OS Type for an W2K16 cd 
image the resulting
   VMs will not start with multiple disks attached. This is due to the usage of 
_**multiple IDE interfaces in the VM description XML**_.
   
   It seems this is not just a problem with this OS Type but with the way the 
domain XMLs are generated when using solidfire storage.
   
   This _**only happens when the disks are on Solidfire primary storage**_. We 
confirmed that using NFS primary storage this is not the case.
   
   ##### STEPS TO REPRODUCE
   Try to use boot a VM with at least two disks on solidfire primary storage. 
Depending on the OS-Type
   that is selected for the image that was used to create the VM, the domain 
xml generated may be invalid.
   
   In our case we tested this with a W2K16 vm which will not start when using 
OS Type "Windows Server 2016 (64-bit)". **_Libvirt does not boot the machine_** 
and raise the following error message:
   
   `org.libvirt.LibvirtException: unsupported configuration: Only a single IDE 
controller is supported for this machine type`
   
   
   ### Logs & Attachments
   Here you can see two excerpts from the generated domain xmls. First the 
working one (NFS) and below that the one not working (Solidfire).
   
   ##### NFS Primary Storage
   
       <disk type='file' device='disk'>
         <driver name='qemu' type='qcow2' cache='none'/>
         <source 
file='/mnt/e0e5ba2b-15bc-3fd8-a010-40a404c3cdfc/2f4ddade-b93e-47c5-b97f-b738f395d9e1'/>
         <backingStore/>
         <target dev='hda' bus='ide'/>
         <alias name='ide0-0-0'/>
         <address type='drive' controller='0' bus='0' target='0' unit='0'/>
       </disk>
       <disk type='file' device='cdrom'>
         <driver name='qemu' type='raw'/>
         <source 
file='/mnt/43c36bb7-1d8d-3405-b9b8-ddd402ef7913/215-34-015cecb6-7c65-3a37-80da-fde928458db4.iso'/>
         <backingStore/>
         <target dev='hdc' bus='ide'/>
         <readonly/>
         <alias name='ide0-1-0'/>
         <address type='drive' controller='0' bus='1' target='0' unit='0'/>
       </disk>
       <disk type='file' device='disk'>
         <driver name='qemu' type='qcow2' cache='none'/>
         <source 
file='/mnt/e0e5ba2b-15bc-3fd8-a010-40a404c3cdfc/49e52a7f-1bfb-4034-ad81-1efacb402b24'/>
         <backingStore/>
         <target dev='vdb' bus='virtio'/>
         <alias name='virtio-disk1'/>
         <address type='pci' domain='0x0000' bus='0x00' slot='0x05' 
function='0x0'/>
       </disk>
       <disk type='file' device='disk'>
         <driver name='qemu' type='qcow2' cache='none'/>
         <source 
file='/mnt/e0e5ba2b-15bc-3fd8-a010-40a404c3cdfc/3b1c3083-6775-4c21-889a-0f80af9b2fc0'/>
         <backingStore/>
         <target dev='vdc' bus='virtio'/>
         <serial>3b1c308367754c21889a</serial>
         <alias name='virtio-disk2'/>
         <address type='pci' domain='0x0000' bus='0x00' slot='0x06' 
function='0x0'/>
       </disk>
   
   ##### Solidfire Primary Storage
   
       <disk  device='disk' type='block'>
         <driver name='qemu' type='raw' cache='none' />
         <source 
dev='/dev/disk/by-path/ip-10.xx.xx.230:3260-iscsi-iqn.2010-01.com.solidfire:nhjj.root-323.127-lun-0'/>
         <target dev='hda' bus='ide'/>
       </disk>
       <disk  device='disk' type='block'>
         <driver name='qemu' type='raw' cache='none' />
         <source 
dev='/dev/disk/by-path/ip-10.xx.xx.230:3260-iscsi-iqn.2010-01.com.solidfire:nhjj.testplatte1-sf.128-lun-0'/>
         <target dev='hdb' bus='ide'/>
       </disk>
       <disk  device='disk' type='block'>
         <driver name='qemu' type='raw' cache='none' />
         <source 
dev='/dev/disk/by-path/ip-10.xx.xx.230:3260-iscsi-iqn.2010-01.com.solidfire:nhjj.testplatte2-sf.129-lun-0'/>
         <target dev='hde' bus='ide'/>
       </disk>
       <disk  device='cdrom' type='file'>
         <driver name='qemu' type='raw' />
         <source 
file='/mnt/c0aa527c-017e-3cca-b6b8-4b6055b0d03a/219-2-5d32553d-5dc1-3ad5-9275-1ff0ad5c7efc.iso'/>
         <target dev='hdc' bus='ide'/>
       </disk>
   
   ##### Logfile excerpt
   
   ```
   2018-12-07 15:04:07,604 DEBUG [resource.wrapper.LibvirtStartCommandWrapper] 
(agentRequest-Handler-4:null) (logid:faa09e72) starting i-61-323-VM: <domain 
type='kvm'>
   <name>i-61-323-VM</name>
   <uuid>33fc81ae-68a6-4723-9335-f9bf2c611b71</uuid>
   <description>Windows Server 2016 (64-bit)</description>
   <cpu mode='host-model'><model fallback='allow'></model><topology sockets='1' 
cores='4' threads='1' /></cpu><sysinfo type='smbios'>
   <system>
   <entry name='manufacturer'>Apache Software Foundation</entry>
   <entry name='product'>CloudStack KVM Hypervisor</entry>
   <entry name='uuid'>33fc81ae-68a6-4723-9335-f9bf2c611b71</entry>
   </system>
   </sysinfo>
   <os>
   <type  arch='x86_64' machine='pc'>hvm</type>
   <boot dev='cdrom'/>
   <boot dev='hd'/>
   <smbios mode='sysinfo'/>
   </os>
   <on_reboot>restart</on_reboot>
   <on_poweroff>destroy</on_poweroff>
   <on_crash>destroy</on_crash>
   <memory>16777216</memory>
   <devices>
   <memballoon model='none'/>
   </devices>
   <vcpu>4</vcpu>
   <features>
   <pae/>
   <apic/>
   <acpi/>
   </features>
   <cputune>
   <shares>2664</shares>
   </cputune>
   <clock offset='localtime'>
   <timer name='rtc' tickpolicy='catchup' >
   </timer>
   </clock>
   <devices>
   <emulator>/usr/libexec/qemu-kvm</emulator>
   <watchdog model='i6300esb' action='none'/>
   <console type='pty'>
   <target port='0'/>
   </console>
   <disk  device='disk' type='block'>
   <driver name='qemu' type='raw' cache='none' />
   <source 
dev='/dev/disk/by-path/ip-10.xx.xx.230:3260-iscsi-iqn.2010-01.com.solidfire:nhjj.root-323.127-lun-0'/>
   <target dev='hda' bus='ide'/>
   <serial>8a33d039c8f64ee3a47a</serial></disk>
   <disk  device='disk' type='block'>
   <driver name='qemu' type='raw' cache='none' />
   <source 
dev='/dev/disk/by-path/ip-10.xx.xx.230:3260-iscsi-iqn.2010-01.com.solidfire:nhjj.testplatte1-sf.128-lun-0'/>
   <target dev='hdb' bus='ide'/>
   <serial>cbb373dd26784d399372</serial></disk>
   <disk  device='disk' type='block'>
   <driver name='qemu' type='raw' cache='none' />
   <source 
dev='/dev/disk/by-path/ip-10.xx.xx.230:3260-iscsi-iqn.2010-01.com.solidfire:nhjj.testplatte2-sf.129-lun-0'/>
   <target dev='hde' bus='ide'/>
   <serial>xxxxxxxxxxxxxxxx</serial></disk>
   <disk  device='cdrom' type='file'>
   <driver name='qemu' type='raw' />
   <source 
file='/mnt/c0aa527c-017e-3cca-b6b8-4b6055b0d03a/219-2-5d32553d-5dc1-3ad5-9275-1ff0ad5c7efc.iso'/>
   <target dev='hdc' bus='ide'/>
   </disk>
   <serial type='pty'>
   <target port='0'/>
   </serial>
   <graphics type='vnc' autoport='yes' listen='xxxxxxxxxxxx' 
passwd='xxxxxxxxxxxxxxxxxxxxx'/>
   <channel type='unix'>
   <source mode='bind' 
path='/var/lib/libvirt/qemu/i-61-323-VM.org.qemu.guest_agent.0'/>
   <address type='virtio-serial'/>
   <target type='virtio' name='org.qemu.guest_agent.0'/>
   </channel>
   <rng model='virtio'>
   <rate period='1000' bytes='2048' />
   <backend model='random'>/dev/random</backend></rng>
   <input type='tablet' bus='usb'/>
   <interface type='bridge'>
   <source bridge='xxxxxxxx'/>
   <mac address='xxxxxxxxxxxxxxx'/>
   <model type='e1000'/>
   <bandwidth>
   <inbound average='25600' peak='25600'/>
   <outbound average='25600' peak='25600'/>
   </bandwidth>
   <virtualport type='openvswitch'>
   </virtualport>
   <vlan trunk='no'>
   <tag id='xxxx'/>
   </vlan><link state='up'/>
   </interface>
   </devices>
   </domain>
   
   2018-12-07 15:04:07,609 WARN  [resource.wrapper.LibvirtStartCommandWrapper] 
(agentRequest-Handler-4:null) (logid:faa09e72) LibvirtException
   org.libvirt.LibvirtException: unsupported configuration: Only a single IDE 
controller is supported for this machine type
           at org.libvirt.ErrorHandler.processError(Unknown Source)
           at org.libvirt.Connect.processError(Unknown Source)
           at org.libvirt.Connect.processError(Unknown Source)
           at org.libvirt.Connect.domainCreateXML(Unknown Source)
           at 
com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1413)
           at 
com.cloud.hypervisor.kvm.resource.wrapper.LibvirtStartCommandWrapper.execute(LibvirtStartCommandWrapper.java:84)
           at 
com.cloud.hypervisor.kvm.resource.wrapper.LibvirtStartCommandWrapper.execute(LibvirtStartCommandWrapper.java:46)
           at 
com.cloud.hypervisor.kvm.resource.wrapper.LibvirtRequestWrapper.execute(LibvirtRequestWrapper.java:78)
           at 
com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1445)
           at com.cloud.agent.Agent.processRequest(Agent.java:644)
           at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:1082)
           at com.cloud.utils.nio.Task.call(Task.java:83)
           at com.cloud.utils.nio.Task.call(Task.java:29)
           at java.util.concurrent.FutureTask.run(FutureTask.java:266)
           at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
           at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
           at java.lang.Thread.run(Thread.java:748)
   2018-12-07 15:04:07,609 DEBUG [kvm.storage.KVMStoragePoolManager] 
(agentRequest-Handler-4:null) (logid:faa09e72) Disconnecting disk 
/iqn.2010-01.com.solidfire:nhjj.root-323.127/0
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to