]> xenbits.xensource.com Git - libvirt.git/log
libvirt.git
7 years agomake: split xenconfig driver build rules into xenconfig/Makefile.inc.am
Daniel P. Berrangé [Wed, 21 Feb 2018 18:05:56 +0000 (18:05 +0000)]
make: split xenconfig driver build rules into xenconfig/Makefile.inc.am

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agomake: split bhyve driver build rules into bhyve/Makefile.inc.am
Daniel P. Berrangé [Wed, 21 Feb 2018 18:05:56 +0000 (18:05 +0000)]
make: split bhyve driver build rules into bhyve/Makefile.inc.am

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agomake: split qemu driver build rules into qemu/Makefile.inc.am
Daniel P. Berrangé [Wed, 21 Feb 2018 18:05:56 +0000 (18:05 +0000)]
make: split qemu driver build rules into qemu/Makefile.inc.am

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agomake: split openvz driver build rules into openvz/Makefile.inc.am
Daniel P. Berrangé [Wed, 21 Feb 2018 18:05:56 +0000 (18:05 +0000)]
make: split openvz driver build rules into openvz/Makefile.inc.am

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agomake: split vbox driver build rules into vbox/Makefile.inc.am
Daniel P. Berrangé [Wed, 21 Feb 2018 18:05:56 +0000 (18:05 +0000)]
make: split vbox driver build rules into vbox/Makefile.inc.am

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agomake: split vmware driver build rules into vmware/Makefile.inc.am
Daniel P. Berrangé [Wed, 21 Feb 2018 18:05:56 +0000 (18:05 +0000)]
make: split vmware driver build rules into vmware/Makefile.inc.am

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agomake: split hyperv driver build rules into hyperv/Makefile.inc.am
Daniel P. Berrangé [Wed, 21 Feb 2018 18:05:56 +0000 (18:05 +0000)]
make: split hyperv driver build rules into hyperv/Makefile.inc.am

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agomake: split ESX driver build rules into esx/Makefile.inc.am
Daniel P. Berrangé [Wed, 21 Feb 2018 18:05:56 +0000 (18:05 +0000)]
make: split ESX driver build rules into esx/Makefile.inc.am

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agomake: split test driver build rules into test/Makefile.inc.am
Daniel P. Berrangé [Wed, 21 Feb 2018 18:05:56 +0000 (18:05 +0000)]
make: split test driver build rules into test/Makefile.inc.am

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agomake: split PHyp driver build rules into phyp/Makefile.inc.am
Daniel P. Berrangé [Wed, 21 Feb 2018 18:05:56 +0000 (18:05 +0000)]
make: split PHyp driver build rules into phyp/Makefile.inc.am

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agomake: split UML driver build rules into uml/Makefile.inc.am
Daniel P. Berrangé [Wed, 21 Feb 2018 18:05:56 +0000 (18:05 +0000)]
make: split UML driver build rules into uml/Makefile.inc.am

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agotools: avoid text spilling into variables
Christian Ehrhardt [Tue, 16 Jan 2018 15:05:26 +0000 (16:05 +0100)]
tools: avoid text spilling into variables

While libvirt-guests.sh is running cases can let guest_is_on fail which
causes check_guests_shutdown to print output.
That output shall not spill into the users of function
check_guests_shutdown which is therefore now returning values in a
variable like guest_is_on already did.

Original-Author: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Modified-By: Jorge Niedbalski <niedbalski@ubuntu.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
7 years agomake: fix VPATH install of upstart files
Daniel P. Berrangé [Fri, 23 Feb 2018 11:36:37 +0000 (11:36 +0000)]
make: fix VPATH install of upstart files

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoqemu: Fix updating device with boot order
Jiri Denemark [Thu, 22 Feb 2018 12:51:36 +0000 (13:51 +0100)]
qemu: Fix updating device with boot order

Commit v3.7.0-14-gc57f3fd2f8 prevented adding a <boot order='x'/>
element to an inactive domain with global <boot dev='...'/> element.
However, as a result of that change updating any device with boot order
would fail with 'boot order X is already used by another device', where
"another device" is in fact the device which is being updated.

To fix this we have to ignore the device which we're about to update
when checking for boot order conflicts.

https://bugzilla.redhat.com/show_bug.cgi?id=1546971

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
7 years agoPass oldDev to virDomainDefCompatibleDevice on device update
Jiri Denemark [Thu, 22 Feb 2018 12:30:27 +0000 (13:30 +0100)]
Pass oldDev to virDomainDefCompatibleDevice on device update

When calling virDomainDefCompatibleDevice to check a new device during
device update, we need to pass the original device which is going to be
updated in addition to the new device. Otherwise, the function can
report false conflicts.

The new argument is currently ignored by virDomainDefCompatibleDevice,
but this will change in the following patch.

https://bugzilla.redhat.com/show_bug.cgi?id=1546971

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
7 years agolxc: Drop useless check in live device update
Jiri Denemark [Thu, 22 Feb 2018 12:22:39 +0000 (13:22 +0100)]
lxc: Drop useless check in live device update

