[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