[PLUGIN DEPRECATED] VM Manager (2015.02.24)


dmacias

Recommended Posts

 

 

 

I setup my spare USB flash drive with a fresh copy of unRAID 6b12 and the latest Virtman and KVM Manager. The create VM tab doesn't seem to setup VM's properly. It creates the sub-folder and qcow2 image but doesn't actually create the VM as there are no VM's listed under the Virtual Machines tab after clicking the Create VM button.

 

 

Here is my error:

 

Warning: libvirt_domain_create_xml(): internal error: early end of file from monitor: possible problem: 2014-12-25T04:32:52.796650Z qemu-system-x86_64: -device ide-cd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1: Can't create IDE unit 1, bus supports only 1 units 2014-12-25T04:32:52.796671Z qemu-system-x86_64: -device ide-cd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1: Device initialization failed. 2014-12-25T04:32:52.796679Z qemu-system-x86_64: -device ide-cd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1: Device 'ide-cd' could not be initialized in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 173

 

I've tried several times using different iso files and locations.

 

Gary

Which of your systems is this on?  Can you give me an example of a working config? Did you get an error with a name only? Maybe I can specify the bus in the create xml.

 

No, I didn't get an error with a name only when creating a vm. Here is a screenshot of my info using the create vm tab that throws the error. This is a working xml config with Windows 10 and GPU, mouse, and keyboard pass-through.

Ok got it. Thanks. No ide for q35.

 

Link to comment
  • Replies 566
  • Created
  • Last Reply

Top Posters In This Topic

Cool. I'll try again after you post an update to the plugin.

I added the following to q35 machine xml so usb tablet works and changed ide to sata for cdroms.  Let me know if there's more I need to add as default.

<controller type='usb' index='0' model='ich9-ehci1'/>
<controller type='usb' index='0' model='ich9-uhci1'/>

Link to comment

Cool. I'll try again after you post an update to the plugin.

I added the following to q35 machine xml so usb tablet works and changed ide to sata for cdroms.  Let me know if there's more I need to add as default.

<controller type='usb' index='0' model='ich9-ehci1'/>
<controller type='usb' index='0' model='ich9-uhci1'/>

 

Hi !

 

You can compare a default q35 machine generated from Virtual Machine Manager ( see link below), I think it's more to change .....

http://lime-technology.com/forum/index.php?topic=35858.msg344304#msg344304

 

//Peter

Link to comment

Cool. I'll try again after you post an update to the plugin.

I added the following to q35 machine xml so usb tablet works and changed ide to sata for cdroms.  Let me know if there's more I need to add as default.

<controller type='usb' index='0' model='ich9-ehci1'/>
<controller type='usb' index='0' model='ich9-uhci1'/>

 

Hi !

 

You can compare a default q35 machine generated from Virtual Machine Manager ( see link below), I think it's more to change .....

http://lime-technology.com/forum/index.php?topic=35858.msg344304#msg344304

 

//Peter

Thanks peter.  Most of the xml is generated by libvirt in virt-manager and this plugin. I just need to compare what's missing if anything and if what's missing matters. Like serial ports or ide or something else that is not needed. Like maybe I need more usb ports.

 

I have started adding hyperv tags for windows also.

Link to comment

 

Your welcome and I appreciate the feedback.  The errors display where ever they occur on they page. That's why error reporting/debugging is off by default and the errors I can collect are displayed on the bottom of the page.

 

If something gets removed from the xml automatically then check your syntax. The plugin had nothing to do with that. Libvirt will remove bad code.

 

Which old plugin do you mean?

 

I mean the Web Virtual Manager that you posted before writing the VM Manager.

 

What's the proper syntax for adding a VNC password? when I enter <graphics type='vnc' port='5900' autoport='yes' passwd='YOUR-PASSWORD-HERE' websocket='5700' listen='0.0.0.0'> the passwd segment doesn't get saved.

Link to comment

I updated the plugin, I saw a settings tab, what would that be for? Can we delete the libvirt plugin?

 

Nice work anyway !

For now settings is to enable debugging and add default iso and existing image locations. And control libvirt. Still need virtman plugin. Hopefully soon. 

 

Removing virtman plugin will require some effort though. Domain images will all need to be in their own folder with an image file, cfg file for autostart and the xml. They want it similar to xenman plugin.

Link to comment

 

 

 

Your welcome and I appreciate the feedback.  The errors display where ever they occur on they page. That's why error reporting/debugging is off by default and the errors I can collect are displayed on the bottom of the page.

 

If something gets removed from the xml automatically then check your syntax. The plugin had nothing to do with that. Libvirt will remove bad code.

 

Which old plugin do you mean?

 

I mean the Web Virtual Manager that you posted before writing the VM Manager.

 

What's the proper syntax for adding a VNC password? when I enter <graphics type='vnc' port='5900' autoport='yes' passwd='YOUR-PASSWORD-HERE' websocket='5700' listen='0.0.0.0'> the passwd segment doesn't get saved.

 