Checking the new device definition makes little sense when lxc driver
does not support live device update at all.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
7 years agoqemu_hotplug: Drop dead code in net update
Jiri Denemark [Thu, 22 Feb 2018 12:24:58 +0000 (13:24 +0100)]
qemu_hotplug: Drop dead code in net update

vm->def->nets[changeidx] can never be NULL for changeidx returned by
virDomainNetFindIdx.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
7 years agolibvirt.spec.in: Don't distribute libvirtd.upstart
Michal Privoznik [Fri, 23 Feb 2018 08:47:41 +0000 (09:47 +0100)]
libvirt.spec.in: Don't distribute libvirtd.upstart

Firstly, for rpm we are building libvirt with
--init-script=systemd or --init-script=redhat. So upstart is
never enabled. And only due to a bug we installed
libvirtd.upstart file.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
7 years agonews: libxl now supports setting clock offset and adjustment
Jim Fehlig [Wed, 21 Feb 2018 19:38:14 +0000 (12:38 -0700)]
news: libxl now supports setting clock offset and adjustment

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
7 years agomake: fix long line in makefile that violate syntax-check rules
Daniel P. Berrangé [Thu, 22 Feb 2018 15:45:38 +0000 (15:45 +0000)]
make: fix long line in makefile that violate syntax-check rules

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agomake: fix another VPATH bug impacting install of sysconf files
Daniel P. Berrangé [Thu, 22 Feb 2018 14:54:18 +0000 (14:54 +0000)]
make: fix another VPATH bug impacting install of sysconf files

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agosrc: Clean *.logrotate, .aug and libvirtd.policy files on 'make clean'
Michal Privoznik [Thu, 22 Feb 2018 13:23:02 +0000 (14:23 +0100)]
src: Clean *.logrotate, .aug and libvirtd.policy files on 'make clean'

Before 3f055b5997c we were doing that. However after the commit
we are leaving the files behind.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
7 years agomake: fix VPATH build for libvirtd augeas check
Daniel P. Berrangé [Thu, 22 Feb 2018 13:32:49 +0000 (13:32 +0000)]
make: fix VPATH build for libvirtd augeas check

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoconf,qemu: Check for NULL addrs in virDomainUSBAddressEnsure
John Ferlan [Fri, 20 Oct 2017 11:28:21 +0000 (07:28 -0400)]
conf,qemu: Check for NULL addrs in virDomainUSBAddressEnsure

Rather than having the caller check, if the input @addrs is NULL
(e.g. priv->usbaddrs), then just return 0. This also removes the
need for ATTRIBUTE_NONNULL which only really helped if someone
passed a NULL as a parameter not if the passed parameter is NULL.

Signed-off-by: John Ferlan <jferlan@redhat.com>
7 years agoconf,qemu: Check for NULL addrs in virDomainUSBAddressRelease
John Ferlan [Fri, 20 Oct 2017 11:24:49 +0000 (07:24 -0400)]
conf,qemu: Check for NULL addrs in virDomainUSBAddressRelease

Rather than having the caller check, if the input @addrs is NULL
(e.g. priv->usbaddrs), then just return 0. This also removes the
need for ATTRIBUTE_NONNULL which only really helped if someone
passed a NULL as a parameter not if the passed parameter is NULL.

Signed-off-by: John Ferlan <jferlan@redhat.com>
7 years agoport allocator: make port range constant object
Nikolay Shirokovskiy [Tue, 6 Feb 2018 09:09:11 +0000 (12:09 +0300)]
port allocator: make port range constant object

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
7 years agoport allocator: remove release functionality from set used
Nikolay Shirokovskiy [Tue, 6 Feb 2018 09:09:10 +0000 (12:09 +0300)]
port allocator: remove release functionality from set used

Let's use virPortAllocatorRelease instead of virPortAllocatorSetUsed(false).

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
7 years agoport allocator: drop skip bind check flag
Nikolay Shirokovskiy [Tue, 6 Feb 2018 09:09:09 +0000 (12:09 +0300)]
port allocator: drop skip bind check flag

This flag is only used for tests. Let's instead overload bind syscall
in mocks where it is not done yet.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
7 years agoport allocator: remove range check in release function
Nikolay Shirokovskiy [Tue, 6 Feb 2018 09:09:08 +0000 (12:09 +0300)]
port allocator: remove range check in release function

Range check in virPortAllocatorSetUsed is not useful anymore
when we manage ports for entire unsigned short range values.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
7 years agoport allocator: remove range on manual port reserving
Nikolay Shirokovskiy [Tue, 6 Feb 2018 09:09:07 +0000 (12:09 +0300)]
port allocator: remove range on manual port reserving

Range check in virPortAllocatorSetUsed is not useful anymore
when we manage ports for entire unsigned short range values.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
7 years agoport allocator: make used port bitmap global
Nikolay Shirokovskiy [Tue, 6 Feb 2018 09:09:06 +0000 (12:09 +0300)]
port allocator: make used port bitmap global

Host tcp4/tcp6 ports is a global resource thus we need to make
port accounting also global or we have issues described in [1] when
port allocator ranges of different instances are overlapped (which
is by default for qemu for example).

Let's have only one global port allocator object that take care
of the entire ports range (0 - 65535) and introduce port range object
for clients to specify desired auto allocation band.

