Merge branch 'devel' of ssh://git.planet-lab.org/git/nodemanager into devel
[nodemanager.git] / NodeManager.spec
index d58342c..579243f 100644 (file)
@@ -1,13 +1,8 @@
-#
-# $Id$
-#
-%define url $URL$
-
 %define slicefamily %{pldistro}-%{distroname}-%{_arch}
 
 %define name NodeManager
 %define version 2.0
-%define taglevel 8
+%define taglevel 33
 
 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 
@@ -23,27 +18,26 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 Vendor: PlanetLab
 Packager: PlanetLab Central <support@planet-lab.org>
 Distribution: PlanetLab %{plrelease}
-URL: %(echo %{url} | cut -d ' ' -f 2)
+URL: %{SCMURL}
 
 # not possible because of forward_api_calls
 #BuildArch: noarch
 
-# Old Node Manager
-Obsoletes: sidewinder, sidewinder-common
+# old name
+#Obsoletes: sidewinder, sidewinder-common
 
+# Uses function decorators
+Requires: python >= 2.4
+# connecting PLC
+Requires: python-pycurl
+# Signed tickets
+Requires: gnupg
 # vuseradd, vuserdel
 Requires: vserver-%{slicefamily}
+# our interface to the vserver patch
 Requires: util-vserver >= 0.30.208-17
-
 # vserver.py
 Requires: util-vserver-python > 0.3-16
-
-# Signed tickets
-Requires: gnupg
-
-# Uses function decorators
-Requires: python >= 2.4
-
 # sioc/plnet
 Requires: pyplnet >= 4.3
 
@@ -66,6 +60,11 @@ local operations on slices.
 rm -rf $RPM_BUILD_ROOT
 %{__make} %{?_smp_mflags} install DESTDIR="$RPM_BUILD_ROOT"
 
