[libvirt] [PATCH] esx: Allow 'pvscsi' as SCSI controller model
by Matthias Bolte
---
docs/drvesx.html.in | 13 ++++++++++++-
docs/schemas/domain.rng | 1 +
src/conf/domain_conf.c | 3 ++-
src/conf/domain_conf.h | 1 +
src/esx/esx_vmx.c | 12 +++++++-----
tests/vmx2xmldata/vmx2xml-scsi-driver.vmx | 5 +++++
tests/vmx2xmldata/vmx2xml-scsi-driver.xml | 6 ++++++
tests/xml2vmxdata/xml2vmx-scsi-driver.vmx | 5 +++++
tests/xml2vmxdata/xml2vmx-scsi-driver.xml | 5 +++++
9 files changed, 44 insertions(+), 7 deletions(-)
diff --git a/docs/drvesx.html.in b/docs/drvesx.html.in
index bc7e1a0..f4e7530 100644
--- a/docs/drvesx.html.in
+++ b/docs/drvesx.html.in
@@ -302,7 +302,13 @@ ethernet0.checkMACAddress = "false"
</dd>
<dt><code>lsisas1068</code></dt>
<dd>
- LSI Logic SAS 1068 controller.
+ LSI Logic SAS 1068 controller. <span class="since">Since 0.8.0</span>
+ </dd>
+ <dt><code>pvscsi</code></dt>
+ <dd>
+ Special VMware Paravirtual SCSI controller, requires VMware tools inside
+ the guest. See <a href="http://kb.vmware.com/kb/1010398">VMware KB1010398</a>
+ for details. <span class="since">Since 0.8.3</span>
</dd>
</dl>
<p>
@@ -642,5 +648,10 @@ Enter administrator password for example-vcenter.com:
VMware VMX config parameters
</a>
</li>
+ <li>
+ <a href="http://www.vmware.com/pdf/vsp_4_pvscsi_perf.pdf">
+ VMware ESX 4.0 PVSCSI Storage Performance
+ </a>
+ </li>
</ul>
</body></html>
diff --git a/docs/schemas/domain.rng b/docs/schemas/domain.rng
index fd57917..b171d01 100644
--- a/docs/schemas/domain.rng
+++ b/docs/schemas/domain.rng
@@ -676,6 +676,7 @@
<value>buslogic</value>
<value>lsilogic</value>
<value>lsisas1068</value>
+ <value>pvscsi</value>
</choice>
</attribute>
</optional>
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 378c06e..3cd43c4 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -142,7 +142,8 @@ VIR_ENUM_IMPL(virDomainController, VIR_DOMAIN_CONTROLLER_TYPE_LAST,
VIR_ENUM_IMPL(virDomainControllerModel, VIR_DOMAIN_CONTROLLER_MODEL_LAST,
"buslogic",
"lsilogic",
- "lsisas1068")
+ "lsisas1068",
+ "pvscsi")
VIR_ENUM_IMPL(virDomainFS, VIR_DOMAIN_FS_TYPE_LAST,
"mount",
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 01da17e..3451302 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -199,6 +199,7 @@ enum virDomainControllerModel {
VIR_DOMAIN_CONTROLLER_MODEL_BUSLOGIC,
VIR_DOMAIN_CONTROLLER_MODEL_LSILOGIC,
VIR_DOMAIN_CONTROLLER_MODEL_LSISAS1068,
+ VIR_DOMAIN_CONTROLLER_MODEL_PVSCSI,
VIR_DOMAIN_CONTROLLER_MODEL_LAST
};
diff --git a/src/esx/esx_vmx.c b/src/esx/esx_vmx.c
index e10e745..46875f3 100644
--- a/src/esx/esx_vmx.c
+++ b/src/esx/esx_vmx.c
@@ -740,11 +740,12 @@ esxVMX_GatherSCSIControllers(virDomainDefPtr def, int virtualDev[4],
if (controller->model != -1 &&
controller->model != VIR_DOMAIN_CONTROLLER_MODEL_BUSLOGIC &&
controller->model != VIR_DOMAIN_CONTROLLER_MODEL_LSILOGIC &&
- controller->model != VIR_DOMAIN_CONTROLLER_MODEL_LSISAS1068) {
+ controller->model != VIR_DOMAIN_CONTROLLER_MODEL_LSISAS1068 &&
+ controller->model != VIR_DOMAIN_CONTROLLER_MODEL_PVSCSI) {
ESX_ERROR(VIR_ERR_INTERNAL_ERROR,
_("Expecting domain XML attribute 'model' of entry "
"'controller' to be 'buslogic' or 'lsilogic' or "
- "'lsisas1068' but found '%s'"),
+ "'lsisas1068' or 'pvscsi' but found '%s'"),
virDomainControllerModelTypeToString(controller->model));
return -1;
}
@@ -1483,11 +1484,12 @@ esxVMX_ParseSCSIController(virConfPtr conf, int controller, bool *present,
if (*virtualDev == -1 ||
(*virtualDev != VIR_DOMAIN_CONTROLLER_MODEL_BUSLOGIC &&
*virtualDev != VIR_DOMAIN_CONTROLLER_MODEL_LSILOGIC &&
- *virtualDev != VIR_DOMAIN_CONTROLLER_MODEL_LSISAS1068)) {
+ *virtualDev != VIR_DOMAIN_CONTROLLER_MODEL_LSISAS1068 &&
+ *virtualDev != VIR_DOMAIN_CONTROLLER_MODEL_PVSCSI)) {
ESX_ERROR(VIR_ERR_INTERNAL_ERROR,
_("Expecting VMX entry '%s' to be 'buslogic' or 'lsilogic' "
- "or 'lsisas1068' but found '%s'"), virtualDev_name,
- virtualDev_string);
+ "or 'lsisas1068' or 'pvscsi' but found '%s'"),
+ virtualDev_name, virtualDev_string);
goto failure;
}
}
diff --git a/tests/vmx2xmldata/vmx2xml-scsi-driver.vmx b/tests/vmx2xmldata/vmx2xml-scsi-driver.vmx
index cb055f6..64d7c99 100644
--- a/tests/vmx2xmldata/vmx2xml-scsi-driver.vmx
+++ b/tests/vmx2xmldata/vmx2xml-scsi-driver.vmx
@@ -6,6 +6,8 @@ scsi1.present = "true"
scsi1.virtualDev = "lsilogic"
scsi2.present = "true"
scsi2.virtualDev = "lsisas1068"
+scsi3.present = "true"
+scsi3.virtualDev = "pvscsi"
scsi0:0.present = "true"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "harddisk1.vmdk"
@@ -15,3 +17,6 @@ scsi1:0.fileName = "harddisk2.vmdk"
scsi2:0.present = "true"
scsi2:0.deviceType = "scsi-hardDisk"
scsi2:0.fileName = "harddisk3.vmdk"
+scsi3:0.present = "true"
+scsi3:0.deviceType = "scsi-hardDisk"
+scsi3:0.fileName = "harddisk4.vmdk"
diff --git a/tests/vmx2xmldata/vmx2xml-scsi-driver.xml b/tests/vmx2xmldata/vmx2xml-scsi-driver.xml
index d39415d..f5739d9 100644
--- a/tests/vmx2xmldata/vmx2xml-scsi-driver.xml
+++ b/tests/vmx2xmldata/vmx2xml-scsi-driver.xml
@@ -26,8 +26,14 @@
<target dev='sdae' bus='scsi'/>
<address type='drive' controller='2' bus='0' unit='0'/>
</disk>
+ <disk type='file' device='disk'>
+ <source file='[datastore] directory/harddisk4.vmdk'/>
+ <target dev='sdat' bus='scsi'/>
+ <address type='drive' controller='3' bus='0' unit='0'/>
+ </disk>
<controller type='scsi' index='0' model='buslogic'/>
<controller type='scsi' index='1' model='lsilogic'/>
<controller type='scsi' index='2' model='lsisas1068'/>
+ <controller type='scsi' index='3' model='pvscsi'/>
</devices>
</domain>
diff --git a/tests/xml2vmxdata/xml2vmx-scsi-driver.vmx b/tests/xml2vmxdata/xml2vmx-scsi-driver.vmx
index 7cceca0..a92d7fc 100644
--- a/tests/xml2vmxdata/xml2vmx-scsi-driver.vmx
+++ b/tests/xml2vmxdata/xml2vmx-scsi-driver.vmx
@@ -11,6 +11,8 @@ scsi1.present = "true"
scsi1.virtualDev = "lsilogic"
scsi2.present = "true"
scsi2.virtualDev = "lsisas1068"
+scsi3.present = "true"
+scsi3.virtualDev = "pvscsi"
scsi0:0.present = "true"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "/vmfs/volumes/datastore/directory/harddisk1.vmdk"
@@ -20,3 +22,6 @@ scsi1:0.fileName = "/vmfs/volumes/datastore/directory/harddisk2.vmdk"
scsi2:0.present = "true"
scsi2:0.deviceType = "scsi-hardDisk"
scsi2:0.fileName = "/vmfs/volumes/datastore/directory/harddisk3.vmdk"
+scsi3:0.present = "true"
+scsi3:0.deviceType = "scsi-hardDisk"
+scsi3:0.fileName = "/vmfs/volumes/datastore/directory/harddisk4.vmdk"
diff --git a/tests/xml2vmxdata/xml2vmx-scsi-driver.xml b/tests/xml2vmxdata/xml2vmx-scsi-driver.xml
index 797a26e..ae3a43c 100644
--- a/tests/xml2vmxdata/xml2vmx-scsi-driver.xml
+++ b/tests/xml2vmxdata/xml2vmx-scsi-driver.xml
@@ -21,5 +21,10 @@
<source file='[datastore] directory/harddisk3.vmdk'/>
<target dev='sdae' bus='scsi'/>
</disk>
+ <disk type='file' device='disk'>
+ <driver name='pvscsi'/>
+ <source file='[datastore] directory/harddisk4.vmdk'/>
+ <target dev='sdat' bus='scsi'/>
+ </disk>
</devices>
</domain>
--
1.7.0.4
14 years, 4 months
Re: [libvirt] Get IP address of a running domain
by Camilo Aguilar
Hi Adrian,
afaik, there is no a direct function to get the domain ip address if the
address is acquired through DHCP
regards,
Camilo Aguilar
On Tue, Jul 6, 2010 at 3:14 PM, adrian wyssen <wyssenadrian(a)gmail.com>wrote:
> year, i can find the mac address of the machine with virDomainGetXMLDesc,
> but not the ip. and since the machine is remote, the ip is not in my arp
> cache. is there no other way or can i get the ip out of mac (even if this is
> a "virtual" mac)?
>
> I must be able to contact the virtual domain via it's IP from within the
> same network.
>
> thanks for your help!
> adrian
>
> 2010/7/6 Camilo Aguilar <camilo(a)cloudescape.com>
>
> You should take a look in http://libvirt.org/formatdomain.html and
>> http://libvirt.org/html/libvirt-libvirt.html#virDomainGetXMLDesc
>>
>> regards,
>> Camilo Aguilar
>>
>> On Tue, Jul 6, 2010 at 2:23 PM, adrian wyssen <wyssenadrian(a)gmail.com>wrote:
>>
>>> Hi,
>>> Sorry bothering you again, but I have another question: I did not find
>>> any possibility to get the IP address of a running domain with libvirt. I
>>> can get the domain pointer but I did not find any function in the API
>>> returning my the IP address of the domain. I just can get other information
>>> about the domain with virDomainGetInfo, but no IP. I want to be able to get
>>> either a static assigned IP or a dynamically received IP from a DHCP server.
>>>
>>> PS: I use the ESX driver.
>>> Thanks for giving me a hint.
>>> Adrian
>>>
>>> --
>>> libvir-list mailing list
>>> libvir-list(a)redhat.com
>>> https://www.redhat.com/mailman/listinfo/libvir-list
>>>
>>
>>
>
14 years, 4 months
[libvirt] Get IP address of a running domain
by adrian wyssen
Hi,
Sorry bothering you again, but I have another question: I did not find any
possibility to get the IP address of a running domain with libvirt. I can
get the domain pointer but I did not find any function in the API returning
my the IP address of the domain. I just can get other information about the
domain with virDomainGetInfo, but no IP. I want to be able to get either a
static assigned IP or a dynamically received IP from a DHCP server.
PS: I use the ESX driver.
Thanks for giving me a hint.
Adrian
14 years, 4 months
[libvirt] Fwd: Allow to change the maximum migration downtime -- bug 561935
by Alex Jia
----- Forwarded Message -----
From: "Alex Jia" <ajia(a)redhat.com>
To: "Daniel Berrange" <berrange(a)redhat.com>
Cc: libvir-list(a)redhat.com
Sent: Friday, July 2, 2010 10:32:58 AM GMT +00:00 Monrovia
Subject: Allow to change the maximum migration downtime -- bug 561935
Hi Daniel,
I have simulated a slow network by linux bridge on source host machine,
but I found that I hardly connected guest by serial or vnc, it is pretty
slow, I can't run other big application in the guest, so I change my idea,
as long as I have a slow link, whether the network is in source or target
machine, finally, I created slow network on target machine, the attachment
is a shell script about the network creation process.
Using 'tc' to throttle network traffic on the target host
# tc qdisc show
qdisc tbf 8004: dev eth0 root refcnt 2 rate 128000bit burst 128Kb lat 50.0ms
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
WRT big apps, I use stress tool to consume guest memory(current size is 4G),
cmd line argument as following:
stress --cpu 2 --io 2 --vm 50 --vm-bytes 128M --timeout 480s
And then running migration, and open another terminal set maximum migration
downtime 60000 milliseconds, the following error information is raised by
libvirt:
1.open one terminal run migrate
# virsh migrate rhel6 qemu+ssh://10.66.70.152/system
root(a)10.66.70.152's password:
2.open another terminal set maximum migration downtime
# virsh migrate-setmaxdowntime --domain rhel6 --downtime 60000
error: Requested operation is not valid: domain is not being migrated
In fact, step 1 can be finished, but it need very very long time.
BTW, the guest can be successfully migrated if I don't use the above environment
configuration.
Best Regards,
Alex
14 years, 4 months
[libvirt] ESXi support
by adrian wyssen
Hello everyone
I am really new to libvirt and I have to use it with ESXi. I was writing
code for listing the virtual machines in a ESXi server. If I connect me with
the virsh to the ESXi server, it works. But since I can not create any
certificates on the server (ESXi does not have any console...) I have to use
the no_verify option (esx://host/?no_verify=1)
I want to do the same with the API, but when I use this string in the uri
parameter of the following code
conn = virConnectOpenAuth(uri, virConnectAuthPtrDefault, 0);
the system returns "libvir: Remote error : Cannot access CA certificate
'/etc/pki/CA/cacert.pem': No such file or directory
No connection to hypervisor"
What method can I use to be able to connect to the server by ignoring the
missing certificate? Another question is: Are there any example codes for
using ESX(i), because as I said I am really new with libvirt and I did not
find any examples.
Thanks a lot for your help.
Adrian
14 years, 4 months
[libvirt] Bugs when installing Windows XP
by Laurent Léonard
Hi,
There are 2 bugs (regressions) when installing Windows XP, it can be
reproduced with libvirt 0.8.x.
After the first installation stage, the machine reboots but:
- the CD-ROM is removed, so the second stage asks for the CD-ROM.
- if I force the shutdown, the machine reboots. If I force the shutdown again
after the reboot the machine shuts off as expected.
Thank you,
--
Laurent Léonard
14 years, 4 months
[libvirt] Migrate not running guests
by Juan Quintela
Hi
In an exercise to use more libvirt, I am trying to use libvirt with my
normal use. First, I will explain how I normally run my guests.
I install guests on a machine with virt-install <....>
I store all my guests images in a shared directory that is mounted in
all my hosts.
Now, it is trivial for me to launch qemu-kvm <options> on any machine,
it don't matters if I have to use a rhel5, rhel6, fedora13 host.
Everything works as expected.
Except for the little fact that I have to remember the whole command
line when I go from one machine to other, to use ide/virtio/rtl8139/....
You get the idea. And thing got worse the more guests that I have.
Now I can run virt-manager on my desktop (machine A).
Connect to host B. And launch my guests VM1 (on host B). No problem so far.
I can indeed migrate my guests to machine C. No problem so far.
And now I can start my guest VM1 in both host B and host C. It is there
on virt-manager, one click away of launching.
The functionality that I would really like is a "way" to store my guest
information on my desktop (machine A), and be able to launch the guest
on any host. I.e. a menu option when I click on the guest, that let me
launch it in a different host, not in the one that it is defined.
If that is difficult to implement for now, a "migrate" for a shut off
guest will do by now. It should be something like
virsh dumpxml foo > foo.xml
virsh define foo.xml
(this is the way that I do it by hand now).
Why do I need this? because I have hosts with RHEL5/RHEL6/F13/....
And just now, I have to reinstall, do the previous dumpxml/define each
time that I have to reproduce one bug in one host or another. To make
things worse, sometimes RHEL5.4 and RHEL6.0 xml's are not completely
compatible and I have to fix it by hand.
Any better ideas about how to do this?
Notice that I think that RHEV-M does something like this, but debugging
on a RHEV-M host is an exercise on pain (everything is read only, ...)
Later, Juan.
14 years, 4 months
[libvirt] Release of libvirt-0.8.2
by Daniel Veillard
Following Dan advice, I decided to not wait for more patches and push
the current git head as the release. Let's plan to have another release
by this month end with the QEmu debugging and hacking APIs.
The release is available as usual at ftp://libvirt.org/libvirt
Quite a lot of bug fixes during the two months since 0.8.1, and
a few new feature. It also tagged more commits as being documentation
or portability fixes, it's good :-)
Features:
- phyp: adding support for IVM (Eduardo Otubo)
- libvirt: introduce domainCreateWithFlags API (Eric Blake)
- add 802.1Qbh and 802.1Qbg switches handling (Stefan Berger)
- Support for VirtualBox version 3.2 (Jean-Baptiste Rouault)
- Init script for handling guests on shutdown/boot (Jiri Denemark)
- qemu: live migration with non-shared storage for kvm (Kenneth Nagin)
Documentation:
- html docs: add link to PHP bindings by Radek Hladik (Justin Clift)
- virsh: document attach-disk better (Eric Blake)
- bridge_driver.c: fix file description (Alan Pevec)
- nwfilter: extensions of docs with (Stefan Berger)
- Fix description of virStorageVolGetInfo() (Philipp Hahn)
- virsh: improve help text for vol query commands (Justin Clift)
- virsh: fixed trivial comment and debug message in vshCommandOptVolBy function (Justin Clift)
- virsh: remove xen reference in header comment (Justin Clift)
- virsh: add the volume commands to the virsh man page (Justin Clift)
- virsh: fix minor virsh man page typos and formatting problems (Justin Clift)
- Trivial virsh.pod additions --all for "list" command and similar (Justin Clift)
- Add docs on drive <serial> element (Марк Коренберг)
- daemon: sysconf: Update comment about VNC audio (Cole Robinson)
- nwfilter: documentation (Stefan Berger)
- docs: distribute more coding convention documentation (Eric Blake)
- note a typo: VIR_MIGRATE_TUNNELLED should be VIR_MIGRATE_TUNNELED, (Jim Meyering)
- datatypes: fix comment typo (Eric Blake)
- Fix a typo in docs (Ersek Laszlo)
- docs: hacking: explain why using curly braces well is important (Jim Meyering)
Portability:
- cgroup: Fix compilation broken on MinGW due to dirent->d_type (Ryota Ozaki)
- parthelper: fix compilation without optimization (Eric Blake)
- build: fix some mingw issues (Eric Blake)
- build: avoid pthreads-win32 on mingw (Eric Blake)
- build: fix cygwin build, correctly this time (Eric Blake)
- build: fix up some compiler flags (Eric Blake)
- build: avoid compile failure on linux kernels older than 2.6.19 (Jim Meyering)
- libvirt_proxy: link with -lpthread if needed (Eric Blake)
- build: allow older gettext (Eric Blake)
- mingw32-libvirt.spec: bring up to date (Eric Blake)
- avoid link error in tests using libvirt_util; due to pthread_sigmask (Jim Meyering)
- configure.ac: Avoid uname, which breaks cross-compilation (Matthias Bolte)
- mingw: Fix two undefined symbols (Matthias Bolte)
- build: avoid compiler warning (Eric Blake)
- build: prefer WIN32 over __MINGW32__ checks (Eric Blake)
- dnsmasqReload: avoid mingw link failure (Eric Blake)
- mingw: Fix symbol export (Matthias Bolte)
Bug Fixes:
- Avoid invoking the qemu monitor destroy callback if the constructor fails (Daniel P. Berrange)
- cgroup: Add missing errno == ENOENT check in virCgroupRemoveRecursively (Ryota Ozaki)
- Fix crash when detaching devices from qemu domains. (Chris Lalancette)
- virFileResolveLink: guarantee an absolute path (Eric Blake)
- phyp: don't steal storage management from other drivers (Eric Blake)
- Avoid calling virStorageFileIsSharedFS with NULL (Laine Stump)
- lxc: Fix virsh console doesn't work after restarting libvirtd (Ryota Ozaki)
- lxc: Fix error handlings in lxcContainerRenameAndEnableInterfaces (Ryota Ozaki)
- Set proper selinux label on image file during qemu domain restore (Laine Stump)
- build: fix regression with libvirt-api.xml generation (Eric Blake)
- Fix a reference leak for node devices. (Chris Lalancette)
- Don't squash file permissions when migration fails (Daniel P. Berrange)
- Fix migration in text mode and shared storage migration in json mode (Daniel P. Berrange)
- Add missing parameter in python Disk IO error callback (Daniel P. Berrange)
- Check for presence of qemu -nodefconfig option before using it (Laine Stump)
- cgroup: Change virCgroupRemove to remove all descendant groups at first (Ryota Ozaki)
- Fix reference handling leak on qemuMonitor (Daniel P. Berrange)
- Don't leak open fd to virsh in libvirt-guests init script (Jiri Denemark)
- nwfilter: fix loadable module support (Stefan Berger)
- Do not free static buffer with UUID (Jiri Denemark)
- qemu: Fix crash on failed VM startup (Cole Robinson)
- Add several missing vir*Free calls in libvirtd's remote code (Matthias Bolte)
- Fix enumeration of partitions in disks with a trailing digit in path (Daniel P. Berrange)
- vbox: check getenv("DISPLAY") for NULL in vboxDomainDumpXML (Matthias Bolte)
- Check getenv("PATH") for NULL in virFindFileInPath (Matthias Bolte)
- Fix cgroup setup code to cope with root squashing NFS (Daniel P. Berrange)
- Fix leaks in udev device add/remove v3 (David Allan)
- Ensure that PCI device is reattached to host if hotadd fails (Daniel P. Berrange)
- Don't raise errors in the selinux restore code (Daniel P. Berrange)
- Fix check for errors in device_add command in QEMU text monitor (Daniel P. Berrange)
- Network duplicate UUID/name checking (Daniel P. Berrange)
- Storage pool duplicate UUID/name checking (Daniel P. Berrange)
- Fix auto-adding of virtio serial controllers (Daniel P. Berrange)
- Ensure UNIX domain sockets are removed on daemon shutdown (Daniel P. Berrange)
- Fix AppArmor save/restore.Add stdin_path to qemudStartVMDaemon() args. (Jamie Strandboge)
- Adjust block size used by dd to speed QEMU domain save operations. (Laine Stump)
- Fix dereference of potentially freed pointer in qemudDomainSaveFlags (Laine Stump)
- Update nodedev scsi_host data before use (David Allan)
- Fix device destroy return value (David Allan)
- storage: Check for invalid storage mode before opening (Cole Robinson)
- Improve nodedev parent/child relationships (David Allan)
- network: bridge: Don't start network if it collides with host routing (Cole Robinson)
- Fix integer overflow in hotplug methods (Daniel P. Berrange)
- Fix failing virGetHostname. (Chris Lalancette)
- storage: Sanitize pool target paths (Cole Robinson)
- Fix handling of disk backing stores with cgroups (Daniel P. Berrange)
- Fix up basic migration. (Chris Lalancette)
- qemu: Release bus address on PCI host device remove (Alex Williamson)
- qemu: avoid corrupting guest info struct on host device PCI hot add (Alex Williamson)
- Query block allocation extent from QEMU monitor (Daniel P. Berrange)
- Don't overwrite virDomainAssignDef errors. (Chris Lalancette)
- Fix race in finding available vnc port (Jim Fehlig)
- qemu driver: fix version check typos (Chris Wright)
- daemon: A few initscript corrections (Cole Robinson)
- qemu: Properly cleanup in security startup error path (Cole Robinson)
- qemudDomainMigrateFinish2: handle a case of virDomainSaveStatus failure (Jim Meyering)
- Fix potential NULL dereference in remoteDomainMigratePrepare2 (Jiri Denemark)
- qemudDomainRestore: handle a case of virDomainSaveStatus failure (Jim Meyering)
- python: don't ignore virInitialize failure in module initialization (Jim Meyering)
- tests: do not ignore virInitialize failure (Jim Meyering)
- qemuMonitorTextMigrate: avoid leak on OOM-error path (Jim Meyering)
- virNWFilterDefParseXML: avoid leak on error paths (Jim Meyering)
- virDomainNetDefParseXML: avoid leak upon multiple "filterref" (Jim Meyering)
- ebiptablesWriteToTempFile: don't close a negative file descriptor (Jim Meyering)
- Protect against NULL pointer flaws in monitor usage (Daniel P. Berrange)
- Fix multiple potential NULL pointer references in monitor usage (Daniel P. Berrange)
- umlAutostartDomain: avoid NULL-deref upon virGetLastError failure (Jim Meyering)
- x86ModelHasFeature: avoid NULL-dereference for unmatched CPU "feature" (Jim Meyering)
- qemudDomainSetVcpus: avoid NULL-deref (Jim Meyering)
- nwfilter: Add missing driver lock in qemu driver (Stefan Berger)
- Fix a misuse of virAsprintf in qemudDomainMemoryPeek (Ryota Ozaki)
- Don't reset user/group/security label on shared filesystems during migrate (Daniel P. Berrange)
- Fix handling of disk backing stores with cgroups (Daniel P. Berrange)
- Fix possible crash in handling IO Error event (Daniel P. Berrange)
- Fix monitor ref counting when adding event handle (Jiri Denemark)
- Remove watches before calling REMOTE_PROC_CLOSE (Jiri Denemark)
- node_device: udev: Fix PCI product/vendor swappage (Cole Robinson)
- virsh: schedinfo --set invalid=value would simply ignore the option (Jim Meyering)
- Remove unused nwfilter field from struct remote_error (Matthew Booth)
- util: fix va_start usage bug (Eric Blake)
- Don't wipe generated iface target in active domains (Jiri Denemark)
- Various fixes for the spec file (Daniel Veillard)
- lxc: Check domain is active/inactive as required by operation (Jiri Denemark)
- lxc: Make SetMemory work for active domains only (Jiri Denemark)
- cgroup: Fix possible memory leak in virCgroupMakeGroup (Ryota Ozaki)
- Fix memory leaks in cmdInterfaceEdit and cmdNWFilterEdit. (Laine Stump)
- lxc: Fix failure on starting a domain with multiple interfaces (Ryota Ozaki)
Improvements:
- vbox: Let configure detect/set the XPCOMC directory (Matthias Bolte)
- udev: Parse PCI devices even if libpciaccess fails (Cole Robinson)
- qemu: Improve some qemu.conf error reporting (Cole Robinson)
- util: virExec: Dispatch all errors raised after fork (Cole Robinson)
- virsh: tweak help output for VSH_OT_DATA (Eric Blake)
- Check for active PCI devices when doing nodedevice operations. (Chris Lalancette)
- virsh: add new --details option to pool-list (Justin Clift)
- Selectively ignore domainSetSecurityAllLabel failure in domain restore (Laine Stump)
- use virStorageFileIsSharedFS utility function in qemudDomainSaveFlag (Laine Stump)
- Enhance virStorageFileIsSharedFS (Laine Stump)
- phyp: optimize use of sed (Eric Blake)
- phyp: add storage management driver (Eduardo Otubo)
- phyp: add rudimentary storage driver (Eduardo Otubo)
- maint: add gnulib gettimeofday module (Eric Blake)
- Avoid blocking all APIs during incoming migration (Daniel P. Berrange)
- Set labelling for character devices in security drivers (Daniel P. Berrange)
- Add API for iterating over all character devices (Daniel P. Berrange)
- Adding Storage Management driver (style and indentation) (Eduardo Otubo)
- esx: Add support for the controller element (Matthias Bolte)
- Add optional model attribute to the controller element (Matthias Bolte)
- Add wide SCSI bus disk address generation support (Matthias Bolte)
- cgroup: Enable memory.use_hierarchy of cgroup for domain (Ryota Ozaki)
- network: allow tftp port if tftp is defined (Alan Pevec)
- Add '-nodefconfig' command line arg to QEMU (Daniel P. Berrange)
- Make checks for inactive QEMU guest more robust (Daniel P. Berrange)
- Improve some error messages about unsupported APIs/URIs (Daniel P. Berrange)
- Index hashes by UUID instead of name (Jiri Denemark)
- Allow one-or-more <boot dev="..."/> entries (Philipp Hahn)
- virsh: add --uuid option to vol-pool (Justin Clift)
- nwfilter: add XML attribute to control iptables state match (Stefan Berger)
- virsh: ensure persistence and autostart are shown for dominfo and pool-info (Justin Clift)
- nwfilter: use match target on incoming traffic (Stefan Berger)
- macvtap: work-around for 2.6.32 and older kernels (Stefan Berger)
- virsh: add pool support to vol-key command (Justin Clift)
- esx: Update case insensitive .vmx tests (Matthias Bolte)
- esx: Accept 'disk' as harddisk device type in .vmx files (Matthias Bolte)
- virsh: mark autostart answers for translation (Justin Clift)
- virsh: add start --paused support (Eric Blake)
- qemu: support starting persistent domain paused (Eric Blake)
- drivers: add virDomainCreateWithFlags if virDomainCreate exists (Eric Blake)
- remote: protocol implementation for virDomainCreateWithFlags (Eric Blake)
- uml: sanity check external data before using it (Eric Blake)
- Improve error message for disabled client-side drivers (Matthias Bolte)
- virsh: add snapshot backing store support to vol-create-as (Justin Clift)
- esx: Add proxy query parameter (Matthias Bolte)
- esx: Refactor esxUtil_ParseQuery's parameter handling (Matthias Bolte)
- virsh: add new vol-pool command (Justin Clift)
- virsh: add --paused option to create (Eric Blake)
- qemu: allow creation of a paused domain (Eric Blake)
- virDomainCreateXML: support new flag (Eric Blake)
- Add multiIQN tests (David Allan)
- Add multiiqn XML dump (David Allan)
- Fix test breakage from virtio serial changes (Daniel P. Berrange)
- Enable probing of VPC disk format type (Daniel P. Berrange)
- Prefer UDEV to HAL drivers if both a compiled (Daniel P. Berrange)
- Add support for setting socket MLS level in SELinux driver (Daniel J Walsh)
- Fix error codes for missing storage pools (Daniel P. Berrange)
- Include port number with virtio serial devices (Daniel P. Berrange)
- Disable use of 'reason' field in block IO event in QEMU (Daniel P. Berrange)
- Add stdin_path to qemudStartVMDaemon() args. (Jamie Strandboge)
- Allocate buffer to hold xend response (Jim Fehlig)
- phyp: Strict check when listing domains (Eduardo Otubo)
- hostusb: Properly handle 'usbX' sysfs files (Cole Robinson)
- Add --source-format argument to virsh pool-define-as and pool-create-as (Justin Clift)
- Add --source-format argument to virsh pool-define-as and pool-create-as (Justin Clift)
- build: fix VPATH 'make syntax-check' (Eric Blake)
- qemu: Add a qemu.conf option for clearing capabilities (Cole Robinson)
- macvtap: cannot support target device name (Stefan Berger)
- Fix libvirt-guests init script (Jiri Denemark)
- maint: new syntax-check rule to ensure that AUTHORS stays in sync (Jim Meyering)
- maint: update AUTHORS with recent contributors (Eric Blake)
- xen: Fix chardev listen sexpr formatting (Cole Robinson)
- v2 of Cole's wlan support (David Allan)
- Install, distribute and package domainsnapshot.rng (Matthias Bolte)
- build: support 'make check' in pristine tree (Eric Blake)
- esx: Expose host UUID in the capabilities XML (Matthias Bolte)
- Pass pre-opened PCI device sysfs config file to QEMU (Alex Williamson)
- xen-proxy build broken (Matthias Bolte)
- esx: Add read-only storage pool access (Matthias Bolte)
- libvirtd: diagnose invalid host UUID (Jim Meyering)
- vepa: parsing for 802.1Qb{g|h} XML (Stefan Berger)
- vepa+vsi: Introduce dependency on libnl (Stefan Berger)
- Expose a host UUID in the capabilities XML (Daniel P. Berrange)
- qemu: Allow using regular audio backends with VNC (Cole Robinson)
- lxcSetSchedulerParameters: reverse order of tests; diagnose a failure (Jim Meyering)
- libvirtd: start each diagnostic with "argv0: " (Jim Meyering)
- libvirtd: mark strings for translation, including --help output (Jim Meyering)
- build: force init scripts to rebuild on changed --prefix (Eric Blake)
- build: Distribute the whole tests/qemuhelpdata directory (Matthias Bolte)
- Add defines for QEMU_VNC_PORT_{MIN,MAX} and use them (Jim Fehlig)
- Add simple bitmap operations to utils (Jim Fehlig)
- daemon: Export SDL audio environment variables (Cole Robinson)
- Autostart domains using virDomainObjStart (Jiri Denemark)
- maint: update po/POTFILES.in (Jim Meyering)
- maint: enforce policy wrt VIR_DEBUG and VIR_DEBUG0 (Jim Meyering)
- maint: enforce policy wrt VIR_ERROR and VIR_ERROR0 (Jim Meyering)
- maint: change "" in err ? err->message : "" to _("unknown error"), ... (Jim Meyering)
- qemu: Use ShutdownVMDaemon for all startup cleanup paths (Cole Robinson)
- Domain snapshot RNG and tests. (Chris Lalancette)
- Fix up the python bindings for snapshotting. (Chris Lalancette)
- qemu_conf.c: also recognize new first line of qemu -help output (Jim Meyering)
- lxc_controller.c: don't ignore failed "accept" (Jim Meyering)
- qemu: Don't deny ShutdownVMDaemon for non-running VMs (Cole Robinson)
- libvirtd: don't ignore virInitialize failure (Jim Meyering)
- maint: prohibit newline at end of diagnostic (Jim Meyering)
- maint: remove unwanted newline at end of diagnostic (Jim Meyering)
- build: distribute missing file (Eric Blake)
- esx: Make esxVI_*_CastFromAnyType dynamically dispatched (Matthias Bolte)
- esx: Allow esxVI_X_DynamicCast to be called successfully on X objects (Matthias Bolte)
- tests: the remote_protocol check also accommodates older pdwtags (Jim Meyering)
- maint: enforce no-markup policy wrt VIR_WARN-like macros (Jim Meyering)
- Add support for SSE4.1 and SSE4.2 CPU features (Jiri Denemark)
- maint: add more free-like functions to the list and deal with fallout (Jim Meyering)
- maint: add virCgroupFree to the list of free-like functions (Jim Meyering)
- qemudDomainSetVcpus: avoid NULL-deref on failed uuid look-up (Jim Meyering)
- Add CIFS to the list of network file systems (Matthias Bolte)
- Add VIR_STORAGE_POOL_INACCESSIBLE to denote inaccessible storage pools (Matthias Bolte)
- qemu_conf: fix flag value (Eric Blake)
- qemu: Clarify a couple error messages (Cole Robinson)
- virFileResolveLink: fix return value (Eric Blake)
- tests: Skip daemon-conf test if dir exceeds UNIX_PATH_MAX (Cole Robinson)
- pci: Give an explicit error if device not found (Cole Robinson)
- qemu: Report cmdline output if VM dies early (Cole Robinson)
- qemu_driver: avoid NULL dereference (Jim Meyering)
- Make domain save work when dynamic_ownership=0 (Daniel P. Berrange)
- Add support for NIC hotplug using netdev_add in QEMU (Daniel P. Berrange)
- build: update gnulib (Eric Blake)
- tests: correct PATH in new test, for when running manually (Jim Meyering)
- Add env variable for debugging gnutls usage (Daniel P. Berrange)
- maint: allow VPATH use of remote_protocol-structs (Eric Blake)
- help avoid accidental remote_protocol.x changes (Jim Meyering)
- build: use LIBADD, not LDFLAGS, for adding libraries (Eric Blake)
- Implement SCSI disk unplugging (Wolfgang Mauerer)
- qemu: use better types (Eric Blake)
- Refactor disk unplugging (Wolfgang Mauerer)
- build: simplify checks for sched.h (Eric Blake)
- build: use gnulib's sys/wait.h (Eric Blake)
- build: use gnulib's uname (Eric Blake)
- build: rely on gnulib's pthread module (Eric Blake)
- rpmbuild: add ebtables & ip(6)tables dependency for rpm (Stefan Berger)
- lxc: Use virDomainFindByUUID for domain lookup (Jiri Denemark)
- nwfilter: skip some interfaces on filter update (Stefan Berger)
- pass info where request stems from to have rules applied (Stefan Berger)
- dnsmasq.c: Fix OOM error reporting (Matthias Bolte)
- autobuild.sh: provide default prefix (Eric Blake)
Cleanups:
- lxc: Change VIR_ERROR to VIR_DEBUG for just a debugging message (Ryota Ozaki)
- phyp: reduce scope of driver functions (Eric Blake)
- Fix test case failure due to missing -nodefconfig (Daniel P. Berrange)
- esx: Use bool instead of int where appropriated (Matthias Bolte)
- Cleanup some LIBADD and CFLAGS (Matthias Bolte)
- virsh: remove a doubled up include for errno.h (Justin Clift)
- Misc cleanups (Jiri Denemark)
- Remove unnecessary check for non-NULL uuid (Jiri Denemark)
- qemu: reduce file padding requirements (Eric Blake)
- virsh: change printf() calls to vshPrint() (Justin Clift)
- phyp: sed cleanups (Eric Blake)
- maint: simplify some ignore files (Eric Blake)
- avoid syntax-check failure (Jim Meyering)
- autobuild.sh: avoid bashism (Eric Blake)
- bitmap: reject zero-size bitmap (Eric Blake)
- build: depend on correct file (Eric Blake)
- build: make cpp indentation conform (Jim Meyering)
- hooks: fix typo (Paolo Smiraglia)
- build: silence cppi warning, clarify vbox headers (Eric Blake)
- xen: Remove unused function (Cole Robinson)
- esx: Simplify goto usage (Matthias Bolte)
- Use printf instead of echo -e in libvirt.spec.in (Matthias Bolte)
- build: fix HTML errors in nwfilter docs (Eric Blake)
- build: fix compilation without macvtap (Eric Blake)
- tests: avoid new failure of the daemon-conf test (Jim Meyering)
- storage: mpath: Fix incorrect VIR_ERROR use (Cole Robinson)
- Allow nwfilter functions to be compiled with C++ (Chris Lalancette)
- storage: Combine some duplicate code (Cole Robinson)
- storage: mpath: Clean up some error handling (Cole Robinson)
- Remove dead code after refactoring qemudDomainStart (Jiri Denemark)
- build: fix cppi warnings (Eric Blake)
- Remove isValidIfname. (Chris Lalancette)
- Refactor qemudDomainStart (Jiri Denemark)
- Factor out def assignment to existing domain from virDomainAssignDef (Jiri Denemark)
- Refactor qemudDomainRestore (Jiri Denemark)
- maint: don't mark VIR_DEBUG or VIR_DEBUG0 diagnostics for translation (Jim Meyering)
- maint: more of same, but manual: convert VIR_ERROR("%s" to VIR_ERROR0( (Jim Meyering)
- maint: VIR_ERROR/VIR_ERROR0: mark up the remaining ones manually (Jim Meyering)
- maint: mark translatable string args of VIR_ERROR (Jim Meyering)
- maint: mark translatable string args of VIR_ERROR0 (Jim Meyering)
- maint: use VIR_ERROR0 rather than VIR_ERROR with a bare "%s" (Jim Meyering)
- qemu: Remove explicit VNC XML cleanup (Cole Robinson)
- Rename qemuBuildCommandLine tapfds -> vmfds. (Alex Williamson)
- initialize "meta" in virStorageFileGetMetadata, not in each caller (Jim Meyering)
- (qemu*DiskCgroup): avoid dead code (Jim Meyering)
- maint: more VIR_WARN corrections: now manually (Jim Meyering)
- maint: use VIR_WARN0("...") rather than VIR_WARN("%s", "...") (Jim Meyering)
- maint: remove _(...) from VIR_WARN arg manually (Jim Meyering)
- maint: don't mark VIR_WARN or VIR_WARN0 diagnostics for translation (Jim Meyering)
- do not ignore qemuMonitorAddDrive failure; make uses identical (Jim Meyering)
- ebtablesAddRemoveRule, iptablesAddRemoveRule: don't skip va_end (Jim Meyering)
- linuxNodeInfoCPUPopulate: avoid used-uninitialized via a test (Jim Meyering)
- lxcFreezeContainer: avoid test-after-deref of never-NULL pointer (Jim Meyering)
- Remove debugging fprintf() calls (Daniel P. Berrange)
- tests: use GPLv2+, not GPLv3 (Jim Meyering)
- tests: adjust copyrights on scripts: s/FSF/Red Hat/ (Jim Meyering)
- virsh: fix a typo in a diagnostic (Jim Meyering)
- delMacvtap: typo fix (Eric Blake)
- docs/Makefile.am: remove unnecessary subshells (Eric Blake)
- maint: avoid spurious output if program not present (Eric Blake)
- storage_encryption: silence clang warning (Eric Blake)
- maint: whitespace cleanups (Eric Blake)
- qemu: Fix warning about a non-literal format string (Matthias Bolte)
- build: drop more redundant configure checks (Eric Blake)
- build: silence a clang false positive (Eric Blake)
Thanks to everybody who helped for this release by contributing
changes or reporting issues !
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
14 years, 4 months
[libvirt] [PATCH] virsh: remove embedded space from pool-list --details output
by Justin Clift
This removes the embedded space in the output of the pool-list --details
command, as per the comments from Richard W. M. Jones.
Scripting should now be able to parse this output in a reliable manner.
---
New output:
virsh # pool-list --details
Name State Autostart Persistent Capacity Allocation Available
--------------------------------------------------------------------------
default running yes yes 19.69GB 16.03GB 3.66GB
image_dir running yes yes 1.79TB 1.59TB 203.68GB
tmp running no yes 19.69GB 16.03GB 3.66GB
virsh #
tools/virsh.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/virsh.c b/tools/virsh.c
index 825e0d2..0dff211 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -5056,7 +5056,7 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
/* Create the capacity output string */
val = prettyCapacity(info.capacity, &unit);
ret = virAsprintf(&poolInfoTexts[i].capacity,
- "%.2lf %s", val, unit);
+ "%.2lf%s", val, unit);
if (ret < 0) {
/* An error occurred creating the string, return */
goto asprintf_failure;
@@ -5065,7 +5065,7 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
/* Create the allocation output string */
val = prettyCapacity(info.allocation, &unit);
ret = virAsprintf(&poolInfoTexts[i].allocation,
- "%.2lf %s", val, unit);
+ "%.2lf%s", val, unit);
if (ret < 0) {
/* An error occurred creating the string, return */
goto asprintf_failure;
@@ -5074,7 +5074,7 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
/* Create the available space output string */
val = prettyCapacity(info.available, &unit);
ret = virAsprintf(&poolInfoTexts[i].available,
- "%.2lf %s", val, unit);
+ "%.2lf%s", val, unit);
if (ret < 0) {
/* An error occurred creating the string, return */
goto asprintf_failure;
--
1.7.1
14 years, 4 months
[libvirt] The (delayed) 0.8.2 release
by Daniel Veillard
Clearly I failed to meet the deadline I suggested 2 weeks ago
for the release of 0.8.2, there have been a awful lot of patches
sent for review since then, I had other stuff to chase and didn't
managed to keep uptodate with the flow of mail patches and reviews.
But hopefully this should be a bit better now, we really need this
release soon, too much stuff has accumulated in git, so I'm suggesting
to try to release end of next week, but keep the gate for patches
open up to Tuesday as most people in the US are likely to be out
either today or on the 5th.
One thing we should try to get is to provide the qemu command-line and
monitor commands hacking/debug APIs to ease the work of the QEmu
developpers and early features adopters. Thanks to Erik for providing
another batch of reviews, the key point being IMHO the
include/libvirt/libvirt-qemu.h file since that's where that API will
sit.
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
14 years, 4 months