[vdsm] update to vdsm-4.12.0-rc3

Federico Simoncelli fsimonce at fedoraproject.org
Thu Jul 25 07:42:17 UTC 2013


commit fe5111499f0f7c07add19ac7fdb1fd80045865b1
Author: Federico Simoncelli <fsimonce at redhat.com>
Date:   Thu Jul 25 09:39:17 2013 +0200

    update to vdsm-4.12.0-rc3

 0001-build-use-pythondir-for-vdsmapi.patch         |   41 +
 0001-schema-Fix-schema-for-VM.updateDevice.patch   |   65 --
 ...hema-Missing-comment-for-new-VmDeviceType.patch |   36 -
 ...ort-CPU-thread-info-in-getVdsCapabilities.patch |   53 --
 0004-caps.py-osversion-validate-OVIRT.patch        |   35 -
 ...-libvirtd-didn-t-work-over-allinone-setup.patch |   37 -
 0006-Integrate-Smartcard-support.patch             |  421 ----------
 ...m.spec-python-ordereddict-only-for-rhel-7.patch |   42 -
 ...on-t-require-python-ordereddict-on-fedora.patch |   42 -
 ...vdsm.spec-BuildRequires-python-pthreading.patch |   31 -
 ...or-both-py-and-pyc-file-to-start-super-vd.patch |   54 --
 0011-adding-getHardwareInfo-API-to-vdsm.patch      |  334 --------
 0012-Explicitly-shutdown-m2crypto-socket.patch     |   55 --
 ...re-policycoreutils-and-skip-sebool-errors.patch |   59 --
 ...es-selinux-policy-to-avoid-selinux-failur.patch |   42 -
 ...md.service-require-either-ntpd-or-chronyd.patch |   36 -
 ...idn-t-check-local-variable-before-reading.patch |   44 -
 0017-udev-Race-fix-load-and-trigger-dev-rule.patch |  115 ---
 ..._id-command-path-to-be-configured-at-runt.patch |  171 ----
 ...orce-upgrade-to-v2-before-upgrading-to-v3.patch |   91 --
 0020-misc-rename-safelease-to-clusterlock.patch    |  866 --------------------
 ...ct-the-cluster-lock-using-makeClusterLock.patch |  151 ----
 ...lock-add-the-local-locking-implementation.patch |  225 -----
 ...ch-MetaDataKeyNotFoundError-when-preparin.patch |   38 -
 0024-vdsm.spec-Require-openssl.patch               |   31 -
 0025-Fedora-18-require-a-newer-udev.patch          |   36 -
 0026-fix-sloppy-backport-of-safelease-rename.patch |   40 -
 ...g-the-use-of-zombie-reaper-from-supervdsm.patch |   52 --
 ...llow-delete-update-of-devices-with-no-ifc.patch |   63 --
 ...licycoreutils-2.1.13-55-to-avoid-another-.patch |   41 -
 ...to-connect-to-supervdsm-more-than-3-time-.patch |   50 --
 0031-packaging-add-load_needed_modules.py.in.patch |   81 --
 ...e_bond_dev-reopen-bonding_masters-per-bon.patch |   38 -
 ...er-Handling-Attribute-error-in-Python-2.6.patch |   91 --
 0034-bootstrap-remove-glusterfs-packages.patch     |   52 --
 ...-gluster-set-glusterfs-dependency-version.patch |   33 -
 ...te-the-template-when-zeroing-a-dependant-.patch |   65 --
 0037-vdsm.spec-fence-agents-all.patch              |   59 --
 0038-fix-storage.fuser.patch                       |   85 --
 ...up-libvirt-version-to-fix-network-linking.patch |   36 -
 0040-vdsm.spec.in-with_gluster.patch               |   80 --
 0041-Don-t-user-sudo-in-fuser.patch                |   94 ---
 ...svdsm-fix-fuser-import-in-supervdsmServer.patch |   31 -
 ...sm-configuration-when-removing-vdsm-servi.patch |   62 --
 ...ating-supervdsm-log-to-supervdsm.log-file.patch |  144 ----
 0045-vdsm.spec-Adding-with_systemd-macro.patch     |  124 ---
 0046-spec-use-the-fedora-systemd-macros.patch      |  140 ----
 ...-enable-gluster-upstream-and-on-fedora-19.patch |   64 --
 ....am-ignore-false-positive-pyflakes-lvm.py.patch |   38 -
 0049-Deactivate-libvirtVM.Drives.patch             |   79 --
 0050-vdsm-fix-Vm-cleanup-routine.patch             |  106 ---
 0051-Support-teardownVolumePath-None.patch         |   45 -
 0052-vdsm.spec-update-python-pthreading.patch      |   56 --
 ...-service-make-iscsid-a-systemd-dependency.patch |   47 --
 sources                                            |    2 +-
 vdsm.spec                                          |  405 ++++++----
 56 files changed, 296 insertions(+), 5158 deletions(-)
---
diff --git a/0001-build-use-pythondir-for-vdsmapi.patch b/0001-build-use-pythondir-for-vdsmapi.patch
new file mode 100644
index 0000000..392aac6
--- /dev/null
+++ b/0001-build-use-pythondir-for-vdsmapi.patch
@@ -0,0 +1,41 @@
+From 69c86e0adc6974d6170ab7297dc4ea1688bdfe8a Mon Sep 17 00:00:00 2001
+From: Federico Simoncelli <fsimonce at redhat.com>
+Date: Tue, 23 Jul 2013 08:36:23 -0400
+Subject: [PATCH] build: use pythondir for vdsmapi
+
+Change-Id: I8077efea03adb7d018c35cfd81b121b9e47d3e98
+Signed-off-by: Federico Simoncelli <fsimonce at redhat.com>
+---
+ vdsm.spec.in         |    2 +-
+ vdsm_api/Makefile.am |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/vdsm.spec.in b/vdsm.spec.in
+index 9b02677..608735a 100644
+--- a/vdsm.spec.in
++++ b/vdsm.spec.in
+@@ -1208,7 +1208,7 @@ exit 0
+ %files api
+ %doc vdsm_api/vdsm-api.html
+ %{_datadir}/%{vdsm_name}/vdsmapi-schema.json
+-%{python_sitearch}/vdsmapi.py*
++%{python_sitelib}/vdsmapi.py*
+ 
+ %files jsonrpc
+ %{_datadir}/%{vdsm_name}/BindingJsonRpc.py*
+diff --git a/vdsm_api/Makefile.am b/vdsm_api/Makefile.am
+index 0a9e610..8331dea 100644
+--- a/vdsm_api/Makefile.am
++++ b/vdsm_api/Makefile.am
+@@ -16,7 +16,7 @@ dist_vdsm_DATA = \
+ 	vdsmapi-schema.json \
+ 	$(NULL)
+ 
+-dist_pyexec_PYTHON = \
++dist_python_PYTHON = \
+ 	vdsmapi.py \
+ 	$(NULL)
+ 
+-- 
+1.7.1
+
diff --git a/sources b/sources
index d373508..3cc5616 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-6e181a25b2b4fc9e5f85faafc9d73aa1  vdsm-4.10.3.tar.gz
+1872fb0d60a1a4908349ef958e19f611  vdsm-4.12.0.tar.gz
diff --git a/vdsm.spec b/vdsm.spec
index 0acce9f..db5d2fa 100644
--- a/vdsm.spec
+++ b/vdsm.spec
@@ -31,7 +31,7 @@
 %global _polkitdir %{_localstatedir}/lib/polkit-1/localauthority/10-vendor.d
 %endif
 
