[one-users] Raw attributes not getting resolved
Jack Jill
jacknjill111 at gmail.com
Thu Feb 4 13:42:44 PST 2010
The first option worked like a charm.
The generated deployment descriptor was:
<domain type='kvm'>
<name>one-33</name>
<memory>262144</memory>
<os>
<type>hvm</type>
<boot dev='hd'/>
</os>
<devices>
<emulator>/usr/bin/kvm</emulator>
<disk type='file' device='disk'>
<source file='/opt/nebula/ONE/var//33/images/disk.0'/>
<target dev='vda' bus='virtio'/>
</disk>
<interface type='bridge'>
<source bridge='br0'/>
<model type='virtio'/>
</interface>
<interface type='bridge'>
<source bridge='br0'/>
<mac address='00:03:0a:00:01:04'/>
<model type='virtio'/>
</interface>
</devices>
<features>
<pae/>
<acpi/>
</features>
<devices><serial type="pty"><source path="/dev/pts/5"/><target
port="0"/></serial><console type="pty" tty="/dev/pts/5"><source
path="/dev/pts/5"/><target port="0"/></console></devices>
</domain>
And the dumpxml reveals the correct configuration:
<domain type='kvm' id='16'>
<name>one-33</name>
<uuid>f239ee68-f86a-6cfd-0f7c-87ccf0c8d57a</uuid>
<memory>262144</memory>
<currentMemory>262144</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch='i686' machine='pc-0.11'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/kvm</emulator>
<disk type='file' device='disk'>
<source file='/opt/nebula/ONE/var//33/images/disk.0'/>
<target dev='vda' bus='virtio'/>
</disk>
<interface type='bridge'>
<mac address='52:54:00:e8:39:7b'/>
<source bridge='br0'/>
<target dev='vnet4'/>
<model type='virtio'/>
</interface>
<interface type='bridge'>
<mac address='00:03:0a:00:01:04'/>
<source bridge='br0'/>
<target dev='vnet5'/>
<model type='virtio'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/6'/>
<target port='0'/>
</serial>
<console type='pty' tty='/dev/pts/6'>
<source path='/dev/pts/6'/>
<target port='0'/>
</console>
</devices>
<seclabel type='dynamic' model='apparmor'>
<label>libvirt-f239ee68-f86a-6cfd-0f7c-87ccf0c8d57a</label>
<imagelabel>libvirt-f239ee68-f86a-6cfd-0f7c-87ccf0c8d57a</imagelabel>
</seclabel>
</domain>
I do like option 2. Could you point me to the source code file where I can
make your suggested change. I suppose I can browse through the source and
figure out the right file....
Thanks,
RS
On Thu, Feb 4, 2010 at 3:15 PM, Ruben S. Montero <rubensm at dacya.ucm.es>wrote:
> Hi,
>
> It seems that the console attribute needs to be defined within the
> devices element. We can try a couple of things:
>
> 1. Let see if libvirt can deal with two devices elements. Try to add:
> RAW = [ type = "kvm",
> data = "</devices><serial type=\"pty\"><source
> path=\"/dev/pts/5\"/><target port=\"0\"/></serial><console type=\"pty\"
> tty=\"/dev/pts/5\"><source path=\"/dev/pts/5\"/><target
> port=\"0\"/></console></devices>" ]
>
> That is the same you have but within a device element
>
> 2. We can modify the KVM driver so the RAW attributes are generated
> within the devices section. Or at least add an option to tell
> OpenNebula where to put the RAW attributes.
>
> 3. If you need this for debugging purposes, you can always connect to
> the VM through VNC with the GRAPHICS attribute...
>
> Cheers
>
> Ruben
>
> On Thu, Feb 4, 2010 at 7:16 PM, Jack Jill <jacknjill111 at gmail.com> wrote:
> > I'm attempting to configure a console for my vm so I can connect to it
> via
> > "virsh", but I believe I am screwing up the declaration in the template.
> >
> > <quote>
> > RAW = [ type = "kvm", data = "<console type=\"stdio\"><target
> > port=\"1\"/></console>" ]
> > </quote>
> >
> > results in the following deployment descriptor:
> >
> > <domain type='kvm'>
> > <name>one-31</name>
> > <memory>262144</memory>
> > <os>
> > <type>hvm</type>
> > <boot dev='hd'/>
> > </os>
> > <devices>
> > <emulator>/usr/bin/kvm</emulator>
> > <disk type='file' device='disk'>
> > <source file='/opt/nebula/ONE/var//31/images/disk.0'/>
> > <target dev='vda' bus='virtio'/>
> > </disk>
> > <interface type='bridge'>
> > <source bridge='br0'/>
> > <model type='virtio'/>
> > </interface>
> > <interface type='bridge'>
> > <source bridge='br0'/>
> > <mac address='00:03:0a:00:01:04'/>
> > <model type='virtio'/>
> > </interface>
> > </devices>
> > <features>
> > <pae/>
> > <acpi/>
> > </features>
> > <console type="stdio"><target port="1"/></console>
> > </domain>
> >
> > But when I attempt to connect to the console I get the following error:
> >
> > <quote>
> > sudo virsh console one-31
> > [sudo] password for xxxx:
> > Connecting to uri: qemu:///system
> > No console available for domain
> > </quote>
> >
> > virsh dumpxml shows the following:
> >
> > <domain type='kvm' id='13'>
> > <name>one-31</name>
> > <uuid>89e69209-ba37-8ccf-832f-f637ab753710</uuid>
> > <memory>262144</memory>
> > <currentMemory>262144</currentMemory>
> > <vcpu>1</vcpu>
> > <os>
> > <type arch='i686' machine='pc-0.11'>hvm</type>
> > <boot dev='hd'/>
> > </os>
> > <features>
> > <acpi/>
> > <pae/>
> > </features>
> > <clock offset='utc'/>
> > <on_poweroff>destroy</on_poweroff>
> > <on_reboot>restart</on_reboot>
> > <on_crash>destroy</on_crash>
> > <devices>
> > <emulator>/usr/bin/kvm</emulator>
> > <disk type='file' device='disk'>
> > <source file='/opt/nebula/ONE/var//31/images/disk.0'/>
> > <target dev='vda' bus='virtio'/>
> > </disk>
> > <interface type='bridge'>
> > <mac address='52:54:00:9c:c1:cb'/>
> > <source bridge='br0'/>
> > <target dev='vnet4'/>
> > <model type='virtio'/>
> > </interface>
> > <interface type='bridge'>
> > <mac address='00:03:0a:00:01:04'/>
> > <source bridge='br0'/>
> > <target dev='vnet5'/>
> > <model type='virtio'/>
> > </interface>
> > </devices>
> > <seclabel type='dynamic' model='apparmor'>
> > <label>libvirt-89e69209-ba37-8ccf-832f-f637ab753710</label>
> > <imagelabel>libvirt-89e69209-ba37-8ccf-832f-f637ab753710</imagelabel>
> > </seclabel>
> > </domain>
> >
> > As you can see no console element.
> >
> > If I redefine the domain and add the following (via virsh), I can connect
> > successfully.
> >
> > <domain type='kvm'>
> > <name>one-31</name>
> > <uuid>89e69209-ba37-8ccf-832f-f637ab753710</uuid>
> > <memory>262144</memory>
> > <currentMemory>262144</currentMemory>
> > <vcpu>1</vcpu>
> > <os>
> > <type arch='i686' machine='pc-0.11'>hvm</type>
> > <boot dev='hd'/>
> > </os>
> > <features>
> > <acpi/>
> > <pae/>
> > </features>
> > <clock offset='utc'/>
> > <on_poweroff>destroy</on_poweroff>
> > <on_reboot>restart</on_reboot>
> > <on_crash>destroy</on_crash>
> > <devices>
> > <emulator>/usr/bin/kvm</emulator>
> > <disk type='file' device='disk'>
> > <source file='/opt/nebula/ONE/var//31/images/disk.0'/>
> > <target dev='vda' bus='virtio'/>
> > </disk>
> > <interface type='bridge'>
> > <mac address='52:54:00:9c:c1:cb'/>
> > <source bridge='br0'/>
> > <target dev='vnet4'/>
> > <model type='virtio'/>
> > </interface>
> > <interface type='bridge'>
> > <mac address='00:03:0a:00:01:04'/>
> > <source bridge='br0'/>
> > <target dev='vnet5'/>
> > <model type='virtio'/>
> > </interface>
> > <serial type='pty'>
> > <source path='/dev/pts/5'/>
> > <target port='0'/>
> > </serial>
> > <console type='pty' tty='/dev/pts/5'>
> > <source path='/dev/pts/5'/>
> > <target port='0'/>
> > </console>
> > </devices>
> > </domain>
> >
> > So I tried passing in the following as RAW attributes:
> >
> > RAW = [ type = "kvm",
> > data = "<serial type=\"pty\"><source
> > path=\"/dev/pts/5\"/><target port=\"0\"/></serial><console type=\"pty\"
> > tty=\"/dev/pts/5\"><source path=\"/dev/pts/5\"/><target
> > port=\"0\"/></console>" ]
> >
> > The above results in the following deployment descriptor being generated:
> >
> > <domain type='kvm'>
> > <name>one-32</name>
> > <memory>262144</memory>
> > <os>
> > <type>hvm</type>
> > <boot dev='hd'/>
> > </os>
> > <devices>
> > <emulator>/usr/bin/kvm</emulator>
> > <disk type='file' device='disk'>
> > <source file='/opt/nebula/ONE/var//32/images/disk.0'/>
> > <target dev='vda' bus='virtio'/>
> > </disk>
> > <interface type='bridge'>
> > <source bridge='br0'/>
> > <model type='virtio'/>
> > </interface>
> > <interface type='bridge'>
> > <source bridge='br0'/>
> > <mac address='00:03:0a:00:01:04'/>
> > <model type='virtio'/>
> > </interface>
> > </devices>
> > <features>
> > <pae/>
> > <acpi/>
> > </features>
> > <serial type="pty"><source path="/dev/pts/5"/><target
> > port="0"/></serial><console type="pty" tty="/dev/pts/5"><source
> > path="/dev/pts/5"/><target port="0"/></console>
> > </domain>
> >
> > But still cannot connect to the console. The dumpxml (via virsh) reveals
> the
> > following:
> >
> > oneadmin at uecB:~/domainTemplates$ virsh dumpxml one-32
> > Connecting to uri: qemu:///system
> > <domain type='kvm' id='15'>
> > <name>one-32</name>
> > <uuid>c51c3deb-7685-3722-9df1-10600d3f2df0</uuid>
> > <memory>262144</memory>
> > <currentMemory>262144</currentMemory>
> > <vcpu>1</vcpu>
> > <os>
> > <type arch='i686' machine='pc-0.11'>hvm</type>
> > <boot dev='hd'/>
> > </os>
> > <features>
> > <acpi/>
> > <pae/>
> > </features>
> > <clock offset='utc'/>
> > <on_poweroff>destroy</on_poweroff>
> > <on_reboot>restart</on_reboot>
> > <on_crash>destroy</on_crash>
> > <devices>
> > <emulator>/usr/bin/kvm</emulator>
> > <disk type='file' device='disk'>
> > <source file='/opt/nebula/ONE/var//32/images/disk.0'/>
> > <target dev='vda' bus='virtio'/>
> > </disk>
> > <interface type='bridge'>
> > <mac address='52:54:00:9c:1f:76'/>
> > <source bridge='br0'/>
> > <target dev='vnet4'/>
> > <model type='virtio'/>
> > </interface>
> > <interface type='bridge'>
> > <mac address='00:03:0a:00:01:04'/>
> > <source bridge='br0'/>
> > <target dev='vnet5'/>
> > <model type='virtio'/>
> > </interface>
> > </devices>
> > <seclabel type='dynamic' model='apparmor'>
> > <label>libvirt-c51c3deb-7685-3722-9df1-10600d3f2df0</label>
> > <imagelabel>libvirt-c51c3deb-7685-3722-9df1-10600d3f2df0</imagelabel>
> > </seclabel>
> > </domain>
> >
> > As you can see, the RAW attributes did not get generated here. Any idea
> what
> > is going on and how I can get this resolved.
> >
> >
> > Also, the documentation at
> > http://opennebula.org/doku.php?id=documentation:rel1.4:kvmg
> >
> > <quote>
> >
> > RAW = [ type = "kvm",
> >
> >
> > data = "<console type=\"stdio\"><target port=\"1\"></console>"
> ]
> >
> > </quote>
> >
> > causes the deployment to fail with the following error in the vm.log
> >
> > Thu Feb 4 11:37:59 2010 [VMM][I]: error: Failed to create domain from
> > /opt/nebula/ONE/var//30/images/deployment.0
> > Thu Feb 4 11:37:59 2010 [VMM][I]: error: at line 28: Opening and ending
> tag
> > mismatch: target line 28 and console
> > Thu Feb 4 11:37:59 2010 [VMM][I]:
> > Thu Feb 4 11:37:59 2010 [VMM][I]: ExitCode: 1
> > Thu Feb 4 11:37:59 2010 [VMM][E]: Error deploying virtual machine
> >
> > Therefore please update the documentation.
> >
> > Front Controller:
> > ---------------------
> > Ubuntu Karmic
> > Open Nebula 1.4
> >
> > Node:
> > -------
> > Ubuntu Karmic
> > KVM hypervisor
> >
> > Thanks in advance,
> > RS
> >
> > _______________________________________________
> > Users mailing list
> > Users at lists.opennebula.org
> > http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
> >
> >
>
>
>
> --
> Dr. Ruben Santiago Montero
> Associate Professor, Complutense University of Madrid
>
> URL: http://dsa-research.org/doku.php?id=people:ruben
> Weblog: http://blog.dsa-research.org/?author=7
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opennebula.org/pipermail/users-opennebula.org/attachments/20100204/aef66aeb/attachment-0003.htm>
More information about the Users
mailing list