Summary: Cluster-based virtualization management software
Name: ganeti
Version: 2.9.3
-Release: 0.3
+Release: 0.9
License: GPL v2
Group: Applications/System
Source0: http://downloads.ganeti.org/releases/2.9/%{name}-%{version}.tar.gz
Patch1: systemd.patch
Patch2: daemon-util-use-service.patch
Patch3: mtl.patch
+Patch4: use-vm-openvswitch-link.patch
URL: https://code.google.com/p/ganeti/
BuildRequires: autoconf
BuildRequires: automake
Requires: python-simplejson
Requires: rc-scripts
Requires: socat
+Requires: sudo
Requires: systemd-units >= 0.38
#Suggests: ganeti-instance-debootstrap
Suggests: qemu
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
%build
%{__aclocal} -I autotools
%configure \
IP_PATH=/sbin/ip \
DOT=/usr/bin/dot \
- PYCOVERAGE=/usr/bin/coverage-2.7 \
+ PYCOVERAGE=/usr/bin/coverage-%{py_ver} \
PYLINT=/usr/bin/pylint \
SOCAT=/usr/bin/socat \
QEMUIMG_PATH=/usr/bin/qemu-img \
--with-kvm-path=/usr/bin/qemu-kvm \
--enable-restricted-commands \
--with-user-prefix="gnt-" \
- --with-group-prefix="gnt-"
+ --with-group-prefix="gnt-" \
+ --with-export-dir=/var/lib/ganeti/export \
+ --with-iallocator-search-path=%{_libdir}/ganeti/iallocators \
+ --with-os-search-path=/srv/ganeti/os,%{_libdir}/ganeti/os,%{_datadir}/ganeti/os \
+ --with-extstorage-search-path=/srv/ganeti/extstorage,%{_libdir}/ganeti/extstorage,%{_datadir}/ganeti/extstorage
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{systemdunitdir},%{systemdtmpfilesdir}} \
- $RPM_BUILD_ROOT/etc/{ganeti,cron.d,bash_completion.d,sysconfig,rc.d/init.d}
+ $RPM_BUILD_ROOT/etc/{ganeti,cron.d,bash_completion.d,sysconfig,rc.d/init.d,sudoers.d,logrotate.d}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_datadir}/ganeti/os
+install -d $RPM_BUILD_ROOT{%{_libdir},%{_datadir}}/ganeti/{os,extstorage}
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/ganeti.conf
install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/ganeti-confd
cp -p doc/examples/bash_completion $RPM_BUILD_ROOT/etc/bash_completion.d/ganeti
cp -p doc/examples/ganeti.cron $RPM_BUILD_ROOT/etc/cron.d/ganeti
cp -p doc/examples/ganeti.target $RPM_BUILD_ROOT%{systemdunitdir}
-cp -p doc/examples/ganeti.target $RPM_BUILD_ROOT%{systemdunitdir}
cp -p doc/examples/ganeti-{noded,masterd,rapi,confd,luxid,mond}.service $RPM_BUILD_ROOT%{systemdunitdir}
+cp -p doc/examples/ganeti.sudoers $RPM_BUILD_ROOT/etc/sudoers.d/ganeti
+cp -p doc/examples/ganeti.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/ganeti
+cp -p doc/examples/gnt-config-backup $RPM_BUILD_ROOT%{_sbindir}
%py_postclean
%attr(754,root,root) /etc/rc.d/init.d/ganeti-noded
%attr(754,root,root) /etc/rc.d/init.d/ganeti-rapi
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ganeti
+%config(noreplace) %verify(not md5 mtime size) /etc/sudoers.d/ganeti
%dir %{_sysconfdir}/ganeti
%{systemdunitdir}/ganeti.target
%{systemdunitdir}/ganeti-confd.service
%{systemdunitdir}/ganeti-rapi.service
%{systemdtmpfilesdir}/ganeti.conf
/etc/cron.d/ganeti
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/ganeti
%dir %{_datadir}/ganeti
+%dir %{_datadir}/ganeti/extstorage
%dir %{_datadir}/ganeti/os
%dir %{_libdir}/ganeti
%attr(755,root,root) %{_libdir}/ganeti/check-cert-expired
%attr(755,root,root) %{_libdir}/ganeti/import-export
%attr(755,root,root) %{_libdir}/ganeti/kvm-ifup
%attr(755,root,root) %{_libdir}/ganeti/mon-collector
-%attr(755,root,root) %{_libdir}/ganeti/node-daemon-setup
%attr(755,root,root) %{_libdir}/ganeti/net-common
+%attr(755,root,root) %{_libdir}/ganeti/node-daemon-setup
%attr(755,root,root) %{_libdir}/ganeti/prepare-node-join
%attr(755,root,root) %{_libdir}/ganeti/vif-ganeti
+%dir %{_libdir}/ganeti/extstorage
%dir %{_libdir}/ganeti/iallocators
+%dir %{_libdir}/ganeti/os
%dir %{_libdir}/ganeti/tools
%attr(755,root,root) %{_libdir}/ganeti/tools/burnin
%attr(755,root,root) %{_libdir}/ganeti/tools/cfgshell
%attr(755,root,root) %{_sbindir}/ganeti-watcher
%attr(755,root,root) %{_sbindir}/gnt-backup
%attr(755,root,root) %{_sbindir}/gnt-cluster
+%attr(755,root,root) %{_sbindir}/gnt-config-backup
%attr(755,root,root) %{_sbindir}/gnt-debug
%attr(755,root,root) %{_sbindir}/gnt-group
%attr(755,root,root) %{_sbindir}/gnt-instance
%{py_sitescriptdir}/ganeti/utils/*.py*
%dir %{py_sitescriptdir}/ganeti/watcher
%{py_sitescriptdir}/ganeti/watcher/*.py*
+%dir %attr(755,gnt-masterd,gnt-masterd) /var/lib/ganeti
+%dir %attr(770,gnt-masterd,gnt-daemons) /var/log/ganeti
+%dir %attr(775,gnt-masterd,gnt-daemons) /var/run/ganeti
%files htools
%defattr(644,root,root,755)