-%if !0%{fedora_koji_build} || 0%{?fedora} >= 19
+%if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
 %global with_gluster 1
 %endif
 
@@ -41,11 +41,12 @@
 
 %if 0%{?fedora} >= 18
 %global with_systemd_macros 1
+%global with_tmpfiles_macro 1
 %endif
 
 Name:           %{vdsm_name}
-Version:        4.10.3
-Release:        18%{?vdsm_relvtag}%{?dist}%{?extra_release}
+Version:        4.12.0
+Release:        0.1.rc3%{?vdsm_relvtag}%{?dist}%{?extra_release}
 Summary:        Virtual Desktop Server Manager
 
 Group:          Applications/System
@@ -59,69 +60,14 @@ Url:            http://www.ovirt.org/wiki/Vdsm
 #  ./autogen.sh --system
 #  make VERSION={version}-{vdsm_release} dist
 Source0:        %{vdsm_name}-%{version}%{?vdsm_relttag}.tar.gz
-
-# ovirt-3.2 patches
-Patch0:         0001-schema-Fix-schema-for-VM.updateDevice.patch
-Patch1:         0002-schema-Missing-comment-for-new-VmDeviceType.patch
-Patch2:         0003-api-Report-CPU-thread-info-in-getVdsCapabilities.patch
-Patch3:         0004-caps.py-osversion-validate-OVIRT.patch
-Patch4:         0005-restarting-libvirtd-didn-t-work-over-allinone-setup.patch
-Patch5:         0006-Integrate-Smartcard-support.patch
-Patch6:         0007-vdsm.spec-python-ordereddict-only-for-rhel-7.patch
-Patch7:         0008-vdsm.spec-Don-t-require-python-ordereddict-on-fedora.patch
-Patch8:         0009-vdsm.spec-BuildRequires-python-pthreading.patch
-Patch9:         0010-Searching-for-both-py-and-pyc-file-to-start-super-vd.patch
-Patch10:        0011-adding-getHardwareInfo-API-to-vdsm.patch
-Patch11:        0012-Explicitly-shutdown-m2crypto-socket.patch
-Patch12:        0013-spec-require-policycoreutils-and-skip-sebool-errors.patch
-Patch13:        0014-spec-requires-selinux-policy-to-avoid-selinux-failur.patch
-Patch14:        0015-vdsmd.service-require-either-ntpd-or-chronyd.patch
-Patch15:        0016-isRunning-didn-t-check-local-variable-before-reading.patch
-Patch16:        0017-udev-Race-fix-load-and-trigger-dev-rule.patch
-Patch17:        0018-Change-scsi_id-command-path-to-be-configured-at-runt.patch
-Patch18:        0019-upgrade-force-upgrade-to-v2-before-upgrading-to-v3.patch
-Patch19:        0020-misc-rename-safelease-to-clusterlock.patch
-Patch20:        0021-domain-select-the-cluster-lock-using-makeClusterLock.patch
-Patch21:        0022-clusterlock-add-the-local-locking-implementation.patch
-Patch22:        0023-upgrade-catch-MetaDataKeyNotFoundError-when-preparin.patch
-Patch23:        0024-vdsm.spec-Require-openssl.patch
-Patch24:        0025-Fedora-18-require-a-newer-udev.patch
-Patch25:        0026-fix-sloppy-backport-of-safelease-rename.patch
-Patch26:        0027-removing-the-use-of-zombie-reaper-from-supervdsm.patch
-Patch27:        0028-configNet-allow-delete-update-of-devices-with-no-ifc.patch
-Patch28:        0029-Requires-policycoreutils-2.1.13-55-to-avoid-another-.patch
-Patch29:        0030-After-fail-to-connect-to-supervdsm-more-than-3-time-.patch
-# This patch is not present in the upstream ovirt-3.2 branch and it was added to
-# add a missing file in the base vdsm tar.gz
-Patch30:        0031-packaging-add-load_needed_modules.py.in.patch
-Patch31:        0032-tool-_enable_bond_dev-reopen-bonding_masters-per-bon.patch
-Patch32:        0033-gluster-Handling-Attribute-error-in-Python-2.6.patch
-Patch33:        0034-bootstrap-remove-glusterfs-packages.patch
-Patch34:        0035-gluster-set-glusterfs-dependency-version.patch
-Patch35:        0036-Do-not-delete-the-template-when-zeroing-a-dependant-.patch
-Patch36:        0037-vdsm.spec-fence-agents-all.patch
-Patch37:        0038-fix-storage.fuser.patch
-Patch38:        0039-Bump-up-libvirt-version-to-fix-network-linking.patch
-Patch39:        0040-vdsm.spec.in-with_gluster.patch
-Patch40:        0041-Don-t-user-sudo-in-fuser.patch
-Patch41:        0042-svdsm-fix-fuser-import-in-supervdsmServer.patch
-Patch42:        0043-Removing-vdsm-configuration-when-removing-vdsm-servi.patch
-Patch43:        0044-Seperating-supervdsm-log-to-supervdsm.log-file.patch
-Patch44:        0045-vdsm.spec-Adding-with_systemd-macro.patch
-Patch45:        0046-spec-use-the-fedora-systemd-macros.patch
-Patch46:        0047-spec-enable-gluster-upstream-and-on-fedora-19.patch
-Patch47:        0048-Makefile.am-ignore-false-positive-pyflakes-lvm.py.patch
-Patch48:        0049-Deactivate-libvirtVM.Drives.patch
-Patch49:        0050-vdsm-fix-Vm-cleanup-routine.patch
-Patch50:        0051-Support-teardownVolumePath-None.patch
-Patch51:        0052-vdsm.spec-update-python-pthreading.patch
-Patch52:        0053-service-make-iscsid-a-systemd-dependency.patch
+Patch0:		0001-build-use-pythondir-for-vdsmapi.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires: python
 BuildRequires: python-devel
 BuildRequires: python-nose