[1] https://www.redhat.com/archives/libvir-list/2017-December/msg00600.html

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
7 years agorpm: don't enable fuse on RHEL-6
Daniel P. Berrangé [Thu, 22 Feb 2018 12:47:59 +0000 (12:47 +0000)]
rpm: don't enable fuse on RHEL-6

Fuse was recently enabled whereever LXC is enabled:

  commit 34783a9e6b9c3d8850db878fc323c1ff40703ea6
  Author: Jiri Denemark <jdenemar@redhat.com>
  Date:   Fri Feb 9 13:42:50 2018 +0100

    spec: Enable fuse only if LXC is enabled

Unfortunately the version of Fuse in RHEL-6 is too old for libvirt's
needs, but we still have LXC enabled there.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agodaemon: move logrotate files to src/remote/
Daniel P. Berrangé [Wed, 21 Feb 2018 12:48:23 +0000 (12:48 +0000)]
daemon: move logrotate files to src/remote/

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agodaemon: move misc libvirtd policy files to src/remote/
Daniel P. Berrangé [Wed, 21 Feb 2018 11:15:30 +0000 (11:15 +0000)]
daemon: move misc libvirtd policy files to src/remote/

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agodaemon: move configuration files to src/remote
Daniel P. Berrangé [Wed, 21 Feb 2018 11:04:06 +0000 (11:04 +0000)]
daemon: move configuration files to src/remote

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agodaemon: move init system files into src/remote/
Daniel P. Berrangé [Tue, 20 Feb 2018 17:41:45 +0000 (17:41 +0000)]
daemon: move init system files into src/remote/

Move the systemd, sysvinit, upstart and sysconfig files into the
src/remote/ directory.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agodaemon: move libvirtd POD manpage into src/remote/
Daniel P. Berrangé [Tue, 20 Feb 2018 14:13:31 +0000 (14:13 +0000)]
daemon: move libvirtd POD manpage into src/remote/

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agodaemon: move libvirtd code into src/remote/ directory
Daniel P. Berrangé [Tue, 20 Feb 2018 13:16:28 +0000 (13:16 +0000)]
daemon: move libvirtd code into src/remote/ directory

Having a daemon/ directory makes little sense from a code structure
point of view, as 90% of the code that is built into libvirtd already
lives in the src/ directory. The virtlockd and virlogd daemons also live
entirely in src/{locking,logging} directories. This moves the source
code for libvirtd into src/remote/, alongside the client code.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agodaemon: remove obsolete doc describing daemon threading
Daniel P. Berrangé [Wed, 21 Feb 2018 12:51:32 +0000 (12:51 +0000)]
daemon: remove obsolete doc describing daemon threading

The THREADS.txt describes the way threading worked in libvirtd many many
years ago, long before even the RPC code was modularized. Things have
evolved significantly since then, so delete this potentially misleading doc.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agosrc: simplify sysconfig file handling in make rules
Daniel P. Berrangé [Tue, 20 Feb 2018 14:28:00 +0000 (14:28 +0000)]
src: simplify sysconfig file handling in make rules

Remove lots of duplication in the sysconfig file handling, so we can
add more conf files without modifying so many places.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agosrc: simplify sysv init file handling in make rules
Daniel P. Berrangé [Tue, 20 Feb 2018 14:28:00 +0000 (14:28 +0000)]
src: simplify sysv init file handling in make rules

Remove lots of duplication in the sysv init file handling, so we can
add more init files without modifying so many places.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agosrc: simplify systemd unit file handling in make rules
Daniel P. Berrangé [Tue, 20 Feb 2018 14:28:00 +0000 (14:28 +0000)]
src: simplify systemd unit file handling in make rules

Remove lots of duplication in the systemd unit file handling, so we can
add more unit files without modifying so many places.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agobhyve: add missing cases for graphics listen type
Daniel P. Berrangé [Thu, 22 Feb 2018 09:19:51 +0000 (09:19 +0000)]
bhyve: add missing cases for graphics listen type

Address warning from -Wswitch-enum by adding missing cases
for graphics listen types that are not supported.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agolibxl: add support for specifying clock offset and adjustment
Jim Fehlig [Tue, 20 Feb 2018 23:51:27 +0000 (16:51 -0700)]
libxl: add support for specifying clock offset and adjustment

libxl supports setting the domain real time clock to local time or
UTC via the localtime field of libxl_domain_build_info. Adjustment
of the clock is also supported via the rtc_timeoffset field. The
libvirt libxl driver has never supported these settings, instead
relying on libxl's default of a UTC real time clock with adjustment
set to 0.

There is at least one user that would like the ability to change
the defaults

https://www.redhat.com/archives/libvirt-users/2018-February/msg00059.html

Add support for specifying a local time clock and for specifying an
adjustment for both local time and UTC clocks. Add a test case to
verify the XML to libxl_domain_config conversion.

Local time clock and clock adjustment is already supported by the
XML <-> xl.cfg converter. What is missing is an explicit test for
the conversion. There are plenty of existing tests that all use UTC
with 0 adjustment. Hijack test-fullvirt-tsc-timer to test a local
time clock with 1 hour adjustment.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agovirLogGetOutputs: remove unnecessary braces
Ján Tomko [Wed, 21 Feb 2018 17:33:25 +0000 (18:33 +0100)]
virLogGetOutputs: remove unnecessary braces

