reguire gnupg1 on f>=31; sense the system to use gpg1 when installed
[nodemanager.git] / nodemanager.spec
index ee8a567..e4ef6db 100644 (file)
@@ -1,8 +1,8 @@
 %define slicefamily %{pldistro}-%{distroname}-%{_arch}
 
 %define name nodemanager-lib
-%define version 5.2
-%define taglevel 16
+%define version 7.0
+%define taglevel 0
 
 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 
 %define _unpackaged_files_terminate_build      0
 
 ##############################
-# use initscripts or systemd unit files to start installed services
-%if "%{distro}" == "Fedora" && "%{distrorelease}" >= "18"
+# only systemd unit files to start installed services
 %define make_options WITH_SYSTEMD=true
-%define initdir /usr/lib/systemd/system
+%define systemddir /usr/lib/systemd/system
 %define build_lxc 1
-%else
-%define make_options WITH_INIT=true
-%define initdir %{_initrddir}
-%define build_vs 1
-%endif
 
 ##############################
 Summary: PlanetLab Node Manager Library
@@ -43,16 +37,19 @@ URL: %{SCMURL}
 #BuildArch: noarch
 
 # make sure we can invoke systemctl in post install script
-%if "%{initdir}" != "%{_initrddir}"
 Requires: systemd
-%endif
 
 # Uses function decorators
-Requires: python >= 2.7
+Requires: python3
 # connecting PLC
-Requires: python-pycurl
+Requires: python3-pycurl
 # Signed tickets
+# see myplc/plc.d/gpg for more details on the gnupg / gpg topic
+%if "%{distro}" == "Fedora" && %{distrorelease} >= 31
+Requires: gnupg1
+%else
 Requires: gnupg
+%endif
 # sioc/plnet
 Requires: pyplnet >= 4.3
 # we do need the slice images in any case
@@ -84,22 +81,6 @@ rm -rf $RPM_BUILD_ROOT
 
 ##############################
 %post
-########## traditional init
-%if "%{initdir}" == "%{_initrddir}"
-##########
-chkconfig --add conf_files
-chkconfig conf_files on
-chkconfig --add nm
-chkconfig nm on
-chkconfig --add fuse-pl
-chkconfig fuse-pl on
-if [ "$PL_BOOTCD" != "1" ] ; then
-    service nm restart
-    service fuse-pl restart
-fi
-##########
-%else
-########## systemd
 systemctl enable nm.service
 systemctl enable conf_files.service
 # empty
@@ -108,33 +89,15 @@ if [ "$PL_BOOTCD" != "1" ] ; then
     systemctl restart nm.service
 #    systemctl restart fuse-pl.service
 fi
-##########
-%endif
 
 ##############################
 %preun
 # 0 = erase, 1 = upgrade
-########## traditional init
-%if "%{initdir}" == "%{_initrddir}"
-##########
-if [ $1 -eq 0 ] ; then
-    chkconfig fuse-pl off
-    chkconfig --del fuse-pl
-    chkconfig nm off
-    chkconfig --del nm
-    chkconfig conf_files off
-    chkconfig --del conf_files
-fi
-##########
-%else
-########## systemd
 if [ $1 -eq 0 ] ; then
 #    systemctl disable fuse-pl.service
     systemctl disable conf_files.service
     systemctl disable nm.service
 fi
-##########
-%endif
 
 ##############################
 %clean
@@ -163,7 +126,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/NodeManager/ticket.*
 %{_datadir}/NodeManager/tools.*
 %{_datadir}/NodeManager/plugins/__init__.*
-%{_datadir}/NodeManager/plugins/codemux.*
 %{_datadir}/NodeManager/plugins/hostmap.*
 %{_datadir}/NodeManager/plugins/interfaces.*
 %{_datadir}/NodeManager/plugins/omf_resctl.*
@@ -180,7 +142,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/NodeManager/sliver-initscripts/
 %{_datadir}/NodeManager/sliver-systemd/
 %{_bindir}/forward_api_calls
-%{initdir}/
+%{systemddir}/
 %{_sysconfdir}/logrotate.d/nodemanager
 /var/lib/nodemanager/
 %config(noreplace) /etc/sysconfig/nodemanager
@@ -193,9 +155,9 @@ Summary: PlanetLab Node Manager Plugin for lxc nodes
 Group: System Environment/Daemons
 # we use libvirt
 Requires: libvirt
-Requires: libvirt-python
+Requires: python3-libvirt
 # cgroups.py needs this
-Requires: python-inotify
+Requires: python3-inotify
 # the common package for nodemanager
 Requires: nodemanager-lib = %{version}
 # the lxc-specific tools for using slice images
@@ -224,7 +186,7 @@ Group: System Environment/Daemons
 
 # old name, when all came as a single package with vserver wired in
 Obsoletes: NodeManager
-# for nodeupdate 
+# for nodeupdate
 Provides: nodemanager
 
 # our interface to the vserver patch
@@ -244,12 +206,41 @@ nodemanager-vs provides the vserver code for the PlanetLab Node Manager.
 %{_datadir}/NodeManager/coresched_vs.*
 # this plugin uses vserver for now
 %{_datadir}/NodeManager/plugins/drl.*
+# in vs only : turn off the codemux plugin in lxc for now as
+# it is responsible for the slice re-creation issue
+%{_datadir}/NodeManager/plugins/codemux.*
 
 %endif
 ##############################
 
 ##############################
 %changelog
+* Mon Jan 07 2019 Thierry Parmentelat <thierry.parmentelat@inria.fr> - nodemanager-7.0-0
+- ported to python3
+- add a systemd dependency to network-online so the service won't start too early
+- only support systemd, removed init-oriented business
+- also removed debian-oriented business
+
+* Mon Jan 07 2019 Thierry Parmentelat <thierry.parmentelat@inria.fr> - nodemanager-5.2-20
+- simply make conf_files.py executable, so that bootmanager can be py2/py3 compliant
+
+* Sun Jul 10 2016 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-19
+- tweak to run against libvirt-python-1.3.3 under f24
+- fix by Thomas Dreibholz - misspelled ovs-ovsctl
+- default vrf is f24 - not that it matters much
+
+* Fri Nov 13 2015 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-18
+- remove codemux plugin from lxc - was causing slice re-creation issue
+- has reconnect capabilities to libvirt deamon
+- reinstate code from a previous version, that deals with btrfs cleaning up
+- cleaned up cgroups.py
+
+* Fri Jun 26 2015 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-17
+- first step towards auto slice-reimaging
+- slices that would be reimaged because of a change of slicefamily are
+- identified in the nodemanager's log
+- might have fixed fd leaks (use context managers whenever possible)
+
 * Fri Apr 03 2015 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-16
 - initscript plugin reviewed
 - turn off the initscript machinery completely on hosts that run f>=20
@@ -681,5 +672,5 @@ nodemanager-vs provides the vserver code for the PlanetLab Node Manager.
 * Wed Oct 03 2007 Faiyaz Ahmed <faiyaza@cs.princeton.edu> .
 - Switched to SVN.
 
-* Mon Nov 13 2006 Mark Huang <mlhuang@paris.CS.Princeton.EDU> - 
+* Mon Nov 13 2006 Mark Huang <mlhuang@paris.CS.Princeton.EDU> -
 - Initial build.