+BuildRequires: python-netaddr
 
 # BuildRequires needed by the tests during the build
 BuildRequires: python-ethtool
@@ -137,6 +83,7 @@ BuildRequires: python-dmidecode
 %if 0%{?rhel} == 6
 BuildRequires: python-ordereddict
 %endif
+BuildRequires: python-ethtool
 
 # Autotools BuildRequires
 %if 0%{?enable_autotools}
@@ -158,30 +105,51 @@ BuildRequires: systemd-units
 Requires: which
 Requires: sudo >= 1.7.3
 Requires: logrotate
+Requires: rsyslog
 Requires: xz
 Requires: ntp
 Requires: iproute
-Requires: python-ethtool
+Requires: python-netaddr
+Requires: python-inotify
+Requires: python-ethtool >= 0.6-3
 Requires: rpm-python
 Requires: nfs-utils
 Requires: m2crypto
+Requires: libguestfs-tools-c
 Requires: %{name}-xmlrpc = %{version}-%{release}
+Requires: mom >= 0.3.2
 
 %ifarch x86_64
 Requires: python-dmidecode
 Requires: dmidecode
 %endif
 
+%if 0%{?rhel} >= 7 || 0%{?fedora} >= 18
+Requires: libvirt-daemon >= 1.0.2-1
+Requires: libvirt-daemon-config-nwfilter
+Requires: libvirt-daemon-driver-network
+Requires: libvirt-daemon-driver-nwfilter
+Requires: libvirt-daemon-driver-qemu
+%else
 %if 0%{?rhel}
+Requires: libvirt >= 0.10.2-18.el6_4.4
+%else
+Requires: libvirt >= 1.0.2-1
+%endif
+%endif
+Requires: libvirt-python, libvirt-lock-sanlock, libvirt-client
+
+%if 0%{?rhel}
+Requires: python-ethtool >= 0.6-3
 %if 0%{?rhel} >= 7
 ExclusiveArch:  x86_64
 Requires: device-mapper-multipath
 Requires: e2fsprogs
 Requires: fence-agents-all
 Requires: iscsi-initiator-utils
-Requires: libvirt
 Requires: lvm2
 Requires: python
+Requires: policycoreutils-python
 Requires: python-pthreading >= 0.1.2
 Requires: qemu-kvm
 Requires: qemu-kvm-img
@@ -192,7 +160,6 @@ Requires: python
 # Update the qemu-kvm requires when block_stream will be included
 Requires: qemu-kvm >= 2:0.12.1.2-2.295.el6_3.4
 Requires: qemu-img >= 2:0.12.1.2-2.295.el6_3.4
-Requires: libvirt >= 0.9.10-21.el6_3.5
 Requires: iscsi-initiator-utils >= 6.2.0.872-15
 Requires: device-mapper-multipath >= 0.4.9-52
 Requires: e2fsprogs >= 1.41.12-11
@@ -200,9 +167,10 @@ Requires: fence-agents
 Requires: kernel >= 2.6.32-279.9.1
 Requires: sanlock >= 2.3-4, sanlock-python
 Requires: initscripts >= 9.03.31-2.el6_3.1
-Requires: mom >= 0.3.0
+Requires: policycoreutils >= 2.0.83-19.30
+Requires: policycoreutils-python >= 2.0.83-19.30
 Requires: python-pthreading
-Requires: selinux-policy-targeted >= 3.7.19-80
+Requires: selinux-policy-targeted >= 3.7.19-155
 Requires: lvm2 >= 2.02.95-10.el6_3.2
 Requires: logrotate < 3.8.0
 %endif
@@ -218,13 +186,16 @@ Requires: fence-agents
 Requires: python >= 2.7.3
 Requires: qemu-kvm >= 2:0.15.0-4
 Requires: qemu-img >= 2:0.15.0-4
-Requires: libvirt >= 0.10.2.4-1
+Requires: python-ethtool >= 0.8-1
+%if 0%{?fedora} >= 18
+Requires: initscripts >= 9.42.2-1
+%endif
 Requires: iscsi-initiator-utils >= 6.2.0.872-14
 Requires: device-mapper-multipath >= 0.4.9-18
 Requires: e2fsprogs >= 1.41.14
 Requires: kernel >= 3.6
-Requires: mom >= 0.3.0
 Requires: sanlock >= 2.4-2, sanlock-python
+Requires: policycoreutils-python
 Requires: sed >= 4.2.1-10
 Requires: selinux-policy-targeted >= 3.10.0-149
 Requires: lvm2 >= 2.02.95
@@ -238,13 +209,11 @@ Requires: policycoreutils >= 2.1.13-55
 Requires: systemd >= 197-1.fc18.2
 %endif
 
-Requires: libvirt-python, libvirt-lock-sanlock, libvirt-client
 Requires: psmisc >= 22.6-15
 Requires: bridge-utils
 Requires: sos
 Requires: tree
 Requires: dosfstools
-Requires: policycoreutils-python
 Requires: genisoimage
 Requires: libselinux-python
 Requires: %{name}-python = %{version}-%{release}
@@ -267,6 +236,7 @@ BuildArch:      noarch
 
 Requires: %{name}-python = %{version}-%{release}
 Requires: %{name}-xmlrpc = %{version}-%{release}
+Requires: %{name}-python-cpopen
 
 %description cli
 Call VDSM commands from the command line. Used for testing and debugging.
@@ -276,16 +246,26 @@ Summary:        VDSM xmlrpc API
 BuildArch:      noarch
 
 Requires: %{name}-python = %{version}-%{release}
+Requires: %{name}-python-cpopen
+
 
 %description xmlrpc
 An XMLRPC interface for interacting with vdsmd. Primary control interface for
 ovirt-engine and vdsClient.
 
+%package api
+Summary:        VDSM API definition
+BuildArch:      noarch
+
+%description api
+Provides the VDSM API schema and documentation.
+
 %package jsonrpc
 Summary:        VDSM API Server
 BuildArch:      noarch
 
 Requires: %{name}-python = %{version}-%{release}
+Requires: %{name}-api = %{version}-%{release}
 %if 0%{?rhel} == 6
 Requires: python-ordereddict
 %endif
@@ -293,6 +273,15 @@ Requires: python-ordereddict
 %description jsonrpc
 A Json-based RPC interface that serves as the protocol for libvdsm.
 