Commit 9275def reduced the if block to one line without removing the
braces.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
7 years agom4: enforce that all enum cases are listed in switch statements
Daniel P. Berrangé [Wed, 14 Feb 2018 09:49:42 +0000 (09:49 +0000)]
m4: enforce that all enum cases are listed in switch statements

As a general rule any time we switch() on something that is an enum, we
want to have a case for every enum constant. The -Wswitch warning will
report any switch where we've violated this rule, except if that switch
has a default case.

Unfortunately it is reasonable to want to list all enum constants *and*
also have a default case. To get a warning in that scenario requires
that we turn on -Wswitch-enum.

In a few cases where we explicitly don't want to list all enum cases, we
can discard the enum type checking by casting the value to a plain int.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agotools: handle missing switch enum cases
Daniel P. Berrangé [Wed, 14 Feb 2018 09:43:59 +0000 (09:43 +0000)]
tools: handle missing switch enum cases

Cast away enum type in places where we don't wish to cover all cases.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoxen: handle missing switch enum cases
Daniel P. Berrangé [Wed, 14 Feb 2018 09:43:59 +0000 (09:43 +0000)]
xen: handle missing switch enum cases

Ensure all enum cases are listed in switch statements.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agosecurity: handle missing switch enum cases
Daniel P. Berrangé [Wed, 14 Feb 2018 09:43:59 +0000 (09:43 +0000)]
security: handle missing switch enum cases

Ensure all enum cases are listed in switch statements.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agorpc: handle missing switch enum cases
Daniel P. Berrangé [Wed, 14 Feb 2018 09:43:59 +0000 (09:43 +0000)]
rpc: handle missing switch enum cases

Ensure all enum cases are listed in switch statements.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoqemu: handle missing switch enum cases
Daniel P. Berrangé [Wed, 14 Feb 2018 09:43:59 +0000 (09:43 +0000)]
qemu: handle missing switch enum cases

Ensure all enum cases are listed in switch statements, or cast away
enum type in places where we don't wish to cover all cases.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agonwfilter: handle missing switch enum cases
Daniel P. Berrangé [Wed, 14 Feb 2018 09:43:59 +0000 (09:43 +0000)]
nwfilter: handle missing switch enum cases

Ensure all enum cases are listed in switch statements, or cast away
enum type in places where we don't wish to cover all cases.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agolxc: handle missing switch enum cases
Daniel P. Berrangé [Wed, 14 Feb 2018 09:43:59 +0000 (09:43 +0000)]
lxc: handle missing switch enum cases

Ensure all enum cases are listed in switch statements, or cast away
enum type in places where we don't wish to cover all cases.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agolibxl: handle missing switch enum cases
Daniel P. Berrangé [Wed, 14 Feb 2018 09:43:59 +0000 (09:43 +0000)]
libxl: handle missing switch enum cases

Cast away enum type for libxl scheduler constants since we don't want to
cover all of them and don't want build to break when new ones are added.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agohyperv: handle missing switch enum cases
Daniel P. Berrangé [Wed, 14 Feb 2018 09:43:59 +0000 (09:43 +0000)]
hyperv: handle missing switch enum cases

Ensure all enum cases are listed in switch statements. This improves
debug logging integration with openwsman.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoesx: handle missing switch enum cases
Daniel P. Berrangé [Wed, 14 Feb 2018 09:43:59 +0000 (09:43 +0000)]
esx: handle missing switch enum cases

Ensure all enum cases are listed in switch statements, or explicitly
cast away enum type where we don't want to list all cases.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoconf: handle missing switch enum cases
Daniel P. Berrangé [Wed, 14 Feb 2018 09:43:59 +0000 (09:43 +0000)]
conf: handle missing switch enum cases

Ensure all enum cases are listed in switch statements.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoutil: handle missing switch enum cases
Daniel P. Berrangé [Wed, 14 Feb 2018 09:43:59 +0000 (09:43 +0000)]
util: handle missing switch enum cases

Ensure all enum cases are listed in switch statements.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoutil: add a virReportEnumRangeError for bad value reporting
Daniel P. Berrangé [Tue, 20 Feb 2018 15:56:52 +0000 (15:56 +0000)]
util: add a virReportEnumRangeError for bad value reporting

To ensure we have standardized error messages when reporting problems
with enum values being out of a range, add virReportEnumRangeError().

   virReportEnumRangeError(virDomainState, 34);

results in a message

   "internal error: Unexpected enum value 34 for virDomainState"

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agosrc: remove WITH_LIBVIRTD condition around hal/udev build
Daniel P. Berrangé [Wed, 21 Feb 2018 15:21:03 +0000 (15:21 +0000)]
src: remove WITH_LIBVIRTD condition around hal/udev build

Currently building --without-libvirtd causes a failure to link the node
device driver:

node_device/.libs/libvirt_driver_nodedev_la-node_device_driver.o: In function `nodedevRegister':
/home/berrange/src/virt/libvirt/src/node_device/node_device_driver.c:649: undefined reference to `udevNodeRegister'
collect2: error: ld returned 1 exit status

