[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt-users] Update of libvirt website required. not all information about XML tags



On 5/19/2010 5:49 AM, Jiri Denemark wrote:
The problem desribed here: https://bugzilla.redhat.com/show_bug.cgi?id=593266

Please update http://www.libvirt.org/formatdomain.html and describe
NEW xml tags, like<serial>xxxx</serial>  for hard drive and all cpu
tags, other if any.
What cpu tag are you missing from the documentation? The description at
http://www.libvirt.org/formatdomain.html#elementsCPU is complete and
up-to-date.


Where does he ask anything about elementsCPU?

He asked about disk mount options.

I have struggled myself to find where some things are documented which I see in various example configs but do not see documented anywhere. Even the initial post to the list that introduces the new features merely supplied a sample config that used options that were not documented.
For instance:
https://lists.linux-foundation.org/pipermail/containers/2008-September/013237.html
And:
http://libvirt.org/drvlxc.html

Both provide sample configs full of options that I do not know where they are documented, what other options are valid in concert with the LXC driver.

For instance:
All sample configs above include, <disk type='mount'>
But the seemingly most logical place to look: http://libvirt.org/formatstorage.html
doesn't describe anything like that whole section of xml.
Getting past that I manage to find this:
http://libvirt.org/formatdomain.html#elementsDisks
But that states that: The type attribute is either "file" or "block"

So where is <disk type='mount'> documented?

This:
<os>
<type>exe</type>
<init>/sbin/init</init>
</os>

Appears to be documented here:
http://libvirt.org/formatdomain.html#elementsOS
But that does not mention exe being valid for the type tag, and does not mention the init tag as even existing at all.

This is not a complete list of missing documentation. It's hard to say what's missing since, how can I know that something is missing unless I happen to see it mentioned in a sample config somewhere? Most of the sample configs are deliberately minimalistic so that they can provide a known working reference starting point thats as simple as possible, but that means that by definition they do not mention many things.

One thing I did see documented somewhere was that if the init tag is omitted then it defaults to /sbin/init. This appears to be untrue at least for 0.8.1 on openSUSE 11.2 x86_64

I also in general failed to find enough documentation to actually run a full OS in an LXC container using virsh and libvirt on openSUSE.

I have been running many containers successfully using lxc-tools. In fact I wrote
http://en.opensuse.org/LXC
and the init scripts in
http://download.opensuse.org/repositories/home:/aljex/openSUSE_11.2/src/lxc-0.6.5-50.1.src.rpm
so I think I do have at least a basic handle on using containers and have overcome many of the special problems that come with simply using virtualization at all, and containers in particular, and on openSUSE specifically.

However, trying to use libvirt in the same environment I got as far as being able to run /bin/sh but I couldn't get /proc, /sys, /dev working right. Some problems may have been distribution-specific. For instance, when running /bin/bash (instead of /sbin/init), and from there trying to use yast (opensuse-specific admin tool), yast would crash, claiming that /dev was not mounted. Well I don't know why it would say that, and being an opensuse-specific tool it sure doesn't sound like a libvirt problem, or at least libvirt doesn't seem to be the first place to look for help. I mean, other apps worked. bash itself worked. From that bash shell, midnight commander worked. Just yast didn't. Which is why I didn't ask anything about that here. However on the other hand, I have no problem doing the same thing using lxc-start or lxc-exec running just /bin/bash instead of init, or init. So if yast works fine in lxc-start, then what can I fix or diagnose in yast? I couldn't run a full system because I couldn't get the console tty to work from init (even though bash worked fine), nor could I get the network device working, so I had no way to actually access the container although virsh and ps showed that at least init was running.

I'm not yet done trying everything within my power, which is why I hadn't said anything here yet. My point is not to complain about not getting libvirt to work, I'm still putting in the learning time that I fully expected to have to put in before I expected to do anything useful. I do not like to have my time wasted by people who are not willing to spend any of their own, so I try not to ask that of others either.

My point is just that, as long as someone else happened to say the same thing I was thinking anyways, to very strongly second the OP's request for more and better documentation. I don't need very much hand holding, I just need at least some sort of reference for everything. What options are available or valid, and what do they do? Ramifications and implications that are not completely specific to libvirt I am happy to work out myself, and maybe help write the more hand-holdy docs in the wiki at some point later.

--
bkw


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]