+%package yajsonrpc
+Summary:        JSON RPC server and client implementation
+BuildArch:      noarch
+
+Requires:       python >= 2.6
+
+%description yajsonrpc
+A JSON RPC server and client implementation.
+
 %package bootstrap
 Summary:        VDSM bootstrapping package
 BuildArch:      noarch
@@ -313,6 +302,15 @@ Requires: openssl
 VDSM registration package. Used to register a Linux host to a Virtualization
 Manager.
 
+%package python-cpopen
+Summary: Creates a sub-process in simpler safer manner.
+
+BuildRequires: python2-devel
+
+%description python-cpopen
+Python package for creating sub-process in simpler and safer manner by using C
+code.
+
 %package python
 Summary:        VDSM python libraries
 
@@ -338,6 +336,15 @@ BuildArch:      noarch
 %description tests
 A test suite for verifying the functionality of a running vdsm instance
 
+%package hook-checkimages
+Summary:        Qcow2 disk image format check hook for VDSM
+BuildArch:      noarch
+Requires:       vdsm
+
+%description hook-checkimages
+VDSM hook used to perform consistency check on a qcow2 format disk image
+using the QEMU disk image utility.
+
 %package hook-vhostmd
 Summary:        VDSM hook set for interaction with vhostmd
 Requires:       vhostmd
@@ -365,6 +372,13 @@ BuildArch:      noarch
 VDSM hook enable user to add storage LUN for VDSM
 without the sharing and storage handling of VDSM.
 
+%package hook-macspoof
+Summary:        Disables MAC spoofing filtering
+BuildArch:      noarch
+
+%description hook-macspoof
+VDSM hook that disables mac spoof filtering on all the of the VM's interfaces.
+
 %package hook-fileinject
 Summary:        Allow uploading file to VMs disk
 BuildArch:      noarch
@@ -384,6 +398,7 @@ Allow adding floppy to VM
 %package hook-hostusb
 Summary:        Allow attaching USB device from host
 BuildArch:      noarch
+Requires:       usbutils
 
 %description hook-hostusb
 Hook is getting vendor and product id of USB device
@@ -416,13 +431,20 @@ If the nested virtualization is enabled in your kvm module
 this hook will expose it to the guests.
 
 %package hook-numa
-Summary:        numa sopport for VDSM
+Summary:        NUMA support for VDSM
 BuildArch:      noarch
 
 %description hook-numa
-Hooks is getting number/rage of numa nodes and numa mode,
+Hooks is getting number/rage of NUMA nodes and NUMA mode,
 and update the VM xml.
 
+%package hook-openstacknet
+Summary:        OpenStack Network vNICs support for VDSM
+BuildArch:      noarch
+
+%description hook-openstacknet
+Hook for OpenStack Network vNICs.
+
 %package hook-pincpu
 Summary:        Hook pin VM so specific CPUs
 BuildArch:      noarch
@@ -476,6 +498,7 @@ such as: vendor, version, date and release
 
 %package hook-sriov
 Summary:        sr-iov support for VDSM
+Requires:       libvirt-daemon-driver-nodedev
 BuildArch:      noarch
 
 %description hook-sriov
@@ -506,6 +529,7 @@ Requires: glusterfs >= 3.4.0
 Requires: glusterfs-server
 Requires: glusterfs-fuse
 Requires: glusterfs-rdma
+Requires: python-magic
 
 %description gluster
 Gluster plugin enables VDSM to serve Gluster functionalities.
@@ -513,62 +537,7 @@ Gluster plugin enables VDSM to serve Gluster functionalities.
 
 %prep
 %setup -q
-
-# ovirt-3.2 patches
 %patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-%patch18 -p1
-%patch19 -p1
-%patch20 -p1
-%patch21 -p1
-%patch22 -p1
-%patch23 -p1
-%patch24 -p1
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
-%patch28 -p1
-%patch29 -p1
-%patch30 -p1
-%patch31 -p1
-%patch32 -p1
-%patch33 -p1
-%patch34 -p1
-%patch35 -p1
-%patch36 -p1
-%patch37 -p1
-%patch38 -p1
-%patch39 -p1
-%patch40 -p1
-%patch41 -p1
-%patch42 -p1
-%patch43 -p1
-%patch44 -p1
-%patch45 -p1
-%patch46 -p1
-%patch47 -p1
-%patch48 -p1
-%patch49 -p1
-%patch50 -p1
-%patch51 -p1
-%patch52 -p1
-
 %if 0%{?rhel} == 6
 sed -i '/ su /d' vdsm/vdsm-logrotate.conf.in
 %endif
@@ -582,7 +551,9 @@ make
 # Setting software_version and software_revision in dsaversion.py
 baserelease=`echo "%{release}" | sed 's/\([0-9]\+\(\.[0-9]\+\)\?\).*/\1/'`
 baseversion=`echo "%{version}" | sed 's/\([0-9]\+\(\.[0-9]\+\)\?\).*/\1/'`
+rawversion=%{version}-%{release}
 sed -i -e 's/^software_version =.*/software_version = "'"${baseversion}"'"/' \
+       -e 's/^raw_version_revision =.*/raw_version_revision = "'"${rawversion}"'"/' \
        -e 's/^software_revision =.*/software_revision = "'"${baserelease}"'"/' vdsm/dsaversion.py
 
 %install
@@ -604,14 +575,29 @@ install -Dm 0644 vdsm/limits.conf \
 # Install the systemd scripts
 install -Dm 0755 vdsm/vdsmd.init %{buildroot}/lib/systemd/systemd-vdsmd
 install -Dm 0644 vdsm/vdsmd.service %{buildroot}%{_unitdir}/vdsmd.service
+install -Dm 0644 vdsm/supervdsmd.service %{buildroot}%{_unitdir}/supervdsmd.service
+
+install -Dm 0644 vdsm/vdsm-restore-net-config.service \
+                 %{buildroot}%{_unitdir}/vdsm-restore-net-config.service
 install -Dm 0755 vdsm_reg/vdsm-reg.init \
                  %{buildroot}/lib/systemd/systemd-vdsm-reg
 install -Dm 0644 vdsm_reg/vdsm-reg.service \
                  %{buildroot}%{_unitdir}/vdsm-reg.service
+install -Dm 0644 vdsm/vdsm-modules-load.d.conf \
+                 %{buildroot}%{_sysconfdir}/modules-load.d/vdsm.conf
 %else
 # Install the SysV init scripts
 install -Dm 0755 vdsm/vdsmd.init %{buildroot}%{_initrddir}/vdsmd
