From: "Daniel P. Berrange" <berrange@redhat.com>
To: Osier Yang <jyang@redhat.com>
Cc: libvir-list@redhat.com, kvm@vger.kernel.org,
penberg@cs.helsinki.fi, levinsasha928@gmail.com,
gorcunov@gmail.com, mingo@elte.hu, asias.hejun@gmail.com
Subject: Re: [libvirt] [PATCH 7/7] kvmtool: Implementation for kvm tool driver
Date: Tue, 6 Dec 2011 14:55:38 +0000 [thread overview]
Message-ID: <20111206145538.GG7937@redhat.com> (raw)
In-Reply-To: <1321012626-31713-9-git-send-email-jyang@redhat.com>
On Fri, Nov 11, 2011 at 07:57:06PM +0800, Osier Yang wrote:
> Basically, the drivers is implemented by using kvm tool binary
> currently, (see ./kvm help for more info).
>
> Current implementation supports define/undefine, start/destroy/,
> suspend/resume, connect to guest console via "virsh console",
> and balloon memory with with "virsh setmem" (using ./kvm balloon
> command). Also as it supports cgroup controllers "cpuacct", and
> "memory", so some other commands like "schedinfo", "memtune" can
> also work. Some other commands such as "domid", "domname", "dumpxml"
> ,"autostart", etc. are supported, as the driver is designed
> as a "stateful" driver, those APIs just need to talk with libvirtd
> simply.
>
> As Native Linux KVM Tool is designed for both non-root and root users,
> the driver is designed just like QEMU, supports two modes of the
> connection:
>
> kvmtool:///system
> kvmtool+unix:///system
>
> kvmtool:///session
> kvmtool+unix:///session
>
> An example of the domain XML (all the XMLs supported currently are
> listed):
>
> % virsh -c kvm:///system dumpxml kvm_test
> <domain type='kvmtool'>
> <name>kvm_test</name>
> <uuid>88bf38f1-b6ab-cfa6-ab53-4b4c0993d894</uuid>
> <memory>524288</memory>
> <currentMemory>524288</currentMemory>
> <vcpu>1</vcpu>
> <os>
> <type arch='x86_64'>hvm</type>
> <kernel>/boot/bzImage</kernel>
> <boot dev='hd'/>
> </os>
> <clock offset='utc'/>
> <on_poweroff>destroy</on_poweroff>
> <on_reboot>restart</on_reboot>
> <on_crash>restart</on_crash>
> <devices>
> <emulator>/usr/bin/kvmtool</emulator>
> <disk type='file' device='disk'>
> <source file='/var/lib/libvirt/images/linux-0.2.img'/>
> <target dev='vda' bus='virtio'/>
> </disk>
> <filesystem type='mount' accessmode='passthrough'>
> <source dir='/tmp'/>
> <target dir='/mnt'/>
> </filesystem>
> <console type='pty'>
> <target type='serial' port='0'/>
> </console>
> <memballoon model='virtio'/>
> </devices>
> </domain>
> ---
> cfg.mk | 1 +
> daemon/Makefile.am | 4 +
> daemon/libvirtd.c | 7 +
> po/POTFILES.in | 2 +
> src/Makefile.am | 36 +-
> src/kvmtool/kvmtool_conf.c | 130 ++
> src/kvmtool/kvmtool_conf.h | 66 +
> src/kvmtool/kvmtool_driver.c | 3079 ++++++++++++++++++++++++++++++++++++++++++
> src/kvmtool/kvmtool_driver.h | 29 +
My main suggestion here would be to split up the kvmtool_driver.c
file into 3 parts as we did with the QEMU driver.
kvmtool_driver.c -> Basic libvirt API glue
kvmtool_command.c -> ARGV generation
kvmtool_process.c -> KVMtool process start/stop/autostart/autodestroy
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
next prev parent reply other threads:[~2011-12-06 14:56 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-11 11:56 [libvirt] (no subject) Osier Yang
2011-11-11 11:30 ` [libvirt] Add driver support for Native Linux KVM Tool Osier Yang
2011-11-11 11:56 ` [libvirt] [PATCH 1/7] kvmtool: Add configure support Osier Yang
2011-11-11 11:57 ` [libvirt] [PATCH] kvm tools: Introduce an ENV variable for the state dir Osier Yang
2011-12-06 14:39 ` Daniel P. Berrange
2011-12-09 7:18 ` Osier Yang
2011-11-11 11:57 ` [libvirt] [PATCH 2/7] kvmtool: Add documents Osier Yang
2011-12-06 14:47 ` Daniel P. Berrange
2011-11-11 11:57 ` [libvirt] [PATCH 3/7] kvmtool: Add new enums and error codes for the driver Osier Yang
2011-12-06 14:47 ` Daniel P. Berrange
2011-11-11 11:57 ` [libvirt] [PATCH 4/7] kvmtool: Add hook support for kvmtool domain Osier Yang
2011-12-06 14:48 ` Daniel P. Berrange
2011-11-11 11:57 ` [libvirt] [PATCH 5/7] kvmtool: Add new domain type Osier Yang
2011-12-06 14:46 ` Daniel P. Berrange
2011-12-09 7:22 ` Osier Yang
2011-11-11 11:57 ` [libvirt] [PATCH 6/7] conf: Set source type of the stub console Osier Yang
2011-11-11 11:57 ` [libvirt] [PATCH 7/7] kvmtool: Implementation for kvm tool driver Osier Yang
2011-12-06 14:55 ` Daniel P. Berrange [this message]
2011-12-09 7:30 ` Osier Yang
2011-12-06 14:38 ` [libvirt] (no subject) Daniel P. Berrange
2011-12-07 6:21 ` Sasha Levin
2011-12-07 9:16 ` Daniel P. Berrange
2011-12-09 12:45 ` Osier Yang
2011-12-09 12:41 ` Osier Yang
2011-12-09 12:30 ` Osier Yang
2011-12-10 17:56 ` Pekka Enberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111206145538.GG7937@redhat.com \
--to=berrange@redhat.com \
--cc=asias.hejun@gmail.com \
--cc=gorcunov@gmail.com \
--cc=jyang@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=levinsasha928@gmail.com \
--cc=libvir-list@redhat.com \
--cc=mingo@elte.hu \
--cc=penberg@cs.helsinki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).