[libvirt] [PATCH 0/5] Explicit boot device ordering
by Jiri Denemark
Currently, boot order can be specified per device class but there is no
way to specify exact disk/NIC device to boot from. This patchset fixes
that.
There were two options suggested for how this should be modeled in
domain XML:
1)
<os>
<boot target='net1'/>
<boot target='net0'/>
<boot target='hdc'/>
<boot target='hdb'/>
<os>
Where target attributes would match /domain/devices/*/target@dev
2) Adding <boot order='n'/> elements into appropriate device elements.
In addition to the two options Rich suggested a more compact variant of
option 1.
Per former discussion this patchset implements the second option.
Jiri Denemark (5):
conf: Move boot parsing into a separate function
Introduce per-device boot element
qemu: Refactor qemuCapsParsePCIDeviceStrs using virCommand
qemu: Support per-device boot ordering
tests: Add tests for per-device boot elements
docs/formatcaps.html.in | 1 +
docs/formatdomain.html.in | 41 +++++-
docs/schemas/domain.rng | 20 +++-
src/conf/capabilities.c | 3 +-
src/conf/domain_conf.c | 148 ++++++++++++++------
src/conf/domain_conf.h | 2 +
src/qemu/qemu_capabilities.c | 82 +++++++----
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 15 ++-
src/qemu/qemu_command.h | 6 +-
src/qemu/qemu_driver.c | 2 +
src/qemu/qemu_hotplug.c | 8 +-
.../qemuxml2argvdata/qemuxml2argv-boot-order.args | 1 +
tests/qemuxml2argvdata/qemuxml2argv-boot-order.xml | 44 ++++++
tests/qemuxml2argvtest.c | 2 +
tests/qemuxml2xmltest.c | 1 +
16 files changed, 291 insertions(+), 86 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-boot-order.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-boot-order.xml
--
1.7.4.rc1
13 years, 9 months
[libvirt] [Patch v5 0/4] Add new feature into live migration
by Wen Congyang
If the memory of guest OS is changed constantly, the live migration
can not be ended ever for ever.
We can use the command 'virsh migrate-setmaxdowntime' to control the
live migration. But the value of maxdowntime is diffcult to calculate
because it depends on the transfer speed of network and constantly
changing memroy size. We need a easy way to control the live migration.
This patch set add the support of forcing guest to suspend at timeout.
With this patch set, when we migrate the guest OS, we can specify a
timeout. If the live migration timeouts, auto-suspend the guest OS,
where the migration will complete offline.
Test of this patchset on Linux:
Env:
a. The size of guest OS's memory: 1GB
b. The transfer speed of network: about 100Mb/s
c. The size of constantly changing memory: more than 900MB
1. migrate without timeout
# virsh migrate --live RHEL6RC qemu+ssh://<dest IP>/system tcp://<dest IP>:49152
The migration does not end after 12 hours.
2. migrate with timeout(30 minutes):
# virsh -t migrate --live --timeout 1800 RHEL6RC qemu+ssh://<dest IP>/system tcp:<dest IP>:49152
(Time: 1816768.066 ms)
v5:
- merge daemon/event.* and src/util/event.*
- test event when builing without libvirtd
v4:
- move tools/timer.* into src/util/ directory
v3:
- use the existing virEventXXXTimeout() APT to implement timer
- merge Add, Update, Delete into one single interface virSetTimeout()
- start timer thread when initializing timer
v2:
- implement timer for Windows
- implement dynamic timers
Wen Congyang (4):
move daemon/event.* into src/util/ directory
test event when builing without libvirtd
timer impl
force guest to suspend at timeout
cfg.mk | 1 +
daemon/Makefile.am | 1 -
daemon/event.c | 700 ----------------------------------------------
daemon/event.h | 134 ---------
src/Makefile.am | 3 +-
src/libvirt.c | 2 +
src/libvirt_private.syms | 17 ++
src/util/event.c | 676 ++++++++++++++++++++++++++++++++++++++++++++-
src/util/event.h | 106 +++++++
src/util/timer.c | 158 +++++++++++
src/util/timer.h | 34 +++
tests/Makefile.am | 6 +-
tests/eventtest.c | 2 +-
tools/Makefile.am | 1 -
tools/console.c | 2 +-
tools/virsh.c | 69 +++++-
tools/virsh.pod | 4 +
17 files changed, 1069 insertions(+), 847 deletions(-)
delete mode 100644 daemon/event.c
delete mode 100644 daemon/event.h
create mode 100644 src/util/timer.c
create mode 100644 src/util/timer.h
13 years, 9 months
[libvirt] [PATCH] build: restore mingw build
by Eric Blake
* bootstrap.conf (gnulib_modules): Add chmod.
---
Pushing under the build-breaker rule; ./autobuild.sh failed to
cross-compile to mingw due to commit d596c6d requiring chown().
The gnulib function is just an always-failing stub on mingw,
but at least it lets things link again.
bootstrap.conf | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/bootstrap.conf b/bootstrap.conf
index 282768b..1eb8f8f 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -1,6 +1,6 @@
# Bootstrap configuration.
-# Copyright (C) 2010 Red Hat, Inc.
+# Copyright (C) 2010-2011 Red Hat, Inc.
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
@@ -23,6 +23,7 @@ areadlink
base64
c-ctype
canonicalize-lgpl
+chmod
close
connect
configmake
--
1.7.3.4
13 years, 9 months
[libvirt] [v3] qemu: Reject SDL graphic if it's not supported by qemu
by Osier Yang
If the emulator doesn't support SDL graphic, we should reject
the use of SDL graphic xml with error messages, but not ignore
it silently, and pretend things are fine.
"-sdl" flag was exposed explicitly by qemu since 0.10.0, more detail:
http://www.redhat.com/archives/libvir-list/2011-January/msg00442.html
And we already have capability flag "QEMUD_CMD_FLAG_0_10", which
could be used to prevent the patch affecting the older versions
of QEMU.
* src/qemu/qemu_command.c
---
src/qemu/qemu_command.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index a0075a4..55fe249 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -3568,6 +3568,14 @@ qemuBuildCommandLine(virConnectPtr conn,
}
} else if ((def->ngraphics == 1) &&
def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL) {
+ if ((qemuCmdFlags & QEMUD_CMD_FLAG_0_10) &&
+ !(qemuCmdFlags & QEMUD_CMD_FLAG_SDL)) {
+ qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("sdl not supported by '%s'"),
+ def->emulator);
+ goto error;
+ }
+
if (def->graphics[0]->data.sdl.xauth)
virCommandAddEnvPair(cmd, "XAUTHORITY",
def->graphics[0]->data.sdl.xauth);
--
1.7.3.2
13 years, 9 months
[libvirt] [Patch v2 0/2] Some fixes about p2p migration
by Wen Congyang
When we migrate a guest from remote host to localhost by p2p, the libvirtd
on remote host will be deadlock. This patch fixes a bug and we can avoid
the deadlock with this patch.
The steps to reproduce this bug:
# virsh -c qemu+ssh://<remotehost IP>/system migrate --p2p <domain name> qemu+ssh:///system
v2:
- report error instead of changing the desturi as Daniel suggested
- improve the documentation of desturi
Wen Congyang (2):
report error when specifying wrong desturi
doc: improve the documentation of desturi
src/libvirt.c | 17 +++++++++++++++++
tools/virsh.c | 2 +-
tools/virsh.pod | 13 +++++++++++++
3 files changed, 31 insertions(+), 1 deletions(-)
13 years, 9 months
[libvirt] openvzReadNetworkConf:318 : out of memory
by Nathan Stratton
I have been working to get libvirt to work with openvz and kvm. I have had
no issues with KVM but libvirt is hit or miss. Sometimes I get it to work,
but most of the time I get back "out of memory". I have tried all recent
versions of libvirt and vzctl from openvz. Any pointers?
17:52:31.974: debug : virConnectOpen:1425 : name=openvz:///system
17:52:31.974: debug : virEventRunOnce:593 : Poll on 12 handles
0x7f6394001420 timeout -1
17:52:31.974: debug : do_open:1204 : name "openvz:///system" to URI
components:
scheme openvz
opaque (null)
authority (null)
server (null)
user (null)
port 0
path /system
17:52:31.974: debug : do_open:1242 : trying driver 0 (Test) ...
17:52:31.974: debug : do_open:1248 : driver 0 Test returned DECLINED
17:52:31.974: debug : do_open:1242 : trying driver 1 (Xen) ...
17:52:31.974: debug : do_open:1248 : driver 1 Xen returned DECLINED
17:52:31.974: debug : do_open:1242 : trying driver 2 (OPENVZ) ...
17:52:32.003: debug : virEventRunOnce:595 : Poll got 1 event
17:52:32.003: debug : virEventDispatchTimeouts:405 : Dispatch 3
17:52:32.003: debug : virEventDispatchHandles:450 : Dispatch 12
17:52:32.003: debug : virEventDispatchHandles:464 : i=0 w=1
17:52:32.003: debug : virEventDispatchHandles:464 : i=1 w=2
17:52:32.003: debug : virEventDispatchHandles:477 : Dispatch n=1 f=5 w=2 e=1 0x1cfa820
17:52:32.003: info : qemudDispatchSignalEvent:401 : Received unexpected signal 17
17:52:32.003: debug : virEventDispatchHandles:464 : i=2 w=3
17:52:32.003: debug : virEventDispatchHandles:464 : i=3 w=4
17:52:32.003: debug : virEventDispatchHandles:464 : i=4 w=5
17:52:32.003: debug : virEventDispatchHandles:464 : i=5 w=6
17:52:32.003: debug : virEventDispatchHandles:464 : i=6 w=7
17:52:32.003: debug : virEventDispatchHandles:464 : i=7 w=8
17:52:32.003: debug : virEventDispatchHandles:464 : i=8 w=9
17:52:32.003: debug : virEventDispatchHandles:464 : i=9 w=10
17:52:32.003: debug : virEventDispatchHandles:464 : i=10 w=11
17:52:32.003: debug : virEventDispatchHandles:464 : i=11 w=12
17:52:32.003: debug : virEventCleanupTimeouts:495 : Cleanup 3
17:52:32.003: debug : virEventCleanupHandles:536 : Cleanupo 12
17:52:32.006: error : openvzReadNetworkConf:318 : out of memory
17:52:32.009: error : openvzReadNetworkConf:318 : out of memory
17:52:32.013: error : openvzReadNetworkConf:318 : out of memory
17:52:32.016: error : openvzReadNetworkConf:318 : out of memory
17:52:32.020: error : openvzReadNetworkConf:318 : out of memory
17:52:32.023: error : openvzReadNetworkConf:318 : out of memory
17:52:32.027: error : openvzReadNetworkConf:318 : out of memory
17:52:32.030: error : openvzReadNetworkConf:318 : out of memory
17:52:32.034: error : openvzReadNetworkConf:318 : out of memory
17:52:32.037: error : openvzReadNetworkConf:318 : out of memory
17:52:32.041: error : openvzReadNetworkConf:318 : out of memory
17:52:32.044: error : openvzReadNetworkConf:318 : out of memory
17:52:32.048: error : openvzReadNetworkConf:318 : out of memory
17:52:32.051: error : openvzReadNetworkConf:318 : out of memory
17:52:32.055: error : openvzReadNetworkConf:318 : out of memory
17:52:32.058: error : openvzReadNetworkConf:318 : out of memory
17:52:32.062: error : openvzReadNetworkConf:318 : out of memory
17:52:32.062: error : openvzLoadDomains:534 : out of memory
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f6384009340 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f6384009340
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f6384007780 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f6384007780
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f6384005be0 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f6384005be0
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f63840080d0 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f63840080d0
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f63840089f0 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f63840089f0
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f6384006500 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f6384006500
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f63840049b0 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f63840049b0
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f6384004ef0 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f6384004ef0
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f6384008e80 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f6384008e80
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f6384006070 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f6384006070
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f6384007c10 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f6384007c10
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f6384006990 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f6384006990
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f6384006e20 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f6384006e20
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f6384005330 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f6384005330
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f63840072e0 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f63840072e0
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f6384005750 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f6384005750
17:52:32.062: debug : virDomainObjUnref:777 : obj=0x7f63840085f0 refs=0
17:52:32.062: debug : virDomainObjFree:753 : obj=0x7f63840085f0
17:52:32.062: debug : do_open:1248 : driver 2 OPENVZ returned ERROR
17:52:32.062: debug : virUnrefConnect:294 : unref connection 0x7f6384000bd0 1
17:52:32.062: debug : virReleaseConnect:249 : release connection 0x7f6384000bd0
libvir: OpenVZ error : out of memory
><>
Nathan Stratton CTO, BlinkMind, Inc.
nathan at robotics.net nathan at blinkmind.com
http://www.robotics.net http://www.blinkmind.com
13 years, 9 months
[libvirt] [PATCH] esx: Fix memory leak in HostSystem managed object free function
by Matthias Bolte
---
src/esx/esx_vi_types.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/esx/esx_vi_types.c b/src/esx/esx_vi_types.c
index 4ee4110..f3df2b5 100644
--- a/src/esx/esx_vi_types.c
+++ b/src/esx/esx_vi_types.c
@@ -1806,6 +1806,7 @@ ESX_VI__TEMPLATE__FREE(HostSystem,
VIR_FREE(item->name);
/* HostSystem */
+ esxVI_HostConfigManager_Free(&item->configManager);
})
/* esxVI_HostSystem_Validate */
--
1.7.0.4
13 years, 9 months
[libvirt] [PATCH] docs: fix trivial typos in currentMemory description
by Justin Clift
---
Pushed this already as a trivial patch.
docs/formatdomain.html.in | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index e9fcea1..99068ad 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -208,10 +208,10 @@
<dd>The maximum allocation of memory for the guest at boot time.
The units for this value are kilobytes (i.e. blocks of 1024 bytes)</dd>
<dt><code>currentMemory</code></dt>
- <dd>The actual allocation of memory for the guest. This value
+ <dd>The actual allocation of memory for the guest. This value can
be less than the maximum allocation, to allow for ballooning
up the guests memory on the fly. If this is omitted, it defaults
- to the same value as the <code>memory<code> element</dd>
+ to the same value as the <code>memory</code> element</dd>
<dt><code>memoryBacking</code></dt>
<dd>The optional <code>memoryBacking</code> element, may have an
<code>hugepages</code> element set within it. This tells the
--
1.7.3.2
13 years, 9 months
[libvirt] [PATCH] docs: reorder apps page alphabetically, plus add libguestfs entries
by Justin Clift
---
Temporary rendered version online here:
http://justinclift.fedorapeople.org/libvirt_website/apps.html
docs/apps.html.in | 133 +++++++++++++++++++++++++++++++----------------------
1 files changed, 78 insertions(+), 55 deletions(-)
diff --git a/docs/apps.html.in b/docs/apps.html.in
index 8cbee17..9a8ffc0 100644
--- a/docs/apps.html.in
+++ b/docs/apps.html.in
@@ -23,27 +23,54 @@
<img src="madeWith.png" alt="Made with libvirt"/>
</p>
+ <h2><a name="clientserver">Client/Server applications</a></h2>
+
+ <dl>
+ <dt><a href="http://archipelproject.org">Archipel</a></dt>
+ <dd>
+ Archipel is a libvirt-based solution to manage and supervise virtual
+ machines. It uses XMPP for all communication. There is no web
+ service or custom protocol. You just need at least one XMPP server,
+ like eJabberd, to start playing with it. This allows Archipel to
+ work completely real time. You never have to refresh the user
+ interface, you'll be notified as soon as something happens. You can
+ even use your favorite chat clients to command your infrastructure.
+ </dd>
+ <dd>
+ Isn't it great to be able to open a chat conversation with your
+ virtual machine and say things like "How are you today?" or "Hey,
+ please reboot"?
+ </dd>
+ </dl>
+
<h2><a name="command">Command line tools</a></h2>
<dl>
+ <dt><a href="http://libguestfs.org">guestfish</a></dt>
+ <dd>
+ Guestfish is an interactive shell and command-line tool for examining
+ and modifying virtual machine filesystems. It uses libvirt to find
+ guests and their associated disks.
+ </dd>
<dt>virsh</dt>
<dd>
An interactive shell, and batch scriptable tool for performing
management tasks on all libvirt managed domains, networks and
storage. This is part of the libvirt core distribution.
</dd>
- <dt><a href="http://virt-manager.org/">virt-install</a></dt>
- <dd>
- Provides a way to provision new virtual machines from a
- OS distribution install tree. It supports provisioning from
- local CD images, and the network over NFS, HTTP and FTP.
- </dd>
<dt><a href="http://virt-manager.org/">virt-clone</a></dt>
<dd>
Allows the disk image(s) and configuration for an existing
virtual machine to be cloned to form a new virtual machine.
It automates copying of data across to new disk images, and
- updates the UUID, Mac address and name in the configuration
+ updates the UUID, MAC address, and name in the configuration.
+ </dd>
+ <dt><a href="http://et.redhat.com/~rjones/virt-df/">virt-df</a></dt>
+ <dd>
+ Examine the utilization of each filesystem in a virtual machine
+ from the comfort of the host machine. This tool peeks into the
+ guest disks and determines how much space is used. It can cope
+ with common Linux filesystems and LVM volumes.
</dd>
<dt><a href="http://virt-manager.org/">virt-image</a></dt>
<dd>
@@ -53,12 +80,11 @@
into the domain XML format for execution under any libvirt
hypervisor meeting the pre-requisites.
</dd>
- <dt><a href="http://et.redhat.com/~rjones/virt-df/">virt-df</a></dt>
+ <dt><a href="http://virt-manager.org/">virt-install</a></dt>
<dd>
- Examine the utilization of each filesystem in a virtual machine
- from the comfort of the host machine. This tool peeks into the
- guest disks and determines how much space is used. It can cope
- with common Linux filesystems and LVM volumes.
+ Provides a way to provision new virtual machines from a
+ OS distribution install tree. It supports provisioning from
+ local CD images, and the network over NFS, HTTP and FTP.
</dd>
<dt><a href="http://et.redhat.com/~rjones/virt-top/">virt-top</a></dt>
<dd>
@@ -67,26 +93,6 @@
</dd>
</dl>
- <h2><a name="clientserver">Client/Server applications</a></h2>
-
- <dl>
- <dt><a href="http://archipelproject.org">Archipel</a></dt>
- <dd>
- Archipel is a libvirt-based solution to manage and supervise virtual
- machines. It uses XMPP for all communication. There is no web
- service or custom protocol. You just need at least one XMPP server,
- like eJabberd, to start playing with it. This allows Archipel to
- work completely real time. You never have to refresh the user
- interface, you'll be notified as soon as something happens. You can
- even use your favorite chat clients to command your infrastructure.
- </dd>
- <dd>
- Isn't it great to be able to open a chat conversation with your
- virtual machine and say things like "How are you today?" or "Hey,
- please reboot"?
- </dd>
- </dl>
-
<h2><a name="desktop">Desktop applications</a></h2>
<dl>
@@ -106,23 +112,20 @@
</dd>
</dl>
- <h2><a name="web">Web applications</a></h2>
+ <h2><a name="libraries">Libraries</a></h2>
<dl>
- <dt><a href="http://ovirt.org/">oVirt</a></dt>
+ <dt><a href="http://libguestfs.org">libguestfs</a></dt>
<dd>
- oVirt provides the ability to manage large numbers of virtual
- machines across an entire data center of hosts. It integrates
- with FreeIPA for Kerberos authentication, and in the future,
- certificate management.
+ A library and set of tools for accessing and modifying virtual
+ machine disk images. It can be linked with C and C++ management
+ programs, and has bindings for Perl, Python, Ruby, Java, OCaml,
+ PHP, Haskell, and C#.
</dd>
- <dt><a href="http://community.abiquo.com/display/AbiCloud">AbiCloud</a></dt>
<dd>
- AbiCloud is an open source cloud platform manager which allows to
- easily deploy a private cloud in your datacenter. One of the key
- differences of AbiCloud is the web rich interface for managing the
- infrastructure. You can deploy a new service just dragging and
- dropping a VM.
+ Using its FUSE module, you can also mount guest filesystems on the
+ host, and there is a subproject to allow merging changes into the
+ Windows Registry in Windows guests.
</dd>
</dl>
@@ -133,31 +136,31 @@
<dd>
A tool for converting a physical machine into a virtual machine. It
is a LiveCD which is booted on the machine to be converted. It collects
- a little information from the user and then copies the disks over to
+ a little information from the user, then copies the disks over to
a remote machine and defines the XML for a domain to run the guest.
</dd>
</dl>
<h2><a name="monitoring">Monitoring plugins</a></h2>
<dl>
- <dt><a href="http://honk.sigxcpu.org/projects/libvirt/#munin">for munin</a></dt>
- <dd>
- The plugins provided by Guido Günther allow to monitor various things
- like network and block I/O with
- <a href="http://munin.projects.linpro.no/">Munin</a>.
- </dd>
<dt><a href="http://collectd.org/plugins/libvirt.shtml">for collectd</a></dt>
<dd>
The libvirt-plugin is part of <a href="http://collectd.org/">collectd</a>
- and gather statistics about virtualized guests on a system. This
+ and gathers statistics about virtualized guests on a system. This
way, you can collect CPU, network interface and block device usage
for each guest without installing collectd on the guest systems.
- or a full description of available please refer to the libvirt section
- in the collectd.conf(5) manual page.
+ For a full description, please refer to the libvirt section in the
+ collectd.conf(5) manual page.
+ </dd>
+ <dt><a href="http://honk.sigxcpu.org/projects/libvirt/#munin">for munin</a></dt>
+ <dd>
+ The plugins provided by Guido Günther allow to monitor various things
+ like network and block I/O with
+ <a href="http://munin.projects.linpro.no/">Munin</a>.
</dd>
<dt><a href="http://et.redhat.com/~rjones/nagios-virt/">nagios-virt</a></dt>
<dd>
- Nagios-virt is a configuration tool for adding monitoring of your
+ Nagios-virt is a configuration tool to add monitoring of your
virtualised domains to <a href="http://www.nagios.org/">Nagios</a>.
You can use this tool to either set up a new Nagios installation for
your Xen or QEMU/KVM guests, or to integrate with your existing Nagios
@@ -165,5 +168,25 @@
</dd>
</dl>
+ <h2><a name="web">Web applications</a></h2>
+
+ <dl>
+ <dt><a href="http://community.abiquo.com/display/AbiCloud">AbiCloud</a></dt>
+ <dd>
+ AbiCloud is an open source cloud platform manager which allows to
+ easily deploy a private cloud in your datacenter. One of the key
+ differences of AbiCloud is the web rich interface for managing the
+ infrastructure. You can deploy a new service just dragging and
+ dropping a VM.
+ </dd>
+ <dt><a href="http://ovirt.org/">oVirt</a></dt>
+ <dd>
+ oVirt provides the ability to manage large numbers of virtual
+ machines across an entire data center of hosts. It integrates
+ with FreeIPA for Kerberos authentication, and in the future,
+ certificate management.
+ </dd>
+ </dl>
+
</body>
</html>
--
1.7.3.2
13 years, 9 months
[libvirt] [v2] qemu: Reject SDL graphic if it's not supported by qemu
by Osier Yang
If the emulator doesn't support SDL graphic, we should reject
the use of SDL graphic xml with error messages, but not ignore
it silently, and pretend things are fine.
"-sdl" flag was exposed explicitly by qemu since 0.10.0, more detail:
http://www.redhat.com/archives/libvir-list/2011-January/msg00442.html
And we already have capability flag "QEMUD_CMD_FLAG_0_10", which
could be used to prevent the patch affecting the older versions
of QEMU.
* src/qemu/qemu_command.c
---
src/qemu/qemu_command.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index a0075a4..55fe249 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -3568,6 +3568,14 @@ qemuBuildCommandLine(virConnectPtr conn,
}
} else if ((def->ngraphics == 1) &&
def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL) {
+ if ((qemuCmdFlags & QEMUD_CMD_FLAG_0_10) &&
+ !(qemuCmdFlags & QEMUD_CMD_FLAG_SDL)) {
+ qemuReportError(VIR_ERR_INTERNAL_ERROR,
+ _("sdl not supported by '%s'"),
+ def->emulator);
+ goto error;
+ }
+
if (def->graphics[0]->data.sdl.xauth)
virCommandAddEnvPair(cmd, "XAUTHORITY",
def->graphics[0]->data.sdl.xauth);
--
1.7.3.2
13 years, 9 months