[libvirt] [PATCH] spec: If installing default network, restart libvirtd
by Cole Robinson
If libvirt-daemon-config-network is installed while libvirtd is already
running, the daemon doesn't notice the network. Users then have to
manually restart libvirtd (or reboot) to pick up the network.
Instead let's trigger a daemon restart when the package is first installed.
Then the default network is available immediately if libvirtd was already
running.
https://bugzilla.redhat.com/show_bug.cgi?id=867546
---
Plain restart is kind of suboptimal since it will drop all open
libvirt connections. Ideally we would use reload which is meant
for this case, but it's kinda crashy with current git:
http://www.redhat.com/archives/libvir-list/2016-April/msg01624.html
And in fact daemon restart is what the spec triggers on libvirt-daemon
upgrade anyways, so this isn't anything new WRT packaging.
libvirt.spec.in | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 35212da..1a04c88 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1849,6 +1849,14 @@ if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ;
< %{_datadir}/libvirt/networks/default.xml \
> %{_sysconfdir}/libvirt/qemu/networks/default.xml
ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
+
+ # Make sure libvirt picks up the new network defininiton
+ %if %{with_systemd}
+ /bin/systemctl reload libvirtd.service >/dev/null 2>&1 ||:
+ %else
+ /sbin/service libvirtd reload > /dev/null 2>&1 || :
+ %endif
+
fi
%endif
--
2.7.3
8 years, 7 months
[libvirt] [PATCH] schema: Allow space character in disk vendor/product
by Cole Robinson
The hex range already tried to allow for it, but it doesn't work
for reasons I can't figure out. Use a plain character range instead,
and test it
---
docs/schemas/domaincommon.rng | 2 ++
tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-disk-vpd.xml | 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 4ad2236..6c80b66 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -1165,6 +1165,7 @@
<optional>
<element name="vendor">
<data type="string">
+ <!-- All printable characters -->
<param name="pattern">[ -~]{0,8}</param>
</data>
</element>
@@ -1172,6 +1173,7 @@
<optional>
<element name="product">
<data type="string">
+ <!-- All printable characters -->
<param name="pattern">[ -~]{0,16}</param>
</data>
</element>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-disk-vpd.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-disk-vpd.xml
index 42c7bcd..9e1e7af 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-disk-vpd.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-disk-vpd.xml
@@ -26,8 +26,8 @@
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='sdb' bus='scsi'/>
<readonly/>
- <vendor>SEAGATE</vendor>
- <product>ST3567807GD</product>
+ <vendor>SEA GATE</vendor>
+ <product>ST67 807GD</product>
<address type='drive' controller='1' bus='0' target='0' unit='0'/>
</disk>
<controller type='usb' index='0'>
--
2.7.4
8 years, 7 months
[libvirt] [PATCH] virsh: Document change-media --live --config confusion
by Cole Robinson
If 'virsh change-media --live --config ...' is requested, the
inactive XML is used as the template for the media change/eject.
If the runtime XML has diverged from the inactive XML, say via
other update operations, those changes may be undone since the
command will sync all non-path XML with the inactive config.
To 'fix' this would involve two passes of XML editing and calls
to UpdateDevice, which is kind of a pain for a case that won't
affect most users. So let's just document it instead
https://bugzilla.redhat.com/show_bug.cgi?id=1243342
---
tools/virsh.pod | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 90ab47d..4c1b7fc 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -2794,6 +2794,9 @@ the hypervisor's implementation.
Both I<--live> and I<--config> flags may be given, but I<--current> is
exclusive. If no flag is specified, behavior is different depending
on hypervisor.
+If both I<--live> and I<--config> are specified, the inactive device XML
+is used as the template for the media change. If your I<--live> device XML
+has received runtime changes, they may be removed.
If I<--print-xml> is specified, the XML that would be used to change media is
printed instead of changing the media.
--
2.7.4
8 years, 7 months
[libvirt] [PATCH v4] Use-correct-pci-addresses-during-interface-detach
by Nitesh Konkar
The virsh attach virsh detach interface command fails when both live and config
are set and when the interface gets attached to different pci slots
on live and config xml respectively.
When we attach an interface with both --live and --config,
the first time they get the same PCI slots, but the second time
onwards it differs and hence the virsh detach-interface --live
--config command fails. This patch makes sure that when both
--live --config are set , qemuDomainDetachDeviceFlags is called
twice, once with config xml and once with live xml.
---
Change log:
v4:
* Code unchanged, updated with commit message,change log
and steps to reproduce the issue..
v3:
* Created function vshDomainDetachInterface and called
it once/twice from cmdDetachInterface depending on
number of flags set (live/config/both). Passed the
correct xml(live/persistent) to it.
v2:
* Changes only in cmdDetachInterface to pass the right domain xml
depending on the flag set (live/config/both).
v1:
* Changes only in qemuDomainDetachDeviceFlags to set the right value
in dev and dev_copy.
Steps to see the issue:
virsh attach-interface --domain DomainName --type network --source default --mac 52:54:00:4b:76:5f --live --config
virsh detach-interface --domain DomainName --type network --mac 52:54:00:4b:76:5f --live --config
virsh attach-interface --domain DomainName --type network --source default --mac 52:54:00:4b:76:5f --live --config
virsh detach-interface --domain DomainName --type network --mac 52:54:00:4b:76:5f --live --config
tools/virsh-domain.c | 104 +++++++++++++++++++++++++++++++--------------------
1 file changed, 64 insertions(+), 40 deletions(-)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 62acecb..a6abaf5 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -10801,40 +10801,21 @@ static const vshCmdOptDef opts_detach_interface[] = {
{.name = NULL}
};
-static bool
-cmdDetachInterface(vshControl *ctl, const vshCmd *cmd)
+static bool
+vshDomainDetachInterface(char *doc, unsigned int flags, virDomainPtr dom, vshControl *ctl, const vshCmd *cmd)
{
- virDomainPtr dom = NULL;
xmlDocPtr xml = NULL;
xmlXPathObjectPtr obj = NULL;
xmlXPathContextPtr ctxt = NULL;
xmlNodePtr cur = NULL, matchNode = NULL;
- char *detach_xml = NULL;
const char *mac = NULL, *type = NULL;
- char *doc = NULL;
+ char *detach_xml = NULL;
+ bool current = vshCommandOptBool(cmd, "current");
char buf[64];
int diff_mac;
size_t i;
int ret;
bool functionReturn = false;
- unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT;
- bool current = vshCommandOptBool(cmd, "current");
- bool config = vshCommandOptBool(cmd, "config");
- bool live = vshCommandOptBool(cmd, "live");
- bool persistent = vshCommandOptBool(cmd, "persistent");
-
- VSH_EXCLUSIVE_OPTIONS_VAR(persistent, current);
-
- VSH_EXCLUSIVE_OPTIONS_VAR(current, live);
- VSH_EXCLUSIVE_OPTIONS_VAR(current, config);
-
- if (config || persistent)
- flags |= VIR_DOMAIN_AFFECT_CONFIG;
- if (live)
- flags |= VIR_DOMAIN_AFFECT_LIVE;
-
- if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
- return false;
if (vshCommandOptStringReq(ctl, cmd, "type", &type) < 0)
goto cleanup;
@@ -10842,15 +10823,6 @@ cmdDetachInterface(vshControl *ctl, const vshCmd *cmd)
if (vshCommandOptStringReq(ctl, cmd, "mac", &mac) < 0)
goto cleanup;
- if (persistent &&
- virDomainIsActive(dom) == 1)
- flags |= VIR_DOMAIN_AFFECT_LIVE;
-
- if (flags & VIR_DOMAIN_AFFECT_CONFIG)
- doc = virDomainGetXMLDesc(dom, VIR_DOMAIN_XML_INACTIVE);
- else
- doc = virDomainGetXMLDesc(dom, 0);
-
if (!doc)
goto cleanup;
@@ -10918,23 +10890,75 @@ cmdDetachInterface(vshControl *ctl, const vshCmd *cmd)
else
ret = virDomainDetachDevice(dom, detach_xml);
- if (ret != 0) {
- vshError(ctl, "%s", _("Failed to detach interface"));
- } else {
- vshPrint(ctl, "%s", _("Interface detached successfully\n"));
+ if (ret == 0)
functionReturn = true;
- }
cleanup:
- VIR_FREE(doc);
VIR_FREE(detach_xml);
- virDomainFree(dom);
+ xmlFreeDoc(xml);
xmlXPathFreeObject(obj);
xmlXPathFreeContext(ctxt);
- xmlFreeDoc(xml);
return functionReturn;
}
+static bool
+cmdDetachInterface(vshControl *ctl, const vshCmd *cmd)
+{
+ virDomainPtr dom = NULL;
+ unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT;
+ char *doc_live = NULL, *doc_config = NULL;
+ bool current = vshCommandOptBool(cmd, "current");
+ bool config = vshCommandOptBool(cmd, "config");
+ bool live = vshCommandOptBool(cmd, "live");
+ bool persistent = vshCommandOptBool(cmd, "persistent");
+ bool functionReturn = false;
+
+ VSH_EXCLUSIVE_OPTIONS_VAR(persistent, current);
+
+ VSH_EXCLUSIVE_OPTIONS_VAR(current, live);
+ VSH_EXCLUSIVE_OPTIONS_VAR(current, config);
+
+ if (config || persistent)
+ flags |= VIR_DOMAIN_AFFECT_CONFIG;
+
+ if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
+ return false;
+
+ if (persistent &&
+ virDomainIsActive(dom) == 1)
+ flags |= VIR_DOMAIN_AFFECT_LIVE;
+
+ if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
+ doc_config = virDomainGetXMLDesc(dom, VIR_DOMAIN_XML_INACTIVE);
+ if (!(functionReturn = vshDomainDetachInterface(doc_config, flags, dom, ctl, cmd)))
+ goto cleanup;
+ }
+
+ if (live)
+ flags |= VIR_DOMAIN_AFFECT_LIVE;
+
+ if (flags & VIR_DOMAIN_AFFECT_LIVE) {
+ doc_live = virDomainGetXMLDesc(dom, 0);
+
+ if (flags & VIR_DOMAIN_AFFECT_CONFIG)
+ flags &= (~VIR_DOMAIN_AFFECT_CONFIG);
+
+ functionReturn = vshDomainDetachInterface(doc_live, flags, dom, ctl, cmd);
+ }
+
+ cleanup:
+ if (functionReturn == false) {
+ vshError(ctl, "%s", _("Failed to detach interface"));
+ } else {
+ vshPrint(ctl, "%s", _("Interface detached successfully\n"));
+ functionReturn = true;
+ }
+ VIR_FREE(doc_live);
+ VIR_FREE(doc_config);
+ virDomainFree(dom);
+ return functionReturn;
+}
+
typedef enum {
VIRSH_FIND_DISK_NORMAL,
VIRSH_FIND_DISK_CHANGEABLE,
--
1.8.3.1
8 years, 7 months
[libvirt] Request for an account to update wiki content(NPIV_in_libvirt).
by Nitesh Konkar
Hello All,
I would like to get some feedback on the update I would like to make to
this page.
http://wiki.libvirt.org/page/NPIV_in_libvirt
Original Content :
*NOTE:* You can also create a scsi pool with source adapter type "fc_host"
for a HBA, and in that case the attribute "parent" is not necessary.
Patched Content:
*NOTE:* You can also create a scsi pool with source adapter type "fc_host"
for a HBA, and in that case the attribute "parent" is not necessary.Also
the attribute "managed" should not be used or set to "no" , ('managed=no' )
for a scsi pool backed with physical HBA.
Here are the details for more clarity on the issue:
#git show 5530f248 (Info on managed attribute)
An optional attribute to instruct the SCSI storage backend to
manage destroying the vHBA when the pool is destroyed. For
configurations that do not provide an already created vHBA
from a 'virsh nodedev-create', libvirt will set this property
to "yes". For configurations that have already created a vHBA
via 'virsh nodedev-create' and are using the wwnn/wwpn from
that vHBA and optionally the scsi_host parent, setting this
attribute to "yes" will allow libvirt to destroy the node device
when the pool is destroyed. If this attribute is set to "no" or
not defined in the XML, then libvirt will not destroy the vHBA.
When *managed=yes* is used in the pool xml for scsi pools *backed with
physical HBA ports*, the virsh pool-destroy command errors out.
#virsh pool-dumpxml poolhba_phy
<pool type='scsi'>
<name>poolhba_phy</name>
<uuid>60d74134-0c18-4d4f-9305-24d96ce1a1b6</uuid>
<capacity unit='bytes'>268435456000</capacity>
<allocation unit='bytes'>268435456000</allocation>
<available unit='bytes'>0</available>
<source>
<adapter type='fc_host' *managed='yes'* *wwnn='20000120fa8f1271'
wwpn='10000090fa8f1271'*/>
</source>
<target>
<path>/dev/disk/by-id</path>
<permissions>
<mode>0700</mode>
<owner>0</owner>
<group>0</group>
</permissions>
</target>
</pool>
The wwnn and wwpn used above is that of the physical HBA shown below.
#virsh nodedev-dumpxml scsi_host2 <- This is the physical HBA.
<device>
<name>scsi_host2</name>
<path>/sys/devices/pci0001:00/0001:00:00.0/0001:01:00.0/0001:02:09.0/0001:09:00.1/host2</path>
*<parent>pci_0001_09_00_1</parent>*
<capability type='scsi_host'>
<host>2</host>
<unique_id>1</unique_id>
<capability type='fc_host'>
*<wwnn>20000120fa8f1271</wwnn>
<wwpn>10000090fa8f1271</wwpn>*
<fabric_wwn>100050eb1a99d430</fabric_wwn>
</capability>
<capability type='vport_ops'>
<max_vports>255</max_vports>
<vports>0</vports>
</capability>
</capability>
</device>
#virsh pool-destroy poolhba_phy
error: Failed to destroy pool poolhba_phy
error: internal error: Invalid adapter name 'pci_0001_09_00_1' for SCSI pool
However,
When managed attribute is removed OR set to no in the xml,
# virsh pool-destroy poolhba_phy
Pool poolhba_phy destroyed
Although the page http://wiki.libvirt.org/page/NPIV_in_libvirt does
not talk about the managed attribute as of now, it would be helpful
for a user who might face the above mentioned use-case.
Looking forward to your views.
Warm Regards,
Nitesh Konkar.
8 years, 7 months
[libvirt] A difference between libvirt and execution in bash shell
by zhukaijie
Once I type my qemu command line in bash shell and execute it. Then I use ps -aux to list the qemu process, results indicates the user of the qemu vm is "root" (Of course I logged with root). However, if I use libvirt to start a qemu vm, the user of qemu become "qemu". Could you tell me something about the user "qemu"? Also, how does this difference happen? Thank you.
8 years, 7 months
[libvirt] [PATCH] daemon: add option to read host uuid from /etc/machine-id
by Nikolay Shirokovskiy
Daemon config parameter switch between reading host uuid
either from smbios or machine-id:
host_uuid_source = "smbios|machine-id"
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy(a)virtuozzo.com>
---
daemon/libvirtd-config.c | 2 ++
daemon/libvirtd-config.h | 1 +
daemon/libvirtd.c | 38 +++++++++++++++++++++++++++++++++++---
daemon/libvirtd.conf | 14 ++++++++++----
src/libvirt_private.syms | 1 +
src/util/viruuid.c | 31 ++++++++++++++++++++++---------
src/util/viruuid.h | 3 +++
7 files changed, 74 insertions(+), 16 deletions(-)
diff --git a/daemon/libvirtd-config.c b/daemon/libvirtd-config.c
index 7a448f9..45280e9 100644
--- a/daemon/libvirtd-config.c
+++ b/daemon/libvirtd-config.c
@@ -374,6 +374,7 @@ daemonConfigFree(struct daemonConfig *data)
VIR_FREE(data->crl_file);
VIR_FREE(data->host_uuid);
+ VIR_FREE(data->host_uuid_source);
VIR_FREE(data->log_filters);
VIR_FREE(data->log_outputs);
@@ -463,6 +464,7 @@ daemonConfigLoadOptions(struct daemonConfig *data,
GET_CONF_UINT(conf, filename, audit_logging);
GET_CONF_STR(conf, filename, host_uuid);
+ GET_CONF_STR(conf, filename, host_uuid_source);
GET_CONF_UINT(conf, filename, log_level);
GET_CONF_STR(conf, filename, log_filters);
diff --git a/daemon/libvirtd-config.h b/daemon/libvirtd-config.h
index 3e1971d..672e9ad 100644
--- a/daemon/libvirtd-config.h
+++ b/daemon/libvirtd-config.h
@@ -28,6 +28,7 @@
struct daemonConfig {
char *host_uuid;
+ char *host_uuid_source;
int listen_tls;
int listen_tcp;
diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
index 7ec02ad..ca1ec7a 100644
--- a/daemon/libvirtd.c
+++ b/daemon/libvirtd.c
@@ -1076,6 +1076,39 @@ static int migrateProfile(void)
return ret;
}
+static int
+daemonSetupHostUUID(const struct daemonConfig *config)
+{
+ static const char *machine_id = "/etc/machine-id";
+ char buf[VIR_UUID_STRING_BUFLEN];
+ const char *uuid;
+
+ if (config->host_uuid) {
+ uuid = config->host_uuid;
+ } else if (!config->host_uuid_source ||
+ STREQ(config->host_uuid_source, "smbios")) {
+ /* set host uuid in lazy manner*/
+ return 0;
+ } else if (STREQ(config->host_uuid_source, "machine-id")) {
+ if (virUUIDRead(machine_id, buf, sizeof(buf)) < 0) {
+ VIR_ERROR(_("Can't read %s"), machine_id);
+ return -1;
+ }
+
+ uuid = buf;
+ } else {
+ VIR_ERROR(_("invalid UUID source: %s"), config->host_uuid_source);
+ return -1;
+ }
+
+ if (virSetHostUUIDStr(uuid)) {
+ VIR_ERROR(_("invalid host UUID: %s"), uuid);
+ return -1;
+ }
+
+ return 0;
+}
+
/* Print command-line usage. */
static void
daemonUsage(const char *argv0, bool privileged)
@@ -1295,9 +1328,8 @@ int main(int argc, char **argv) {
exit(EXIT_FAILURE);
}
- if (config->host_uuid &&
- virSetHostUUIDStr(config->host_uuid) < 0) {
- VIR_ERROR(_("invalid host UUID: %s"), config->host_uuid);
+ if (daemonSetupHostUUID(config) < 0) {
+ VIR_ERROR(_("Can't setup host uuid"));
exit(EXIT_FAILURE);
}
diff --git a/daemon/libvirtd.conf b/daemon/libvirtd.conf
index d2c439c..eaae680 100644
--- a/daemon/libvirtd.conf
+++ b/daemon/libvirtd.conf
@@ -410,10 +410,15 @@
###################################################################
# UUID of the host:
-# Provide the UUID of the host here in case the command
-# 'dmidecode -s system-uuid' does not provide a valid uuid. In case
-# 'dmidecode' does not provide a valid UUID and none is provided here, a
-# temporary UUID will be generated.
+# host uuid is read from one of host uuid sources specified
+# in host_uuid_source. Possible values are 'smbios' and 'machine-id'.
+# First option will set host uuid from 'dmidecode -s system-uuid',
+# while second will read it from /etc/machine-id. uuid source
+# defaults to smbios. Other option is to specify host uuid
+# right here in host_uuid option, in this case host_uuid_source
+# will not be taken into account. In case uuid value in
+# smbios is invalid temporary host uuid will be generated.
+#
# Keep the format of the example UUID below. UUID must not have all digits
# be the same.
@@ -421,6 +426,7 @@
# it with the output of the 'uuidgen' command and then
# uncomment this entry
#host_uuid = "00000000-0000-0000-0000-000000000000"
+#host_uuid_source = "smbios"
###################################################################
# Keepalive protocol:
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 2b55369..e5823b2 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -2512,6 +2512,7 @@ virUUIDFormat;
virUUIDGenerate;
virUUIDIsValid;
virUUIDParse;
+virUUIDRead;
# util/virxml.h
diff --git a/src/util/viruuid.c b/src/util/viruuid.c
index 16e57db..721eac0 100644
--- a/src/util/viruuid.c
+++ b/src/util/viruuid.c
@@ -231,21 +231,34 @@ getDMISystemUUID(char *uuid, int len)
};
while (paths[i]) {
- int fd = open(paths[i], O_RDONLY);
- if (fd >= 0) {
- if (saferead(fd, uuid, len - 1) == len - 1) {
- uuid[len - 1] = '\0';
- VIR_FORCE_CLOSE(fd);
- return 0;
- }
- VIR_FORCE_CLOSE(fd);
- }
+ if (virUUIDRead(paths[i], uuid, len) == 0)
+ return 0;
i++;
}
return -1;
}
+int
+virUUIDRead(const char *file, char *uuid, int len)
+{
+ int fd;
+ ssize_t sz;
+
+ fd = open(file, O_RDONLY);
+ if (fd < 0)
+ return -1;
+
+ if ((sz = saferead(fd, uuid, len - 1)) < 0)
+ goto cleanup;
+
+ uuid[sz] = '\0';
+
+ cleanup:
+ VIR_FORCE_CLOSE(fd);
+ return sz < 0 ? -1 : 0;
+}
+
/**
* setHostUUID
diff --git a/src/util/viruuid.h b/src/util/viruuid.h
index 5790a17..94bf1ac 100644
--- a/src/util/viruuid.h
+++ b/src/util/viruuid.h
@@ -47,6 +47,9 @@
int virSetHostUUIDStr(const char *host_uuid);
int virGetHostUUID(unsigned char *host_uuid) ATTRIBUTE_NONNULL(1);
+int virUUIDRead(const char *file, char *uuid, int len)
+ ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+
int virUUIDIsValid(unsigned char *uuid);
int virUUIDGenerate(unsigned char *uuid);
--
1.8.3.1
8 years, 7 months
[libvirt] [PATCH] maint: Ignore all intermediate and generated man pages
by Andrea Bolognani
Since commit 9b77ce63f1d7 we create a .in file while building all
man pages, including those in the tools/ directory; update the
ignore patterns to take this change into account.
The new ignore patterns are generic enough that we can get rid of
a few existing ones as well.
---
.gitignore | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/.gitignore b/.gitignore
index 381db69..6021403 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,7 @@
*#*#
*.#*#
+*.[18]
+*.[18].in
*.a
*.cov
*.exe
@@ -57,8 +59,6 @@
/daemon/libvirt_qemud
/daemon/libvirtd
/daemon/libvirtd*.logrotate
-/daemon/libvirtd.8
-/daemon/libvirtd.8.in
/daemon/libvirtd.init
/daemon/libvirtd.pod
/daemon/libvirtd.policy
@@ -155,12 +155,8 @@
/src/util/virkeymaps.h
/src/virt-aa-helper
/src/virtlockd
-/src/virtlockd.8
-/src/virtlockd.8.in
/src/virtlockd.init
/src/virtlogd
-/src/virtlogd.8
-/src/virtlogd.8.in
/src/virtlogd.init
/tests/*.log
/tests/*.pid
@@ -175,7 +171,6 @@
/tests/reconnect
/tests/ssh
/tests/test_conf
-/tools/*.[18]
/tools/libvirt-guests.init
/tools/libvirt-guests.service
/tools/libvirt-guests.sh
--
2.5.5
8 years, 7 months
[libvirt] [PATCH 0/4] apibuild: Fix several issues
by Andrea Bolognani
My home directory contains
src/upstream/libvirt - git repository
src/libvirt - symbolic link to the above
and since d195cffa2e1b I can no longer build in-tree because
make passes
srcdir=.
builddir=$HOME/src/libvirt/docs
to apibuild.py, which get converted to
srcdir=$HOME/src/upstream/libvirt/docs
builddir=$HOME/src/libvirt/docs
inside the script and thus considered separate directories.
This in turn leads to files being processed twice, and a
bunch of definitions being reported as duplicates.
... Well, kind of. The script *attempts* to report the
failures, but fails while doing so :)
This series fixes both the build issue (1/4) and the failure
to report build issues properly (2/4), plus some more of the
latter that I noticed while working on the code (3/4, 4/4).
Last but not least: I'm not a pythonista, so feel free to
point out unpythonic code.
Andrea Bolognani (4):
docs: Pass relative paths to apibuild.py
apibuild: Add index.warning() method
apibuild: Introduce app class
apibuild: Fix method call
docs/Makefile.am | 2 +-
docs/apibuild.py | 103 +++++++++++++++++++++++++++++++------------------------
2 files changed, 59 insertions(+), 46 deletions(-)
--
2.5.5
8 years, 7 months
[libvirt] Plans for next release
by Daniel Veillard
While 1.3.3 went out a bit late I think we should try to stick to
the month boundary for releases. I will be travelling next week so
to avoid any deviation the best would be to release on Sunday may 1st
So that mean we need to freeze real soon now for 1.3.4 and I suggest
to do that tomorrow wednesday, then have rc2 Friday and push on the 1st.
We already have 338 commits since 1.3.3 so well worth pushing it now,
Works for everybody ?
thanks
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
8 years, 7 months