+install -Dm 0755 vdsm/supervdsmd.init %{buildroot}%{_initrddir}/supervdsmd
+
 install -Dm 0755 vdsm_reg/vdsm-reg.init %{buildroot}%{_initrddir}/vdsm-reg
+install -Dm 0755 vdsm/vdsm-restore-net-config.init \
+    %{buildroot}%{_initrddir}/vdsm-restore-net-config
+%endif
+
+%if 0%{?with_tmpfiles_macro}
+install -Dm 0644 vdsm/vdsm-tmpfiles.d.conf \
+                 %{buildroot}%{_tmpfilesdir}/%{vdsm_name}.conf
 %endif
 
 %if 0%{?rhel}
@@ -620,7 +606,7 @@ install -Dm 0755 vdsm_reg/vdsm-reg.init %{buildroot}%{_initrddir}/vdsm-reg
 install -dDm 1777 %{buildroot}%{_localstatedir}/log/core
 %else
 # Install the configuration sample
-install -Dm 0644 vdsm/vdsm.conf.sample \
+install -Dm 0644 lib/vdsm/vdsm.conf.sample \
                  %{buildroot}%{_sysconfdir}/vdsm/vdsm.conf
 
 # Install the polkit for libvirt
@@ -663,24 +649,30 @@ if grep -q "# VDSM section begin" /etc/sysctl.conf; then
         /etc/sysctl.conf
 fi
 
-# Make the /etc/sysctl.d/vdsm take effect immediately after installation.
-/sbin/sysctl -q -p /etc/sysctl.d/vdsm
-
 %if 0%{?rhel}
 if [ "$1" -eq 1 ] ; then
     /sbin/chkconfig --add vdsmd
+    /sbin/chkconfig --add supervdsmd
+    /sbin/chkconfig --add vdsm-restore-net-config
 fi
 %else
+%if 0%{?with_systemd}
+/bin/systemctl restart systemd-modules-load.service >/dev/null 2>&1 || :
 %if 0%{?with_systemd_macros}
 %systemd_post vdsmd.service
+%systemd_post supervdsmd.service
+%systemd_post vdsm-restore-net-config.service
 %else
 if [ "$1" -eq 1 ] ; then
     /bin/systemctl enable vdsmd.service >/dev/null 2>&1 || :
+    /bin/systemctl enable supervdsmd.service >/dev/null 2>&1 || :
+    /bin/systemctl enable vdsm-restore-net-config.service >/dev/null 2>&1 || :
     /bin/systemctl daemon-reload >/dev/null 2>&1 || :
 fi
 exit 0
 %endif
 %endif
+%endif
 
 %preun
 if [ "$1" -eq 0 ]; then
@@ -691,10 +683,14 @@ if [ "$1" -eq 0 ]; then
         /bin/sed -i -e "/${start_conf_section}/,/${end_conf_section}/d" \
                     -e "/${by_vdsm}/d" \
                %{_sysconfdir}/libvirt/libvirtd.conf \
+               %{_sysconfdir}/logrotate.d/libvirtd \
                %{_sysconfdir}/libvirt/qemu.conf \
                %{_sysconfdir}/sysconfig/libvirtd \
                %{_sysconfdir}/sysctl.conf \
                %{_sysconfdir}/libvirt/qemu-sanlock.conf
+
+        # Restoring backuped logrotate.d/libvirtd
+        /bin/sed -i -e 's/# VDSM backup//' %{_sysconfdir}/logrotate.d/libvirtd
 fi
 
 %if 0%{?rhel}
@@ -702,6 +698,9 @@ if [ "$1" -eq 0 ]
 then
     /sbin/service vdsmd stop > /dev/null 2>&1 || :
     /sbin/chkconfig --del vdsmd
+    /sbin/service supervdsmd stop > /dev/null 2>&1 || :
+    /sbin/chkconfig --del supervdsmd
+    /sbin/chkconfig --del vdsm-restore-net-config
 
     /bin/sed -i '/# VDSM section begin/,/# VDSM section end/d' \
         /etc/sysctl.conf
@@ -721,10 +720,15 @@ fi
 %else
 %if 0%{?with_systemd_macros}
 %systemd_preun vdsmd.service
+%systemd_preun supervdsmd.service
+%systemd_preun vdsm-restore-net-config.service
 %else
 if [ "$1" -eq 0 ]; then
     /bin/systemctl --no-reload disable vdsmd.service > /dev/null 2>&1 || :
+    /bin/systemctl --no-reload disable supervdsmd.service > /dev/null 2>&1 || :
+    /bin/systemctl --no-reload disable vdsm-restore-net-config.service > /dev/null 2>&1 || :
     /bin/systemctl stop vdsmd.service > /dev/null 2>&1 || :
+    /bin/systemctl stop supervdsmd.service > /dev/null 2>&1 || :
 fi
 exit 0
 %endif
@@ -734,14 +738,17 @@ exit 0
 %if 0%{?rhel}
 if [ "$1" -ge 1 ]; then
     /sbin/service vdsmd condrestart > /dev/null 2>&1
+    /sbin/service supervdsmd condrestart > /dev/null 2>&1
 fi
 exit 0
 %else
 %if 0%{?with_systemd_macros}
 %systemd_postun_with_restart vdsmd.service
+%systemd_postun_with_restart supervdsmd.service
 %else
 if [ "$1" -ge 1 ] ; then
     /bin/systemctl try-restart vdsmd.service >/dev/null 2>&1 || :
+    /bin/systemctl try-restart supervdsmd.service >/dev/null 2>&1 || :
 fi
 exit 0
 %endif
@@ -797,18 +804,24 @@ exit 0
 
 %files
 %defattr(-, root, root, -)
-%doc COPYING README vdsm/vdsm.conf.sample
+%doc COPYING README lib/vdsm/vdsm.conf.sample
 %if 0%{?with_systemd}
 /lib/systemd/systemd-vdsmd
 %{_unitdir}/vdsmd.service
+%{_unitdir}/supervdsmd.service
+%{_unitdir}/vdsm-restore-net-config.service
 %else
 %{_initrddir}/vdsmd
+%{_initrddir}/supervdsmd
+%{_initrddir}/vdsm-restore-net-config
 %endif
 
 %dir %attr(-, %{vdsm_user}, %{vdsm_group}) /rhev/data-center
 %ghost %dir %attr(-, %{vdsm_user}, %{vdsm_group}) /rhev/data-center/hsm-tasks
 %ghost %dir %attr(-, %{vdsm_user}, %{vdsm_group}) /rhev/data-center/mnt
 %dir %{_libexecdir}/%{vdsm_name}