because it causes us to build the core nodedev driver, but then skip the
implementations, despite udev being available.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agonwfilter: assure virNWFilterSnoop(Eth|Dhcp)Hdr structs don't change size
Laine Stump [Mon, 19 Feb 2018 17:56:11 +0000 (12:56 -0500)]
nwfilter: assure virNWFilterSnoop(Eth|Dhcp)Hdr structs don't change size

These two objects are used to access fields in actual ethernet packets
captures with libpcap, so it's essential that they don't change size
for any reason. This patch uses gnulib's verify() macro to make sure
their sizes don't change.

Signed-off-by: Laine Stump <laine@laine.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoFix build with GCC 8 new switch fallthrough warnings
Daniel P. Berrangé [Tue, 13 Feb 2018 11:28:45 +0000 (11:28 +0000)]
Fix build with GCC 8 new switch fallthrough warnings

GCC 8 became more fussy about detecting switch
fallthroughs. First it doesn't like it if you have
a fallthrough attribute that is not before a case
statement. e.g.

   FOO:
   BAR:
   WIZZ:
      ATTRIBUTE_FALLTHROUGH;

Is unacceptable as there's no final case statement,
so while FOO & BAR are falling through, WIZZ is
not falling through. IOW, GCC wants us to write

  FOO:
  BAR:
    ATTRIBUTE_FALLTHROUGH;
  WIZZ:

Second, it will report risk of fallthrough even if you
have a case statement for every single enum value, but
only if the switch is nested inside another switch and
the outer case statement has no final break. This is
is arguably valid because despite the fact that we have
cast from "int" to the enum typedef, nothing guarantees
that the variable we're switching on only contains values
that have corresponding switch labels. e.g.

   int domstate = 87539319;
   switch ((virDomainState)domstate) {
      ...
   }

will not match enum value, but also not raise any kind
of compiler warning. So it is right to complain about
risk of fallthrough if no default: is present.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoconf: add enum constants for default controller models
Daniel P. Berrangé [Wed, 14 Feb 2018 10:51:26 +0000 (10:51 +0000)]
conf: add enum constants for default controller models

The controller model is slightly unusual in that the default value is
-1, not 0. As a result the default value is not covered by any of the
existing enum cases. This in turn means that any switch() statements
that think they have covered all cases, will in fact not match the
default value at all. In the qemuDomainDeviceCalculatePCIConnectFlags()
method this has caused a serious mistake where we fallthrough from the
SCSI controller case, to the VirtioSerial controller case, and from
the USB controller case to the IDE controller case.

By adding explicit enum constant starting at -1, we can ensure switches
remember to handle the default case.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoqemu: Simplify modelName stringification
Andrea Bolognani [Mon, 12 Feb 2018 17:55:04 +0000 (18:55 +0100)]
qemu: Simplify modelName stringification

There's no need to perform checks before conversion, we can just
call virDomainControllerPCIModelNameTypeToString() and check the
results later on.

Since the variables involved are only used for PCI controllers,
we can declare them in the 'case' scope rather than in the
function scope to make everything a bit nicer while at it.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: Move skip for implicit PHB of pSeries guests
Andrea Bolognani [Mon, 12 Feb 2018 17:52:40 +0000 (18:52 +0100)]
qemu: Move skip for implicit PHB of pSeries guests

Performing the skip earlier will help us making the function
nicer later on. We also make the condition for the skip a bit
more precise, though that'a more for self-documenting purposes
and doesn't change anything in practice.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: Move 'done' label in qemuBuildControllerDevStr()
Andrea Bolognani [Mon, 12 Feb 2018 17:46:23 +0000 (18:46 +0100)]
qemu: Move 'done' label in qemuBuildControllerDevStr()

Even when we skip part of the processing, we still want error
checking on the buffer.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
7 years agostorage_conf: Make virStorageAuthDefFormat return void
Michal Privoznik [Tue, 20 Feb 2018 11:24:36 +0000 (12:24 +0100)]
storage_conf: Make virStorageAuthDefFormat return void

This function returns nothing but zero. Therefore it makes no
sense to have it returning an integer.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agovirDomainDiskSourceFormatInternal: Avoid leaking @childBuf
Michal Privoznik [Tue, 20 Feb 2018 11:22:26 +0000 (12:22 +0100)]
virDomainDiskSourceFormatInternal: Avoid leaking @childBuf

If formatting of storage encryption or private data fails we must
jump to the error label instead of returning immediately
otherwise @attrBuf and @childBuf might be leaked.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agodaemon: trigger RPC re-generation when Makefile.am changes
Daniel P. Berrangé [Mon, 19 Feb 2018 14:51:34 +0000 (14:51 +0000)]
daemon: trigger RPC re-generation when Makefile.am changes

The src/Makefile.am rules all re-generate the RPC dispatch code whenever
the Makefile.am changes, so for consistency do that for
daemon/Makefile.am too.

Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agodocs: Document pcie-root requirement for q35 guests
Andrea Bolognani [Mon, 19 Feb 2018 16:37:17 +0000 (17:37 +0100)]
docs: Document pcie-root requirement for q35 guests