You have it right and I it gets saved but for some reason the php libvirt_domain_get_xml_desc doesn't show it. Maybe it's a feature :). However virsh edit domain_name does show the password. Have you tried connecting with a vnc client after saving the xml with the password in the plugin?

Link to comment

 

 

 

I setup my spare USB flash drive with a fresh copy of unRAID 6b12 and the latest Virtman and KVM Manager. The create VM tab doesn't seem to setup VM's properly. It creates the sub-folder and qcow2 image but doesn't actually create the VM as there are no VM's listed under the Virtual Machines tab after clicking the Create VM button.

 

 

Here is my error:

 

Warning: libvirt_domain_create_xml(): internal error: early end of file from monitor: possible problem: 2014-12-25T04:32:52.796650Z qemu-system-x86_64: -device ide-cd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1: Can't create IDE unit 1, bus supports only 1 units 2014-12-25T04:32:52.796671Z qemu-system-x86_64: -device ide-cd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1: Device initialization failed. 2014-12-25T04:32:52.796679Z qemu-system-x86_64: -device ide-cd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1: Device 'ide-cd' could not be initialized in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 173

 

I've tried several times using different iso files and locations.

 

Gary

Which of your systems is this on?  Can you give me an example of a working config? Did you get an error with a name only? Maybe I can specify the bus in the create xml.

 

No, I didn't get an error with a name only when creating a vm. Here is a screenshot of my info using the create vm tab that throws the error. This is a working xml config with Windows 10 and GPU, mouse, and keyboard pass-through.

Ok got it. Thanks. No ide for q35.

 

My issue is resolved. I've been able to create several VM's just fine.

 

Thanks again.

Link to comment

Amazing work on the plugin! (using Current Version: 2014.12.27a)

 

Really enjoying running Win8.1 as a guest.

 

Just tried to increase the disk capacity of the VM disk. Changed the size within KVM tab and receive the message

 

"you have uncommitted form changes"

 

I did not see how to save or commit changes. And when I restarted the VM the disk size was unchanged in the KVM tab.

 

Edit.

 

entered the new disk size, hit enter and there was a message saying that the disk had been resized. However when I checked this using

 

qemu-img info

 

it was still the same size. The KVM tab is also still showing it as the same size.

 

Link to comment

Amazing work on the plugin! (using Current Version: 2014.12.27a)

 

Really enjoying running Win8.1 as a guest.

 

Just tried to increase the disk capacity of the VM disk. Changed the size within KVM tab and receive the message

 

"you have uncommitted form changes"

 

I did not see how to save or commit changes. And when I restarted the VM the disk size was unchanged in the KVM tab.

 

Edit.

 

entered the new disk size, hit enter and there was a message saying that the disk had been resized. However when I checked this using

 

qemu-img info

 

it was still the same size. The KVM tab is also still showing it as the same size.

What does "qemu-img resize filename size" do?

 

Link to comment

Updated the plugin, and I see this.

 

Warning: libvirt_domain_get_block_info(): cannot stat file '/mnt/vm_ssd/KVM/Arch-KVM/ArchKVM.qcow2': Bad file descriptor in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 495 Warning: libvirt_domain_get_block_info(): Cannot get domain block information in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 495 Warning: libvirt_domain_get_block_info(): cannot stat file '/mnt/vm_ssd/KVM/Arch-KVM/ArchKVM.qcow2': Bad file descriptor in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 495 Warning: libvirt_domain_get_block_info(): Cannot get domain block information in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 495 Warning: libvirt_domain_get_block_info(): cannot stat file '/mnt/vm_ssd/KVM/Arch-KVM/ArchKVM.qcow2': Bad file descriptor in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 495 Warning: libvirt_domain_get_block_info(): Cannot get domain block information in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 495

Link to comment

Updated the plugin, and I see this.

 

Warning: libvirt_domain_get_block_info(): cannot stat file '/mnt/vm_ssd/KVM/Arch-KVM/ArchKVM.qcow2': Bad file descriptor in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 495 Warning: libvirt_domain_get_block_info(): Cannot get domain block information in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 495 Warning: libvirt_domain_get_block_info(): cannot stat file '/mnt/vm_ssd/KVM/Arch-KVM/ArchKVM.qcow2': Bad file descriptor in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 495 Warning: libvirt_domain_get_block_info(): Cannot get domain block information in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 495 Warning: libvirt_domain_get_block_info(): cannot stat file '/mnt/vm_ssd/KVM/Arch-KVM/ArchKVM.qcow2': Bad file descriptor in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 495 Warning: libvirt_domain_get_block_info(): Cannot get domain block information in /usr/local/emhttp/plugins/dynamix.kvm.manager/classes/libvirt.php on line 495

You can turn off debugging in settings.  But that error is from get disk stats function and it can't access the disk.  Either the path or permissions. 

Link to comment

Amazing work on the plugin! (using Current Version: 2014.12.27a)

 

