]> git.pld-linux.org Git - packages/ganeti.git/blobdiff - ganeti.spec
- added logrotate config and config-backup script
[packages/ganeti.git] / ganeti.spec
index f98c9ce62e4921aea28e76b1593fb9b5ccbf6b23..d4db87eebef7db65b1629cc987dbe42072bd8df1 100644 (file)
@@ -1,11 +1,11 @@
 Summary:       Cluster-based virtualization management software
 Name:          ganeti
-Version:       2.8.1
-Release:       0.4
+Version:       2.9.3
+Release:       0.9
 License:       GPL v2
 Group:         Applications/System
-Source0:       https://ganeti.googlecode.com/files/%{name}-%{version}.tar.gz
-# Source0-md5: ade147740c2f630e0cdbb14a70e9c3ef
+Source0:       http://downloads.ganeti.org/releases/2.9/%{name}-%{version}.tar.gz
+# Source0-md5: 0542ca872bf2d57284359fcc8dc565ef
 Source1:       %{name}.tmpfiles
 Source2:       %{name}-confd.init
 Source3:       %{name}-masterd.init
@@ -13,9 +13,12 @@ Source4:     %{name}-noded.init
 Source5:       %{name}-rapi.init
 Source6:       %{name}-luxid.init
 Source7:       %{name}-mond.init
+Source8:       %{name}.sysconfig
 Patch0:                fix-no-kvm.patch
 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
@@ -30,20 +33,25 @@ BuildRequires:      ghc-haskell-platform
 BuildRequires: ghc-hinotify
 BuildRequires: ghc-hslogger >= 1.2.3
 BuildRequires: ghc-json
-BuildRequires: ghc-snap-server
 BuildRequires: ghc-regex-pcre
+BuildRequires: ghc-snap-server
+BuildRequires: ghc-temporary
 BuildRequires: ghc-utf8-string
 BuildRequires: gmp-devel
 BuildRequires: hlint
 BuildRequires: hscolour
+BuildRequires: pandoc
 BuildRequires: python
 BuildRequires: python-affinity
 BuildRequires: python-bitarray
+BuildRequires: python-coverage
 BuildRequires: python-devel
 BuildRequires: python-distribute
 BuildRequires: python-ipaddr
+BuildRequires: python-mock >= 1.0.1
 BuildRequires: python-modules
 BuildRequires: python-paramiko
+BuildRequires: python-pep8
 BuildRequires: python-pyOpenSSL
 BuildRequires: python-pycurl
 BuildRequires: python-pyinotify
@@ -55,7 +63,6 @@ Requires(post,preun): /sbin/chkconfig
 Requires(post,preun,postun):   systemd-units >= 38
 Requires:      bridge-utils
 Requires:      drbdsetup >= 8.0.12
-Requires:      drbd-udev
 Requires:      iproute2
 Requires:      iputils-arping
 Requires:      lvm2
@@ -76,9 +83,10 @@ Requires:    python-pyparsing
 Requires:      python-simplejson
 Requires:      rc-scripts
 Requires:      socat
+Requires:      sudo
 Requires:      systemd-units >= 0.38
 #Suggests:     ganeti-instance-debootstrap
-Suggests:      qemu-kvm
+Suggests:      qemu
 Suggests:      xen
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -115,6 +123,8 @@ bash-completion for ganeti.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
+%patch4 -p1
 
 %build
 %{__aclocal} -I autotools
@@ -124,29 +134,36 @@ bash-completion for ganeti.
 %configure \
        IP_PATH=/sbin/ip \
        DOT=/usr/bin/dot \
+       PYCOVERAGE=/usr/bin/coverage-%{py_ver} \
        PYLINT=/usr/bin/pylint \
        SOCAT=/usr/bin/socat \
        QEMUIMG_PATH=/usr/bin/qemu-img \
        --enable-syslog \
-       --enable-htools-rapi \
-       --enable-confd=python \
+       --enable-confd \
+       --enable-monitoring \
        --enable-socat-escape \
        --with-ssh-initscript=/etc/rc.d/init.d/sshd \
        --with-ssh-config-dir=/etc/ssh \
-       --with-xen-cmd=xl \
-       --with-kvm-path=/usr/bin/qemu-kvm
+       --with-kvm-path=/usr/bin/qemu-kvm \
+       --enable-restricted-commands \
+       --with-user-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
@@ -158,18 +175,33 @@ install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/ganeti-mond
 
 %{__sed} -i -e 's|@LIBDIR@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/rc.d/init.d/ganeti-*
 
+cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/ganeti
+
 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.default $RPM_BUILD_ROOT/etc/sysconfig/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
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%pre
+%groupadd -g 300 gnt-masterd
+%groupadd -g 301 gnt-confd
+%groupadd -g 302 gnt-luxid
+%groupadd -g 303 gnt-rapi
+%groupadd -g 304 gnt-daemons
+%groupadd -g 305 gnt-admin
+%useradd -u 300 -d /var/lib/ganeti -g gnt-masterd -G gnt-daemons,gnt-confd,gnt-admin -c "Ganeti Masterd User" gnt-masterd
+%useradd -u 301 -d /var/lib/ganeti -g gnt-confd -G gnt-daemons -c "Ganeti Confd User" gnt-confd
+%useradd -u 302 -d /var/lib/ganeti -g gnt-luxid -G gnt-daemons,gnt-confd,gnt-masterd -c "Ganeti Luxid User" gnt-luxid
+%useradd -u 303 -d /var/lib/ganeti -g gnt-rapi -G gnt-daemons,gnt-admin -c "Ganeti RAPI User" gnt-rapi
+
 %post
 /sbin/chkconfig --add ganeti-noded
 %service ganeti-noded restart
@@ -203,6 +235,18 @@ fi
 %systemd_preun ganeti.target ganeti-noded.service ganeti-masterd.service ganeti-rapi.service ganeti-confd.service ganeti-luxid.service ganeti-mond.service
 
 %postun
+if [ "$1" = "0" ]; then
+       %userremove gnt-rapi
+       %userremove gnt-luxid
+       %userremove gnt-confd
+       %userremove gnt-masterd
+       %groupremove gnt-admin
+       %groupremove gnt-masterd
+       %groupremove gnt-rapi
+       %groupremove gnt-luxid
+       %groupremove gnt-confd
+       %groupremove gnt-daemons
+fi
 %systemd_reload
 
 %files
@@ -215,6 +259,7 @@ fi
 %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
@@ -225,7 +270,9 @@ fi
 %{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
@@ -234,9 +281,13 @@ fi
 %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/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
@@ -266,6 +317,7 @@ fi
 %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
@@ -317,12 +369,17 @@ fi
 %{py_sitescriptdir}/ganeti/rapi/*.py*
 %dir %{py_sitescriptdir}/ganeti/server
 %{py_sitescriptdir}/ganeti/server/*.py*
+%dir %{py_sitescriptdir}/ganeti/storage
+%{py_sitescriptdir}/ganeti/storage/*.py*
 %dir %{py_sitescriptdir}/ganeti/tools
 %{py_sitescriptdir}/ganeti/tools/*.py*
 %dir %{py_sitescriptdir}/ganeti/utils
 %{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)
This page took 0.053077 seconds and 4 git commands to generate.