When you add a bunch of pcie-root-port controllers to a q35 guest
in order to have hotplug capabilities, you also need to make sure
you're adding the pcie-root controller at the same time or you
will get an error. Document this fact.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agotests: fix bhyve build
Laine Stump [Tue, 20 Feb 2018 02:16:20 +0000 (21:16 -0500)]
tests: fix bhyve build

This file was modified in an editor buffer but not saved prior to
commit e62cb4a9b78 (which removed virMacAddr::generated), so the bhyve
build would fail.

Signed-off-by: Laine Stump <laine@laine.org>
7 years agoconf: move 'generated' member from virMacAddr to virDomainNetDef
Laine Stump [Fri, 16 Feb 2018 17:26:17 +0000 (12:26 -0500)]
conf: move 'generated' member from virMacAddr to virDomainNetDef

Commit 7e62c4cd26d (first appearing in libvirt-3.9.0 as a resolution
to rhbz #1343919) added a "generated" attribute to virMacAddr that was
set whenever a mac address was auto-generated by libvirt. This
knowledge was used in a single place - when trying to match a NetDef
from the Domain to Delete with user-provided XML. Since the XML parser
always auto-generates a MAC address for NetDefs when none is provided,
it was previously impossible to make a search where the MAC address
isn't significant, but the addition of the "generated" attribute made
it possible for the search function to ignore auto-generated MACs.

This implementation had a problem though - it was adding a field to a
"low level" struct - virMacAddr - which is used in other places with
the assumption that it contains exactly a 6 byte MAC address and
nothing else. In particular, virNWFilterSnoopEthHdr uses virMacAddr as
part of the definition of an ethernet packet header, whose layout must
of course match an actual ethernet packet. Adding the extra bools into
virNWFilterSnoopEthHdr caused the nwfilter driver's "IP discovery via
DHCP packet snooping" functionality to mysteriously stop working.

In order to fix that behavior, and prevent potential future similar
odd behavior, this patch moves the "generated" member out of
virMacAddr (so that it is again really is just a MAC address) into
virDomainNetDef, and sets it only when virDomainNetGenerateMAC() is
called from virDomainNetDefParseXML() (which is the only time we care
about it).

Resolves: https://bugzilla.redhat.com/1529338

(It should also be applied to any maintenance branch that applies
commit 7e62c4cd26 and friends to resolve
https://bugzilla.redhat.com/1343919)

Signed-off-by: Laine Stump <laine@laine.org>
7 years agodocs: Fix indentation of inlined JavaScript snippet
Andrea Bolognani [Mon, 19 Feb 2018 16:32:20 +0000 (17:32 +0100)]
docs: Fix indentation of inlined JavaScript snippet

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: rename migration APIs to include Src or Dst in their name
Daniel P. Berrangé [Mon, 12 Feb 2018 17:11:41 +0000 (17:11 +0000)]
qemu: rename migration APIs to include Src or Dst in their name

It is very difficult while reading the migration code trying to
understand whether a particular function is being called on the src side
or the dst side, or either. Putting "Src" or "Dst" in the method names will
make this much more obvious. "Any" is used in a few helpers which can be
called from both sides.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoqemu: blockcopy: Add check for bandwidth
Peter Krempa [Mon, 19 Feb 2018 08:21:29 +0000 (09:21 +0100)]
qemu: blockcopy: Add check for bandwidth

QEMU code does not work well with too big numbers on the JSON monitor so
our monitor code supports sending only numbers up to LLONG_MAX. Avoid a
weird error message by limiting the size of the 'bandwidth' parameter
for block copy.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1532542

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
7 years agovirsh: Fix internal naming of some blockjob commands
Peter Krempa [Mon, 19 Feb 2018 06:19:47 +0000 (07:19 +0100)]
virsh: Fix internal naming of some blockjob commands

The variable names for the options and information about a command
should have an underscore in places where the virsh command has a
hyphen. The function callback name should capitalize the letter after
the hyphen. This was not used in 'blockcommit', 'blockcopy', 'blockjob',
'blockpull', and 'blockresize' commands.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
7 years agobhyve: Fix build
Andrea Bolognani [Mon, 19 Feb 2018 13:19:41 +0000 (14:19 +0100)]
bhyve: Fix build

Commit 2d43f0a2dcfd dropped virDomainDiskTranslateSourcePool()'s
first argument but failed to update callers in the bhyve driver.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
7 years agotests: remove networkRegister() call from qemuxml2argvtest
Daniel P. Berrangé [Mon, 19 Feb 2018 12:57:16 +0000 (12:57 +0000)]
tests: remove networkRegister() call from qemuxml2argvtest

Further cleanup from

  commit 0c63c117a2d17f66b05dd83e50aa36ac0b0c9843
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   Fri Feb 9 15:08:53 2018 +0000

    conf: reimplement virDomainNetResolveActualType in terms of public API

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agotests: drop linkage to libvirt_driver_network_impl.la
Daniel P. Berrangé [Mon, 19 Feb 2018 12:11:40 +0000 (12:11 +0000)]
tests: drop linkage to libvirt_driver_network_impl.la

The qemuxml2argvtest does not need to link to the network driver
after this commit:

  commit 0c63c117a2d17f66b05dd83e50aa36ac0b0c9843
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   Fri Feb 9 15:08:53 2018 +0000

    conf: reimplement virDomainNetResolveActualType in terms of public API

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoqemu: don't export migration job APIs
Daniel P. Berrangé [Mon, 12 Feb 2018 16:54:23 +0000 (16:54 +0000)]
qemu: don't export migration job APIs

These APIs are not required anywhere outside the migration code so need
not be exported to the rest of the QEMU driver.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoqemu: remove virConnectPtr in some migration methods
Daniel P. Berrangé [Mon, 12 Feb 2018 16:50:01 +0000 (16:50 +0000)]
qemu: remove virConnectPtr in some migration methods

The qemuMigrationPrecreateStorage method needs a connection
to access the storage driver. Instead of passing it around,
open it at time of use.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoqemu: remove virConnectPtr from some more startup code paths
Daniel P. Berrangé [Fri, 9 Feb 2018 17:19:44 +0000 (17:19 +0000)]
qemu: remove virConnectPtr from some more startup code paths

There's a few places in startup code paths which pass around a
virConnectPtr which is no longer required. Specifically, the
qemuProcessStart() method now only requires a non-NULL connection if
autodestroy is requested.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoqemu: stop passing in virConnectPtr for looking up networks
Daniel P. Berrangé [Fri, 9 Feb 2018 16:36:24 +0000 (16:36 +0000)]
qemu: stop passing in virConnectPtr for looking up networks

When setting up graphics, we sometimes need to resolve networks,
requiring the caller to pass in a virConnectPtr, except sometimes they
pass in NULL. Use virGetConnectNetwork() to acquire the connection to
the network driver when it is needed.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoqemu: don't pass virConnectPtr around for secrets
Daniel P. Berrangé [Fri, 9 Feb 2018 16:14:41 +0000 (16:14 +0000)]
qemu: don't pass virConnectPtr around for secrets

During domain startup there are many places where we need to acquire
secrets. Currently code passes around a virConnectPtr, except in the
places where we pass in NULL. So there are a few codepaths where ability
to start guests using secrets will fail. Change to acquire a handle to
the secret driver when needed.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoconf: stop passing virConnectPtr into virDomainDiskTranslateSourcePool
Daniel P. Berrangé [Fri, 9 Feb 2018 16:06:43 +0000 (16:06 +0000)]
conf: stop passing virConnectPtr into virDomainDiskTranslateSourcePool

Rather than expecting callers to pass a virConnectPtr into the
virDomainDiskTranslateSourcePool() method, just acquire a connection
to the storage driver when needed.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoqemu: stop passing virConnectPtr into qemuMonitorStartCPUs
Daniel P. Berrangé [Fri, 9 Feb 2018 15:40:51 +0000 (15:40 +0000)]
qemu: stop passing virConnectPtr into qemuMonitorStartCPUs

There is a long standing hack to pass a virConnectPtr into the
qemuMonitorStartCPUs method, so that when the text monitor prompts
for a disk password, we can lookup virSecretPtr objects. This causes
us to have to pass a virConnectPtr around through countless methods
up the call chain....except some places don't have any virConnectPtr
available so have always just passed NULL. We can finally fix this
disastrous design by using virGetConnectSecret() to open a connection
to the secret driver at time of use.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agoconf: reimplement virDomainNetResolveActualType in terms of public API
Daniel P. Berrangé [Fri, 9 Feb 2018 15:08:53 +0000 (15:08 +0000)]
conf: reimplement virDomainNetResolveActualType in terms of public API

Now that we have the ability to easily open connections to secondary
drivers, eg network:///system,  it is possible to reimplement the
virDomainNetResolveActualType method in terms of the public API. This
avoids the need to have the network driver provide a callback for it.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agodriver: allow override of connection for secondary drivers
Daniel P. Berrangé [Tue, 13 Feb 2018 10:08:00 +0000 (10:08 +0000)]
driver: allow override of connection for secondary drivers

When the test suite is running, we don't want to be triggering the
startup of daemons for the secondary drivers. Thus we must provide a way
to set a custom connection for the secondary drivers, to override the
default logic which opens a new connection.

This will also be useful for code where we have a whole set of separate
functions calls all needing the secret driver. Currently the connection
to the secret driver is opened & closed many times in quick
succession. This will allow us to pre-open a connection temporarily,
improving the performance of startup.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agonews: Add support for setting Chassis SMBIOS data fields
Zhuang Yanying [Wed, 14 Feb 2018 09:22:40 +0000 (17:22 +0800)]
news: Add support for setting Chassis SMBIOS data fields

Signed-off-by: Zhuang Yanying <ann.zhuangyanying@huawei.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
7 years agoqemu: Generate SMBIOS Chassis strings command line
Zhuang Yanying [Wed, 14 Feb 2018 09:22:39 +0000 (17:22 +0800)]
qemu: Generate SMBIOS Chassis strings command line

This wires up the previously added Chassis strings XML schema to be able to
generate comamnd line args for QEMU. This requires QEMU >= 2.1 release
containing this patch:

SMBIOS: Build aggregate smbios tables and entry point
https://git.qemu.org/?p=qemu.git;a=commit;h=c97294ec1b9e36887e119589d456557d72ab37b5

Signed-off-by: Zhuang Yanying <ann.zhuangyanying@huawei.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
7 years agoconf: Add support for setting Chassis SMBIOS data fields
Zhuang Yanying [Wed, 14 Feb 2018 09:22:38 +0000 (17:22 +0800)]
conf: Add support for setting Chassis SMBIOS data fields

This type of information defines attributes of a system
chassis, such as SMBIOS Chassis Asset Tag.

access inside VM (for example)
Linux:   /sys/class/dmi/id/chassis_asset_tag.
Windows: (Get-WmiObject Win32_SystemEnclosure).SMBIOSAssetTag
          wirhin Windows PowerShell.

As an example, add the following to the guest XML

    <chassis>
      <entry name='manufacturer'>Dell Inc.</entry>
      <entry name='version'>2.12</entry>
      <entry name='serial'>65X0XF2</entry>
      <entry name='asset'>40000101</entry>
      <entry name='sku'>Type3Sku1</entry>
    </chassis>

Signed-off-by: Zhuang Yanying <ann.zhuangyanying@huawei.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
7 years agom4: disable gcc8 -Wcast-function-type warnings from -Wextra
Daniel P. Berrangé [Tue, 13 Feb 2018 16:40:19 +0000 (16:40 +0000)]
m4: disable gcc8 -Wcast-function-type warnings from -Wextra

The -Wextra flag bundle gained a new warning -Wcast-function-type.
This complains if you cast between two function prototypes where
the number of parameters or their data types are not compatible.
Unfortunately we need such "bad" function casts for our event
callbacks. It is possible to silence the warning by first casting
to the generic "void (*)(void)" function prototype, but that is
rather ugly to add throughout libvirt code.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agovirsh: Remove <backingStore> sub-element in virshFindDisk
Peter Krempa [Wed, 14 Feb 2018 14:17:51 +0000 (15:17 +0100)]
virsh: Remove <backingStore> sub-element in virshFindDisk

Previously we've removed the data only in virshUpdateDiskXML when
changing the disk source for the CDROM since the backing store would be
invalid. Move the code into a separate function and callit from
virshFindDisk which is also used when detaching disk.

The detaching code does not necessarily need to get the full backing
chain since it will need to act on the one managed by libvirt anyways
and this also takes care of problems when parts of the backing store
were invalid due to buggy RBD detection code.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
7 years agoutil: storage: Remove detected authentication data for backing chains
Peter Krempa [Wed, 14 Feb 2018 13:12:23 +0000 (14:12 +0100)]
util: storage: Remove detected authentication data for backing chains

We can't really detect all the authentication data in a sane manner for
disk backing chains. Since the old RBD parser parses it in some cases as
the argv->XML convertor requires it, we can't just drop it.

Instead clear any detected authentication data in the code paths related
to disk backing chain lookup and fix the tests to cope with the change.

https://bugzilla.redhat.com/show_bug.cgi?id=1544659

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
7 years agovirsh: detach-disk: Add --print-xml switch
Peter Krempa [Wed, 14 Feb 2018 14:13:29 +0000 (15:13 +0100)]
virsh: detach-disk: Add --print-xml switch

Similarly to other commands add an argument which allows to check the
XML which would be used to execute the operation instead.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
7 years agovirstoragetest: Add test case for NBD over unix socket with new syntax
Peter Krempa [Mon, 12 Feb 2018 15:16:42 +0000 (16:16 +0100)]
virstoragetest: Add test case for NBD over unix socket with new syntax

Use the new syntax which uses the 'UnixSocket' type in qemu.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
7 years agostorage: Fix formatting and parsing of qemu type 'UnixSocketAddress'
Peter Krempa [Mon, 12 Feb 2018 14:44:11 +0000 (15:44 +0100)]
storage: Fix formatting and parsing of qemu type 'UnixSocketAddress'

The documentation for the JSON/qapi type 'UnixSocketAddress' states that
the unix socket path field is named 'path'. Unfortunately qemu uses
'socket' in case of the gluster driver (despite documented otherwise).

Add logic which will format the correct fields while keeping support of
the old spelling.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1544325

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
7 years agospec: Drop overlapping triggers
Jiri Denemark [Wed, 14 Feb 2018 12:16:52 +0000 (13:16 +0100)]
spec: Drop overlapping triggers

The postun trigger for libvirt-daemon was defined twice for overlapping
ranges of package verions if systemd support was switched off (which
happens when building on something ancient, such as RHEL-6).

Let's combine the two triggers into the one which is called when
libvirt-daemon < 1.3.0 is uninstalled. As a side effect, virtlockd and
virtlogd might be reloaded twice after an upgrade from libvirt newer
than 1.2.1 and older than 1.3.0 (by postun script from the old libvirt
and postun trigger from the new libvirt).

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agospec: Fix indentation in daemon's triggerpostun
Jiri Denemark [Wed, 14 Feb 2018 11:09:32 +0000 (12:09 +0100)]
spec: Fix indentation in daemon's triggerpostun

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
7 years agospec: Prepare for future RHEL
Jiri Denemark [Fri, 9 Feb 2018 13:08:45 +0000 (14:08 +0100)]
spec: Prepare for future RHEL

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>