+%dir %{_sysconfdir}/%{vdsm_name}
+%dir %{_sysconfdir}/%{vdsm_name}/mom.d
 %dir %{_datadir}/%{vdsm_name}
 %dir %{_datadir}/%{vdsm_name}/storage
 %dir %{_datadir}/%{vdsm_name}/storage/imageRepository
@@ -820,12 +833,13 @@ exit 0
 %{_datadir}/%{vdsm_name}/API.py*
 %{_datadir}/%{vdsm_name}/hooking.py*
 %{_datadir}/%{vdsm_name}/hooks.py*
-%{_datadir}/%{vdsm_name}/libvirtvm.py*
 %{_datadir}/%{vdsm_name}/lsblk.py*
 %{_datadir}/%{vdsm_name}/md_utils.py*
 %{_datadir}/%{vdsm_name}/mk_sysprep_floppy
 %{_datadir}/%{vdsm_name}/parted_utils.py*
 %{_datadir}/%{vdsm_name}/mkimage.py*
+%{_datadir}/%{vdsm_name}/sourceRoute.py*
+%{_datadir}/%{vdsm_name}/sourceRouteThread.py*
 %{_datadir}/%{vdsm_name}/supervdsm.py*
 %{_datadir}/%{vdsm_name}/supervdsmServer.py*
 %{_datadir}/%{vdsm_name}/vmChannels.py*
@@ -834,23 +848,28 @@ exit 0
 %{_datadir}/%{vdsm_name}/vdsm-restore-net-config
 %{_datadir}/%{vdsm_name}/vdsm-store-net-config
 %{_datadir}/%{vdsm_name}/vm.py*
-%{_datadir}/%{vdsm_name}/write-net-config
 %{_datadir}/%{vdsm_name}/zombieReaper.py*
-%attr (755,vdsm,kvm) %{_datadir}/%{vdsm_name}/dummybr.py*
-%attr (755,vdsm,kvm) %{_datadir}/%{vdsm_name}/nwfilter.py*
 %config(noreplace) %{_sysconfdir}/%{vdsm_name}/logger.conf
 %config(noreplace) %{_sysconfdir}/%{vdsm_name}/svdsm.logger.conf
 %config(noreplace) %{_sysconfdir}/%{vdsm_name}/mom.conf