+# install the sliver initscript (that triggers the slice initscript if any)
+mkdir -p $RPM_BUILD_ROOT/usr/share/NodeManager/sliver-initscripts/
+rsync -av sliver-initscripts/ $RPM_BUILD_ROOT/usr/share/NodeManager/sliver-initscripts/
+chmod 755 $RPM_BUILD_ROOT/usr/share/NodeManager/sliver-initscripts/
+
 mkdir -p $RPM_BUILD_ROOT/%{_initrddir}/
 rsync -av initscripts/ $RPM_BUILD_ROOT/%{_initrddir}/
 chmod 755 $RPM_BUILD_ROOT/%{_initrddir}/*
@@ -78,8 +77,8 @@ install -D -m 644 logrotate/nodemanager $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate
 %post
 # tmp - handle file renamings; old names are from 2.0-8
 renamings="
-/var/lib/misc/bwmon.dat@/var/lib/nodemanager/bwmon.dat
-/root/sliver_mgr_db.pickle@/var/lib/nodemanager/nodemanager.pickle
+/var/lib/misc/bwmon.dat@/var/lib/nodemanager/bwmon.pickle
+/root/sliver_mgr_db.pickle@/var/lib/nodemanager/database.pickle
 /var/log/getslivers.txt@/var/lib/nodemanager/getslivers.txt
 /var/log/nm@/var/log/nodemanager
 /var/log/nm.daemon@/var/log/nodemanager.daemon
@@ -132,6 +131,113 @@ rm -rf $RPM_BUILD_ROOT
 /var/lib/
 
 %changelog
+* Thu Jul 07 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-33
+- tweaked log policy for the core scheduler
+- curlwrapper has an optional verbose mode
+
+* Mon Jun 06 2011 Baris Metin <bmetin@verivue.com> - nodemanager-2.0-32
+- fixes for hmac and omf_control tags
+- optional besteffort flag to core scheduler
+- logrotate entry for /var/log/nodemanager.daemon
+- a template for bash initscripts
+
+* Tue Mar 22 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-31
+- rename initscript_body into initscript_code
+- fix generic vinit for broken bash syntax &>>
+
+* Mon Mar 21 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-30
+- new initscript_body slice tag, with stop and restart
+- generic vinit script live updated
+- new coresched module
+- protect against non-existing vsys scripts
+- use Config. instead of globals
+
+* Sun Feb 20 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-29
+- more robust reservation plugin
+
+* Thu Feb 17 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-28
+- bind-mount slice's .ssh into sliver for omf-friendly slices - no need to use dotsshmount (vsys) anymore
+- reservation plugin more robust
+
+* Tue Feb 01 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-27
+- pass device to bwlimit
+
+* Tue Jan 25 2011 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-26
+- start to use /etc/vservers/<guest>/sysctl/<id>/{setting,value} files as new kernels don't support old syntax
+
+* Tue Jan 04 2011 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-25
+- Catch all exceptions for sfa plugin
+
+* Wed Dec 22 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-24
+- Handle exception AttributeError: ComponentAPI instance has no attribute 'get_registry'
+
+* Mon Nov 29 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-23
+- Use networks key if interfaces is missing to solve the incompatibility between new NM and old API
+
+* Mon Nov 29 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-22
+- plugins/sliverauth.py improvements
+
+* Mon Oct 11 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-21
+- Disable sfagids plugin
+
+* Mon Oct 11 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-20
+- Re-tag nodemanager to include conflicted commits
+
+* Thu Sep 23 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-19
+- hotfix - make the UpdateSliceTag for ssh_key really incremental (was storming the API)
+- sfagids plugin deleted
+- band-aid patch for lack of GetSliceFamily removed
+
+* Mon Aug 23 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-18
+
+* Fri Jul 16 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-17
+- revert curlwrapper to former forking-curl version
+- fixes in the omf plugin for ssh key location and node hrn
+- set umask 0022 in tools.daemon
+
+* Thu Jul 08 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - nodemanager-2.0-16
+- configure omf-resctl for keys
+
+* Mon Jul 05 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - NodeManager-2.0-15
+- fix key generation
+
+* Mon Jul 05 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - NodeManager-2.0-14
+- name changes and fix typos
+
+* Mon Jun 28 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - NodeManager-2.0-13
+- remove config and options parameters from start function
+
+* Sat Jun 26 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-2.0-12
+- working version of reservable nodes
+- sliverauth generates an ssh keypair and export pub part as 'ssh_key' tag
+- dismantled the -s|--startup option (no convincing need for that)
+- simpler and more robust init.d/nm
+- initscript content management through replace_file_with_string
+- sliverauth uses replace_file_with_string
+- curlwrapper has a debug mode
+
+* Wed Jun 23 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-2.0-11
+- pretty-printing/normalized python code - hopefully neutral
+
+* Tue Jun 22 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-2.0-10
+- (1) unconditionnally install and chkconfig-like a generic 'vinit' service
+- that triggers /etc/init.d/vinit.slice if present and executable
+- (2) install the slice-provided initscript (as per the initscript tag) as
+- /etc/init.d/vinit.slice
+- (3) as a result the initscript are now triggered by rc as part of the
+- standard vserver .. start, properly attached to the vserver,
+- and properly killed upon vserver .. stop
+- (4) this works best with util-vserver-pl 0.3-31 or 0.4-12
+
+* Wed Jun 16 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-2.0-9
+- fix for 64bits nodes: add newline to the personality files that instruct util-vserver to create 32bits slivers
+- basic/partial support from reservable nodes through the 'reservation plugin' (not fully working yet)
+- plugins can set 'persistent_data' to receive the latests know GetSlivers in case the connection is down
+- cleanup: moved runtime files in /var/lib/nodemanager, and logs as /var/log/nodemanager* (see specfile)
+- cleanup: some modules renamed (e.g. nm.py becomes nodemanager.py)
+- cleanup: nodemanger now is a class; however plugins are still dumb modules
+- cleanup: does not depend on obsolete Set
+
 * Fri May 14 2010 Talip Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - NodeManager-2.0-8
 - tagging before RC