Really enjoying running Win8.1 as a guest.

 

Just tried to increase the disk capacity of the VM disk. Changed the size within KVM tab and receive the message

 

"you have uncommitted form changes"

 

I did not see how to save or commit changes. And when I restarted the VM the disk size was unchanged in the KVM tab.

 

Edit.

 

entered the new disk size, hit enter and there was a message saying that the disk had been resized. However when I checked this using

 

qemu-img info

 

it was still the same size. The KVM tab is also still showing it as the same size.

What does "qemu-img resize filename size" do?

 

I was able to succesfully resize using

 

qemu-img resize filename.qcow2 +20G

 

from within the folder where the image resides.

Link to comment

 

. . .

 

You have it right and I it gets saved but for some reason the php libvirt_domain_get_xml_desc doesn't show it. Maybe it's a feature :). However virsh edit domain_name does show the password. Have you tried connecting with a vnc client after saving the xml with the password in the plugin?

 

It works until I restart the VM, then it seems to lose the password. I'll play around with it some more.

Link to comment

I notice that when I try to create a VM the only options for OS seem to be Windows and Linux.  What should be selected if I am interested if I want a different OS (e.g. Mac OS)?

The second option says Linux/OSX.  If there are some specific tweaks for OSX I can add them and a separate selection.  But really the windows option just enables hyperv tweaks, adds option for temporary drivers cdrom and disables the ability for 9p sharing.

Link to comment

I notice that when I try to create a VM the only options for OS seem to be Windows and Linux.  What should be selected if I am interested if I want a different OS (e.g. Mac OS)?

 

In truth, it should say "Windows" or "Other."  There are other operating systems out there that aren't based on the NT/Linux kernel and they WILL virtualize fine under KVM.  Windows is just the only one (that I know of) that has special extension support which is where the Hyper-V settings come into play.

 

Important note:  if passing through an nVIDIA GPU, do NOT select Windows as the VM type, even if it is.  The Hyper-V extensions are detected by nVIDIA and will prohibit GPU pass through from working properly.

Link to comment

 

Important note:  if passing through an nVIDIA GPU, do NOT select Windows as the VM type, even if it is.  The Hyper-V extensions are detected by nVIDIA and will prohibit GPU pass through from working properly.

 

Hmm, this must be why I'm having so much trouble attempting to recreate a fresh windows 8 VM with my nvidia graphics. Do you happen to have a Windows 8 template you recommend using with nvidia?

Link to comment

 

Important note:  if passing through an nVIDIA GPU, do NOT select Windows as the VM type, even if it is.  The Hyper-V extensions are detected by nVIDIA and will prohibit GPU pass through from working properly.

 

Hmm, this must be why I'm having so much trouble attempting to recreate a fresh windows 8 VM with my nvidia graphics. Do you happen to have a Windows 8 template you recommend using with nvidia?

 

Here is the XML from my Windows 8.1 VM where I have my GTX 780 passed through (along with several other devices ;-).

 

<domain type='kvm' id='2' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>Winverted-6vcpu</name>
  <uuid>07478ac0-6a99-11e3-8266-00259086c7d8</uuid>
  <metadata>
    <snapshots/>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <nosharepages/>
    <locked/>
  </memoryBacking>
  <vcpu placement='static'>6</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='1'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='3'/>
    <vcpupin vcpu='4' cpuset='4'/>
    <vcpupin vcpu='5' cpuset='5'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-2.1'>hvm</type>
    <boot dev='hd'/>
    <bootmenu enable='no'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='2' cores='3' threads='1'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none' io='native'/>
      <source file='/mnt/cache/domains/win81/win81.img'/>
      <backingStore/>
      <target dev='vdc' bus='virtio'/>
      <alias name='virtio-disk2'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none' io='native'/>
      <source file='/mnt/cache/domains/win81/oczssd.img'/>
      <backingStore/>
      <target dev='vdd' bus='virtio'/>
      <alias name='virtio-disk3'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='dmi-to-pci-bridge'>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb0'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb0'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb0'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x2'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='sata0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:e7:46:9c'/>
      <source bridge='xenbr0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>
    </interface>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='none' model='none'/>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=02:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=02:00.1,bus=root.1,addr=00.1'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=00:1d.0,bus=pcie.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=00:1b.0,bus=root.1,addr=00.2'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=04:00.0,bus=root.1,addr=00.3'/>
  </qemu:commandline>
</domain>

 

Just an FYI, I know there is a "hypervtimer" in there, but that isn't actually a viridian hyper-v extension, so its ok to keep that there.

Link to comment

Tried creating a VM, got the install ubuntu normal screen through VNC , saw that i hadn't set MAC address so DHCP wasn't working.

 

tried stopping the VM and it wouldn't stop, so tried stopping libvirt via the webui, it stopped.

 

hit start again and it's been sitting here for 30 minutes and i'm locked out of the webui completely.

 

1o1kZKe.png

Link to comment
  • trurl unpinned this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.