-%config(noreplace) %{_sysconfdir}/%{vdsm_name}/mom.policy
+%config(noreplace) %{_sysconfdir}/%{vdsm_name}/mom.d/*.policy
 %config(noreplace) %{_sysconfdir}/logrotate.d/vdsm
 %config(noreplace) %{_sysconfdir}/rwtab.d/vdsm
 %config(noreplace) %{_sysconfdir}/sysctl.d/vdsm
+%if 0%{?with_systemd}
+%config(noreplace) %{_sysconfdir}/modules-load.d/vdsm.conf
+%endif
+%if 0%{?with_tmpfiles_macro}
+%config(noreplace) %{_tmpfilesdir}/%{vdsm_name}.conf
+%endif
+%{_sysconfdir}/dhcp/dhclient.d/sourceRoute.sh
 %{_sysconfdir}/sudoers.d/50_vdsm
 %{_sysconfdir}/cron.hourly/vdsm-logrotate
 %{_sysconfdir}/cron.d/vdsm-libvirt-logrotate
 %{_datadir}/%{vdsm_name}/guestIF.py*
 %{_datadir}/%{vdsm_name}/logUtils.py*
 %{_datadir}/%{vdsm_name}/dsaversion.py*
+%{_libexecdir}/%{vdsm_name}/curl-img-wrap
 %{_libexecdir}/%{vdsm_name}/persist-vdsm-hooks
 %{_libexecdir}/%{vdsm_name}/unpersist-vdsm-hook
 %{_libexecdir}/%{vdsm_name}/ovirt_functions.sh
@@ -858,6 +877,7 @@ exit 0
 %{_datadir}/%{vdsm_name}/storage/__init__.py*
 %{_datadir}/%{vdsm_name}/storage/blockSD.py*
 %{_datadir}/%{vdsm_name}/storage/blockVolume.py*
+%{_datadir}/%{vdsm_name}/storage/curlImgWrap.py*
 %{_datadir}/%{vdsm_name}/storage/devicemapper.py*
 %{_datadir}/%{vdsm_name}/storage/dispatcher.py*
 %{_datadir}/%{vdsm_name}/storage/domainMonitor.py*
@@ -865,9 +885,16 @@ exit 0
 %{_datadir}/%{vdsm_name}/storage/fileUtils.py*
 %{_datadir}/%{vdsm_name}/storage/fileVolume.py*
 %{_datadir}/%{vdsm_name}/storage/fuser.py*
+%if 0%{?with_gluster}
+%{_datadir}/%{vdsm_name}/storage/glusterSD.py*
+%{_datadir}/%{vdsm_name}/storage/glusterVolume.py*
+%else
+%exclude %{_datadir}/%{vdsm_name}/storage/gluster*
+%endif
 %{_datadir}/%{vdsm_name}/storage/hba.py*
 %{_datadir}/%{vdsm_name}/storage/hsm.py*
 %{_datadir}/%{vdsm_name}/storage/image.py*
+%{_datadir}/%{vdsm_name}/storage/imageSharing.py*
 %{_datadir}/%{vdsm_name}/storage/iscsiadm.py*
 %{_datadir}/%{vdsm_name}/storage/iscsi.py*
 %{_datadir}/%{vdsm_name}/storage/localFsSD.py*
@@ -901,6 +928,10 @@ exit 0
 %{_libexecdir}/%{vdsm_name}/safelease
 %{_libexecdir}/%{vdsm_name}/spmprotect.sh
 %{_libexecdir}/%{vdsm_name}/spmstop.sh
+%dir %{_libexecdir}/%{vdsm_name}/hooks/before_device_create
+%dir %{_libexecdir}/%{vdsm_name}/hooks/after_device_create
+%dir %{_libexecdir}/%{vdsm_name}/hooks/before_device_destroy
+%dir %{_libexecdir}/%{vdsm_name}/hooks/after_device_destroy
 %dir %{_libexecdir}/%{vdsm_name}/hooks/before_vm_start
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_vm_start
 %dir %{_libexecdir}/%{vdsm_name}/hooks/before_vm_cont
@@ -911,6 +942,10 @@ exit 0
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_vm_hibernate
 %dir %{_libexecdir}/%{vdsm_name}/hooks/before_vm_dehibernate
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_vm_dehibernate
+%dir %{_libexecdir}/%{vdsm_name}/hooks/before_device_migrate_source
+%dir %{_libexecdir}/%{vdsm_name}/hooks/after_device_migrate_source
+%dir %{_libexecdir}/%{vdsm_name}/hooks/before_device_migrate_destination
+%dir %{_libexecdir}/%{vdsm_name}/hooks/after_device_migrate_destination
 %dir %{_libexecdir}/%{vdsm_name}/hooks/before_vm_migrate_source
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_vm_migrate_source
 %dir %{_libexecdir}/%{vdsm_name}/hooks/before_vm_migrate_destination
@@ -919,12 +954,19 @@ exit 0
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_vm_destroy
 %dir %{_libexecdir}/%{vdsm_name}/hooks/before_vm_set_ticket
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_vm_set_ticket
+%dir %{_libexecdir}/%{vdsm_name}/hooks/before_update_device
+%dir %{_libexecdir}/%{vdsm_name}/hooks/after_update_device
+%dir %{_libexecdir}/%{vdsm_name}/hooks/after_update_device_fail
 %dir %{_libexecdir}/%{vdsm_name}/hooks/before_nic_hotplug
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_nic_hotplug
 %dir %{_libexecdir}/%{vdsm_name}/hooks/before_nic_hotunplug
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_nic_hotunplug
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_nic_hotplug_fail
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_nic_hotunplug_fail
+%dir %{_libexecdir}/%{vdsm_name}/hooks/before_disk_hotplug
+%dir %{_libexecdir}/%{vdsm_name}/hooks/after_disk_hotplug
+%dir %{_libexecdir}/%{vdsm_name}/hooks/before_disk_hotunplug
+%dir %{_libexecdir}/%{vdsm_name}/hooks/after_disk_hotunplug
 %dir %{_libexecdir}/%{vdsm_name}/hooks/before_vdsm_start
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_vdsm_stop
 %{_datadir}/%{vdsm_name}/addNetwork
@@ -935,9 +977,24 @@ exit 0
 %{_datadir}/%{vdsm_name}/kaxmlrpclib.py*
 %{_datadir}/%{vdsm_name}/ksm.py*
 %{_datadir}/%{vdsm_name}/momIF.py*
+%{_datadir}/%{vdsm_name}/netconf/__init__.py*
+%{_datadir}/%{vdsm_name}/netconf/ifcfg.py*
+%{_datadir}/%{vdsm_name}/netconf/libvirtCfg.py*
+%{_datadir}/%{vdsm_name}/netconf/iproute2.py*
 %{_datadir}/%{vdsm_name}/neterrors.py*
+%{_datadir}/%{vdsm_name}/netmodels.py*
 %{_datadir}/%{vdsm_name}/respawn
+%{_datadir}/%{vdsm_name}/sampling.py*
 %{_datadir}/%{vdsm_name}/set-conf-item
+%if 0%{?with_gluster}
+%dir %{_datadir}/%{vdsm_name}/gluster
+%{_datadir}/%{vdsm_name}/gluster/__init__.py*
+%{_datadir}/%{vdsm_name}/gluster/cli.py*
+%{_datadir}/%{vdsm_name}/gluster/exception.py*
+%{_datadir}/%{vdsm_name}/gluster/hostname.py*
+%else
+%exclude %{_datadir}/%{vdsm_name}/gluster/*
+%endif
 %{python_sitelib}/sos/plugins/vdsm.py*
 /lib/udev/rules.d/12-vdsm-lvm.rules
 /etc/security/limits.d/99-vdsm.conf
@@ -962,7 +1019,9 @@ exit 0
 %config(noreplace) %{_sysconfdir}/pki/%{vdsm_name}/keys/libvirt_password
 %dir %{_localstatedir}/lib/%{vdsm_name}
 %dir %{_localstatedir}/lib/%{vdsm_name}/netconfback
-%ghost %dir %{_localstatedir}/run/%{vdsm_name}
+%dir %{_localstatedir}/run/%{vdsm_name}
+%dir %{_localstatedir}/run/%{vdsm_name}/sourceRoutes
+%dir %{_localstatedir}/run/%{vdsm_name}/trackedInterfaces
 %ghost %dir %{_localstatedir}/run/%{vdsm_name}/pools
 %ghost %dir %{_localstatedir}/run/%{vdsm_name}/payload
 %dir %{_localstatedir}/log/%{vdsm_name}
@@ -979,31 +1038,42 @@ exit 0
 %{python_sitearch}/%{vdsm_name}/constants.py*
 %{python_sitearch}/%{vdsm_name}/define.py*
 %{python_sitearch}/%{vdsm_name}/exception.py*
+%{python_sitearch}/%{vdsm_name}/ipwrapper.py*
 %{python_sitearch}/%{vdsm_name}/libvirtconnection.py*
 %{python_sitearch}/%{vdsm_name}/netinfo.py*
 %{python_sitearch}/%{vdsm_name}/qemuImg.py*
 %{python_sitearch}/%{vdsm_name}/SecureXMLRPCServer.py*
 %{python_sitearch}/%{vdsm_name}/utils.py*
 %{python_sitearch}/%{vdsm_name}/vdscli.py*
-%{python_sitearch}/%{vdsm_name}/betterPopen/__init__.py*
-%{python_sitearch}/%{vdsm_name}/betterPopen/createprocess.so
 %{python_sitearch}/%{vdsm_name}/tool/__init__.py*
+%if 0%{?with_systemd}
+%exclude %{python_sitearch}/%{vdsm_name}/tool/load_needed_modules.py*
+%else
 %{python_sitearch}/%{vdsm_name}/tool/load_needed_modules.py*
+%endif
+%{python_sitearch}/%{vdsm_name}/tool/dummybr.py*
+%{python_sitearch}/%{vdsm_name}/tool/nwfilter.py*
+%{python_sitearch}/%{vdsm_name}/tool/libvirt_configure.py*
+%{_libexecdir}/%{vdsm_name}/libvirt_configure.sh
 %{python_sitearch}/%{vdsm_name}/tool/passwd.py*
+%{python_sitearch}/%{vdsm_name}/tool/sanlock.py*
 %{python_sitearch}/%{vdsm_name}/tool/seboolsetup.py*
+%{python_sitearch}/%{vdsm_name}/tool/service.py*
 %{python_sitearch}/%{vdsm_name}/tool/validate_ovirt_certs.py*
+%{python_sitearch}/%{vdsm_name}/tool/vdsm-id.py*
 
 %files tests
 %doc %{_datadir}/%{vdsm_name}/tests/README
 %defattr(-, root, root, -)
 %{_datadir}/%{vdsm_name}/tests/*.py*
 %{_datadir}/%{vdsm_name}/tests/cpu_info.out
-%{_datadir}/%{vdsm_name}/tests/caps_libvirt.out
+%{_datadir}/%{vdsm_name}/tests/caps_libvirt_intel_E5649.out
+%{_datadir}/%{vdsm_name}/tests/caps_libvirt_amd_6274.out
+%{_datadir}/%{vdsm_name}/tests/caps_libvirt_intel_E31220.out
 %{_datadir}/%{vdsm_name}/tests/glob_1c60971a-8647-44ac-ae33-6520887f8843.out
 %{_datadir}/%{vdsm_name}/tests/lvs_3386c6f2-926f-42c4-839c-38287fac8998.out
 %{_datadir}/%{vdsm_name}/tests/netmaskconversions
 %{_datadir}/%{vdsm_name}/tests/run_tests.sh
-%{_datadir}/%{vdsm_name}/tests/route_info.out
 %{_datadir}/%{vdsm_name}/tests/tc_filter_show.out
 %if 0%{?with_gluster}
 %{_datadir}/%{vdsm_name}/tests/glusterVolumeProfileInfo.xml
@@ -1013,6 +1083,20 @@ exit 0
 %endif
 %{_datadir}/%{vdsm_name}/tests/functional/*.py*
 
+%files hook-openstacknet
+%defattr(-, root, root, -)
+%{_sysconfdir}/sudoers.d/50_vdsm_hook_openstacknet
+%{_libexecdir}/%{vdsm_name}/hooks/after_device_create/50_openstacknet
+%{_libexecdir}/%{vdsm_name}/hooks/after_device_create/openstacknet_consts.py*
+%{_libexecdir}/%{vdsm_name}/hooks/after_device_migrate_destination/50_openstacknet
+%{_libexecdir}/%{vdsm_name}/hooks/after_device_migrate_destination/openstacknet_consts.py*
+%{_libexecdir}/%{vdsm_name}/hooks/after_nic_hotplug/50_openstacknet
+%{_libexecdir}/%{vdsm_name}/hooks/after_nic_hotplug/openstacknet_consts.py*
+%{_libexecdir}/%{vdsm_name}/hooks/before_device_create/50_openstacknet
+%{_libexecdir}/%{vdsm_name}/hooks/before_device_create/openstacknet_consts.py*
+%{_libexecdir}/%{vdsm_name}/hooks/before_nic_hotplug/50_openstacknet
+%{_libexecdir}/%{vdsm_name}/hooks/before_nic_hotplug/openstacknet_consts.py*
+
 %files hook-vhostmd
 %defattr(-, root, root, -)
 %doc COPYING
@@ -1028,6 +1112,10 @@ exit 0
 %{_libexecdir}/%{vdsm_name}/hooks/before_vm_start/50_qemucmdline
 
 %if 0%{?with_hooks}
+%files hook-checkimages
+%defattr(-, root, root, -)
+%{_libexecdir}/%{vdsm_name}/hooks/before_vm_start/60_checkimages
+
 %files hook-directlun
 %defattr(-, root, root, -)
 %{_sysconfdir}/sudoers.d/50_vdsm_hook_directlun
@@ -1063,6 +1151,10 @@ exit 0
 %{_libexecdir}/%{vdsm_name}/hooks/before_vm_start/50_isolatedprivatevlan
 %config(noreplace) %{_sysconfdir}/libvirt/nwfilter/isolatedprivatevlan-vdsm.xml
 
+%files hook-macspoof
+%defattr(-, root, root, -)
+%{_libexecdir}/%{vdsm_name}/hooks/before_vm_start/50_macspoof
+
 %files hook-nestedvt
 %defattr(-, root, root, -)
 %{_sysconfdir}/modprobe.d/vdsm-nestedvt.conf
@@ -1131,11 +1223,20 @@ exit 0
 %defattr(-, root, root, -)
 %{_datadir}/%{vdsm_name}/BindingXMLRPC.py*
 
+%files api
+%doc vdsm_api/vdsm-api.html
+%{_datadir}/%{vdsm_name}/vdsmapi-schema.json
+%{python_sitelib}/vdsmapi.py*
+
 %files jsonrpc
 %{_datadir}/%{vdsm_name}/BindingJsonRpc.py*
 %{_datadir}/%{vdsm_name}/Bridge.py*
-%{_datadir}/%{vdsm_name}/vdsmapi.py*
-%{_datadir}/%{vdsm_name}/vdsmapi-schema.json
+
+%files yajsonrpc
+%{python_sitelib}/yajsonrpc/__init__.py*
+%{python_sitelib}/yajsonrpc/asyncoreReactor.py*
+%{python_sitelib}/yajsonrpc/protonReactor.py*
+%{python_sitelib}/yajsonrpc/client.py*
 
 %files bootstrap
 %defattr(-, root, root, -)
@@ -1179,8 +1280,6 @@ exit 0
 %files hook-faqemu
 %defattr(-, root, root, -)
 %doc COPYING
-%{_libexecdir}/%{vdsm_name}/vdsm-faqemu
-%{_libexecdir}/%{vdsm_name}/hooks/after_vdsm_stop/10_faqemu
 %{_libexecdir}/%{vdsm_name}/hooks/before_vm_start/10_faqemu
 
 %if 0%{?with_gluster}
@@ -1188,17 +1287,21 @@ exit 0
 %defattr(-, root, root, -)
 %dir %{_datadir}/%{vdsm_name}/gluster
 %doc COPYING
-%{_datadir}/%{vdsm_name}/gluster/__init__.py*
 %{_datadir}/%{vdsm_name}/gluster/api.py*
-%{_datadir}/%{vdsm_name}/gluster/cli.py*
-%{_datadir}/%{vdsm_name}/gluster/exception.py*
-%{_datadir}/%{vdsm_name}/gluster/hostname.py*
-%else
-%exclude %{_datadir}/%{vdsm_name}/gluster/*
+%{_datadir}/%{vdsm_name}/gluster/vdsmapi-gluster-schema.json
+%{_datadir}/%{vdsm_name}/gluster/hooks.py*
+%{_datadir}/%{vdsm_name}/gluster/services.py*
 %endif
 
+%files python-cpopen
+%{python_sitearch}/cpopen/__init__.py*
+%attr(755, root, root) %{python_sitearch}/cpopen/cpopen.so*
+
 
 %changelog
+* Tue Jul 23 2013 Federico Simoncelli <fsimonce at redhat.com> 4.12.0-0.1.rc3
+- update to vdsm-4.12.0-rc3
+
 * Wed Jul 10 2013 Douglas Schilling Landgraf <dougsland at redhat.com> 4.10.3-18
 - vdsm.spec: update python-pthreading 
 - service: make iscsid a systemd dependency


More information about the scm-commits mailing list