Lars Kurth <lars.kurth at xen.org> writes: > Hi all, > > following the discussion on about documentation, I was wondering whether > we need to look at a standard way in which we recommend how to provision > images for VMs. Am starting this with a Xen hat, but the discussion > should not be specific to this. There are a number of options, but all > have some trade-offs Let me wear the hat of the user. The major hurdles were network setup, installing something in a vm, and the chaotic state the documentation is in. I knew before I started that network setup would be a PITA because years ago, I set up a VM for someone who didn't have a 64bit system to compile a 64bit version of some software. The network setup being so ridiculously difficult has kept me from touching VMs ever again for years. It's just too difficult and not worth the effort unless you're really forced to do it. As a user, I'm used to get an ISO of an installer or of a life system, put that into a DVD drive or write it to an USB stick and to boot from that to do the installation. Why can't I do that with xen? > == #1 virt-install == > == #2 xen-tools == > == #3 virt-builder (http://libguestfs.org/virt-builder.1.html) == > == #4 Cloud Image from Cloud Image SIG == I wouldn't want #4. I want to be able to just use the installer of whatever distribution I'm installing in a VM and a simple way of saying "run this in a VM and let me install". Or perhaps I merely want to run a life system in a VM to try it out, with network access. What easy way is there to do that? I haven't heared of #3. #2 and #1 lead to total confusion. Xen doesn't have any way to use an installer ISO to install a VM. The documentation is confusing because it lacks clarity and refers to many versions of xen at the same time which suggest to do things differently so that you don't know how you are supposed to do something. There is no documentation for centos about how to set up a VM. #2 and #1 use different ways and different formats of configuration files, and apparently #1 doesn't support everything #2 does and brings about an undesirable overhead while apparently being a good choice for users who also use other things than xen and don't want to learn different ways of managing VMs. When I use xen, I do not need #1, and it seems to make more sense to me to stick with #2. #2 needs clarity of documentation. I've got an installer ISO. The documentation needs to tell me straightforwardly what I need to do to get a VM running with this installer ISO. I don't care about #1--4 at that point. It's that simple. More details can be learned over time. Insofar the documentation needs to deal with different versions of xen, just split the documentation entirely. When I use version X, I do not want to read the documentation for versions A, B, C or Z. That's confusing and I have to ask myself all the time which part of what I'm reading might apply to the software I'm using, and that makes reading the documentation very painful. It's like you buy a new TV and it comes with 50000 pages of documentation because the manufacturer of the TV mentions everything for every model of TV they ever manufactured, rather than documenting no more than the TV you actually bought. Trying to figure out how to switch to a different channel or how to increase the volume takes at least two days each. For example: http://wiki.xen.org/wiki/Credit_Scheduler: "It is now the default scheduler in the xen-unstable trunk." So is it the default in the version I'm using or what? "The SEDF and BVT schedulers are still optionally available but the plan of record is for them to be phased out and eventually removed." What are those and have they been removed in the version I'm using? But then, it probably doesn't matter what they are because they might have been removed anyway. So what is this information supposed to tell me?? "A domain with a weight of 512 will get twice as much CPU as a domain with a weight of 256 on a contended host. Legal weights range from 1 to 65535 and the default is 256." Where would I change this default? What happens when I set a weight of 100 or of 33? I can only guess that it might be rounded up or down to something like 128 or 64 or 32 or 64. Or perhaps actually floating point math is employed to compute the relations of the different weights? Probably not ... "Schedule Rate Limiting (added in Xen 4.2)" That doesn't belong there. It needs to go into the documentation for that particular version of xen. "Timeslice (added in Xen 4.2) [...] # xl sched-credit -t [n]" dito "Usage The xm sched-credit command may be used to tune the per VM guest scheduler parameters." So what am I supposed to use? xm or xl? Or something else, maybe virsh? I always admire the documentation exim has ... As to your original question: > I was wondering whether we need to look at a standard way in which we > recommend how to provision images for VMs. I'd suggest to start with splitting the documentation into different versions, one version of documentation for each version of xen. Some way to get a VM running may then be discovered and improved upon. What actually is the way to do it? I found something that works, and it allows me to install Debian squeeze, from which then I upgrade to wheezy. For anything else, I don't know. -- Knowledge is volatile and fluid. Software is power.