1 %define slicefamily %{pldistro}-%{distroname}-%{_arch}
3 %define name nodemanager-lib
7 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
9 ##############################
10 # for now we just extract all the files but package them only for either vs or lxc
11 # so bottom line is we have missing files at the end
12 # plan is to separate these target-dependant files in subdirs at some point
13 %define _unpackaged_files_terminate_build 0
15 ##############################
16 # only systemd unit files to start installed services
17 %define make_options WITH_SYSTEMD=true
18 %define systemddir /usr/lib/systemd/system
21 ##############################
22 Summary: PlanetLab Node Manager Library
27 Group: System Environment/Daemons
28 Source0: %{name}-%{version}.tar.gz
29 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
32 Packager: PlanetLab Central <support@planet-lab.org>
33 Distribution: PlanetLab %{plrelease}
36 # not possible because of forward_api_calls
39 # make sure we can invoke systemctl in post install script
42 # Uses function decorators
45 Requires: python3-pycurl
47 # see myplc/plc.d/gpg for more details on the gnupg / gpg topic
48 %if "%{distro}" == "Fedora" && %{distrorelease} >= 31
54 Requires: pyplnet >= 4.3
55 # we do need the slice images in any case
56 Requires: sliceimage-%{slicefamily}
58 Requires: plnode-utils
61 The PlanetLab Node Manager manages all aspects of PlanetLab node and
62 slice management once the node has been initialized and configured by
63 the Boot Manager. It periodically contacts its management authority
64 for configuration updates. It provides an XML-RPC API for performing
65 local operations on slices.
66 nodemanager-lib only provides a skeleton and needs as a companion
67 either nodemanager-vs or nodemanager-lxc
69 ##############################
74 # make manages the C and Python stuff
75 %{__make} %{?_smp_mflags} %{make_options}
78 # make manages the C and Python stuff
79 rm -rf $RPM_BUILD_ROOT
80 %{__make} %{?_smp_mflags} %{make_options} install DESTDIR="$RPM_BUILD_ROOT"
82 ##############################
84 systemctl enable nm.service
85 systemctl enable conf_files.service
87 #systemctl enable fuse-pl.service
88 if [ "$PL_BOOTCD" != "1" ] ; then
89 systemctl restart nm.service
90 # systemctl restart fuse-pl.service
93 ##############################
95 # 0 = erase, 1 = upgrade
96 if [ $1 -eq 0 ] ; then
97 # systemctl disable fuse-pl.service
98 systemctl disable conf_files.service
99 systemctl disable nm.service
102 ##############################
104 rm -rf $RPM_BUILD_ROOT
106 ##############################
108 %defattr(-,root,root,-)
109 %{_datadir}/NodeManager/account.*
110 %{_datadir}/NodeManager/api.*
111 %{_datadir}/NodeManager/api_calls.*
112 %{_datadir}/NodeManager/bwmon.*
113 %{_datadir}/NodeManager/conf_files.*
114 %{_datadir}/NodeManager/config.*
115 %{_datadir}/NodeManager/controller.*
116 %{_datadir}/NodeManager/curlwrapper.*
117 %{_datadir}/NodeManager/database.*
118 %{_datadir}/NodeManager/initscript.*
119 %{_datadir}/NodeManager/iptables.*
120 %{_datadir}/NodeManager/logger.*
121 %{_datadir}/NodeManager/net.*
122 %{_datadir}/NodeManager/nodemanager.*
123 %{_datadir}/NodeManager/plcapi.*
124 %{_datadir}/NodeManager/safexmlrpc.*
125 %{_datadir}/NodeManager/slivermanager.*
126 %{_datadir}/NodeManager/ticket.*
127 %{_datadir}/NodeManager/tools.*
128 %{_datadir}/NodeManager/plugins/__init__.*
129 %{_datadir}/NodeManager/plugins/hostmap.*
130 %{_datadir}/NodeManager/plugins/interfaces.*
131 %{_datadir}/NodeManager/plugins/omf_resctl.*
132 %{_datadir}/NodeManager/plugins/rawdisk.*
133 %{_datadir}/NodeManager/plugins/reservation.*
134 %{_datadir}/NodeManager/plugins/sfagids.*
135 %{_datadir}/NodeManager/plugins/sliverauth.*
136 %{_datadir}/NodeManager/plugins/specialaccounts.*
137 %{_datadir}/NodeManager/plugins/syndicate.*
138 %{_datadir}/NodeManager/plugins/vsys.*
139 %{_datadir}/NodeManager/plugins/vsys_privs.*
140 %{_datadir}/NodeManager/plugins/ipv6.*
141 %{_datadir}/NodeManager/plugins/update_ipv6addr_slivertag.*
142 %{_datadir}/NodeManager/sliver-initscripts/
143 %{_datadir}/NodeManager/sliver-systemd/
144 %{_bindir}/forward_api_calls
146 %{_sysconfdir}/logrotate.d/nodemanager
147 /var/lib/nodemanager/
148 %config(noreplace) /etc/sysconfig/nodemanager
150 ##############################
151 %if "%{build_lxc}" == "1"
153 %package -n nodemanager-lxc
154 Summary: PlanetLab Node Manager Plugin for lxc nodes
155 Group: System Environment/Daemons
158 Requires: python3-libvirt
159 # cgroups.py needs this
160 Requires: python3-inotify
161 # the common package for nodemanager
162 Requires: nodemanager-lib = %{version}
163 # the lxc-specific tools for using slice images
164 Requires: lxc-sliceimage
165 Requires: openvswitch
167 %description -n nodemanager-lxc
168 nodemanager-lxc provides the lxc code for the PlanetLab Node Manager.
170 %files -n nodemanager-lxc
171 %{_datadir}/NodeManager/sliver_libvirt.*
172 %{_datadir}/NodeManager/sliver_lxc.*
173 %{_datadir}/NodeManager/cgroups.*
174 %{_datadir}/NodeManager/coresched_lxc.*
175 %{_datadir}/NodeManager/plugins/privatebridge.*
178 ##############################
180 ##############################
181 %if "%{build_vs}" == "1"
183 %package -n nodemanager-vs
184 Summary: PlanetLab Node Manager Plugin for vserver nodes
185 Group: System Environment/Daemons
187 # old name, when all came as a single package with vserver wired in
188 Obsoletes: NodeManager
190 Provides: nodemanager
192 # our interface to the vserver patch
193 Requires: util-vserver >= 0.30.208-17
194 # and the planetlab utilities
195 Requires: util-vserver-python > 0.3-16
196 # the common package for nodemanager
197 Requires: nodemanager-lib = %{version}
198 # the vserver-specific tools for using slice images
199 Requires: vserver-sliceimage
201 %description -n nodemanager-vs
202 nodemanager-vs provides the vserver code for the PlanetLab Node Manager.
204 %files -n nodemanager-vs
205 %{_datadir}/NodeManager/sliver_vs.*
206 %{_datadir}/NodeManager/coresched_vs.*
207 # this plugin uses vserver for now
208 %{_datadir}/NodeManager/plugins/drl.*
209 # in vs only : turn off the codemux plugin in lxc for now as
210 # it is responsible for the slice re-creation issue
211 %{_datadir}/NodeManager/plugins/codemux.*
214 ##############################
216 ##############################
218 * Mon Jan 07 2019 Thierry Parmentelat <thierry.parmentelat@inria.fr> - nodemanager-7.0-0
220 - add a systemd dependency to network-online so the service won't start too early
221 - only support systemd, removed init-oriented business
222 - also removed debian-oriented business
224 * Mon Jan 07 2019 Thierry Parmentelat <thierry.parmentelat@inria.fr> - nodemanager-5.2-20
225 - simply make conf_files.py executable, so that bootmanager can be py2/py3 compliant
227 * Sun Jul 10 2016 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-19
228 - tweak to run against libvirt-python-1.3.3 under f24
229 - fix by Thomas Dreibholz - misspelled ovs-ovsctl
230 - default vrf is f24 - not that it matters much
232 * Fri Nov 13 2015 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-18
233 - remove codemux plugin from lxc - was causing slice re-creation issue
234 - has reconnect capabilities to libvirt deamon
235 - reinstate code from a previous version, that deals with btrfs cleaning up
236 - cleaned up cgroups.py
238 * Fri Jun 26 2015 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-17
239 - first step towards auto slice-reimaging
240 - slices that would be reimaged because of a change of slicefamily are
241 - identified in the nodemanager's log
242 - might have fixed fd leaks (use context managers whenever possible)
244 * Fri Apr 03 2015 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-16
245 - initscript plugin reviewed
246 - turn off the initscript machinery completely on hosts that run f>=20
247 - some tweaks related to cgroup naming in f>=20, including for ipv6
248 - ideally all code depending on the cgroup naming scheme should use cgroups.py
249 - we are not there yet but this is a bit cleaner already
251 * Wed Feb 18 2015 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-15
252 - addition to support for ipv6 to lxc slivers
253 - (thanks to Guilherme Sperb Machado)
254 - privatebridge plugin is back to the -lxc rpm
255 - add systemd dependency to network.target
257 * Tue Jul 22 2014 Thomas Dreibholz <dreibh@simula.no> - nodeimage-5.2-15
258 - nm.service fix: the node manager needs network.target, since it needs to contact the PLC.
260 * Wed Jul 16 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-14
261 - review packaging : one single spec file
262 - review packaging : some cleanup towards debians although not complete yet
263 - minor tweaks in exposing user's .ssh dir readonly
265 * Mon Apr 28 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-13
266 - improve network management in slices
267 - _has_systemctl was not declared as global - vsys was failing to restart
269 * Fri Apr 04 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-12
270 - this tag for the first time passes the full range of tests on fedora20
271 - robustified slice teardown wrt vsys
272 - Scott's fix for repairing veth devs
274 - tools.has_systemctl
276 * Tue Mar 25 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-11
277 - ship /etc/sysconfig/nodemanager
280 * Fri Mar 21 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-10
281 - comes with systemd native unit files on >= f18
282 - user-provided initscript gets started through systemd in slivers >= f18
283 - smarter to locate cgroups for various versions of libvirt
284 - nicer log format - and log program termination
285 - tweaks in codemux plugin
286 - bug fixes in libvirt driver, esp. for finding out if domain is running
288 * Wed Dec 11 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-9
289 - fixes in hostmap, and in interfaces
291 - privatebridge now comes with nodemanager-lib
293 * Fri Sep 20 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-8
294 - omf plugin does not block any longer when running trigger script
295 - log goes into sliver's /var/log instead
297 * Wed Aug 28 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-7
298 - new install-scripts target in Makefile
299 - conf_files and fuse-pl initscripts chmod'ed +x
300 - omf_resctl config template tweaked to use _slicename_%_hostname_
302 * Sun Jul 14 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-6
303 - make sure to create /etc/planetlab/virt so others can read that
304 - expose get_node_virt() and command_in_slice()
305 - refined omf_resctl plugin (fetches trigger, and calls it on expire change)
306 - user's .profile now has right owner
307 - other tweaks in lxc slivers
309 * Wed Jul 03 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-5
310 - lxc slice creation: slice user was created with unknown gid - fixed
311 - lxc slice creation: .profile for root and user - fixed
313 * Sat Jun 29 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-4
314 - fix umounting of ssh directory when deleting omf-friendly slivers
315 - support for writing cgroups in subsystems other than cpuset
316 - add xid to template match
317 - finer-grained split between -lib -vs and -lxc
318 - first roughly complete omf_resctl for omfv6
319 - minor fix for when getslivers does not have minexemptrate
321 * Fri May 24 2013 Andy Bavier <acb@cs.princeton.edu> - nodemanager-5.2-3
322 - Fix path, machine arch in slivers
324 * Tue Apr 30 2013 Stephen Soltesz <soltesz@opentechinstitute.org> - nodemanager-5.2-2
326 * Thu Mar 07 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-5.2-1
327 - no-op bump to 5.2 to be in line with the rest of the system
329 * Thu Feb 21 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.1-22
330 - improvements to privatebridge
332 * Sat Jan 19 2013 Scott Baker <smbaker@gmail.com> - nodemanager-2.1-21
333 - change hostnames related to private IPs to use pvt.hostname instead of slice_name.hostname
335 * Mon Jan 14 2013 Scott Baker <smbaker@gmail.com> - nodemanager-2.1-20
336 - fix wrong gre tunnel deleted when topology changes
338 * Mon Jan 14 2013 Scott Baker <smbaker@gmail.com> - nodemanager-2.1-19
339 - Update /etc/hosts in slivers from sliver_hostmap tag.
341 * Mon Jan 07 2013 Scott Baker <smbaker@gmail.com> - nodemanager-2.1-18
342 - Support passing a list of interfaces in slice interface tag to configure multiple interfaces,
343 - initial check-in of privatebridge plugin.
345 * Fri Dec 14 2012 Scott Baker <smbaker@gmail.com> - nodemanager-2.1-17
346 - set ownership of slice homedir, att slice user to etc/sudoers inside of slice
348 * Wed Dec 12 2012 Scott Baker <smbaker@gmail.com> - nodemanager-2.1-16
349 - fix slices not deleted properly when they use vsys
351 * Mon Dec 10 2012 Scott Baker <smbaker@gmail.com> - nodemanager-2.1-15
352 - fix error in syndicate plugin, add error message to nodemanager for attributeerror during load/start
354 * Mon Dec 10 2012 Scott Baker <smbaker@gmail.com> - nodemanager-2.1-14
355 - Add syndicate plugin, create /etc/hostname and home directory in LXC guests
357 * Tue Nov 13 2012 Andy Bavier <acb@cs.princeton.edu> - nodemanager-2.1-13
358 - Bridge virtual interfaces to VLANs
360 * Wed Oct 24 2012 Andy Bavier <acb@cs.princeton.edu> - nodemanager-2.1-12
361 - Add support for L2 bridged interfaces with public IPs inside a slice
363 * Thu Oct 18 2012 Scott Baker <smbaker@gmail.com> - nodemanager-2.1-11
364 - Support for freezing BestEffort slices for Vicci
366 * Wed Sep 05 2012 Andy Bavier <acb@cs.princeton.edu> - nodemanager-2.1-10
367 - Change to use new vsh (wrapper for lxcsu)
369 * Fri Aug 31 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.1-9
371 - 2.1-8 is less broken than 2.1-7 for omf-friendly slices, in that the slivers would get created, but the OMF-feature probably won't work as .ssh won't get exposed to the sliver
373 * Thu Aug 30 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.1-8
374 - tag 2.1-7 was broken for OMF-friendly slices
375 - expose_ssh_dir was erroneously defined on the Worker class
377 * Thu Jul 19 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.1-7
378 - bwlimitlxc now ships with plnode-utils
380 * Mon Jul 09 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.1-6
381 - set LD_PRELOAD for linux-containers nodes
383 * Thu Jun 28 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.1-5
384 - first complete version for vs and lxc - functional but not thoroughly tested though
386 * Tue Jun 26 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.1-4
387 - split packaging in 3 (lib, lxc, vs)
388 - this tag will only work with lxc though
390 * Tue Jun 26 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-38
391 - split packaging, nodemanager-vs (obsoletes NodeManager) and nodemanager-lib
393 * Mon Jun 25 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.1-3
394 - renamed bwlimit as bwlimitlxc to avoid conflicts with util-vserver-pl
395 - purpose being to be able to run this branch on vserver nodes as well
397 * Thu Jun 21 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.1-2
398 - merged nodemanager-2.0-37 in 2.1/lxc_devel and add initscript support to lxc
399 - passes tests with lxc but won't build against vs due to conflict
400 - as bwlimit.py also ships with util-vserver-pl
402 * Thu Jun 21 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-37
403 - refactoring: isolate initscript functionality
404 - aimed at making initscript implementation with lxc straightforward
405 - show stack trace when module loading fails
406 - accounts.py renamed into account.py for consistency
408 * Sun Jun 03 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-36
409 - /var/log/nodemanager shows duration of mainloop
411 * Fri Apr 13 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.1-1
412 - first working draft for dealing with libvirt/lxc on f16 nodes
413 - not expected to work with mainline nodes (use 2.0 for that for now)
415 * Fri Apr 13 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-35
416 - remove Requires to deprecated vserver-* rpms, use sliceimage-* instead
418 * Fri Dec 09 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-34
419 - Added memory scheduling to core scheduler
420 - Core scheduler will now attempt to schedule cores on the same CPU to a slice, if a slice uses multiple cores
422 * Thu Jul 07 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-33
423 - tweaked log policy for the core scheduler
424 - curlwrapper has an optional verbose mode
426 * Mon Jun 06 2011 Baris Metin <bmetin@verivue.com> - nodemanager-2.0-32
427 - fixes for hmac and omf_control tags
428 - optional besteffort flag to core scheduler
429 - logrotate entry for /var/log/nodemanager.daemon
430 - a template for bash initscripts
432 * Tue Mar 22 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-31
433 - rename initscript_body into initscript_code
434 - fix generic vinit for broken bash syntax &>>
436 * Mon Mar 21 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-30
437 - new initscript_body slice tag, with stop and restart
438 - generic vinit script live updated
439 - new coresched module
440 - protect against non-existing vsys scripts
441 - use Config. instead of globals
443 * Sun Feb 20 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-29
444 - more robust reservation plugin
446 * Thu Feb 17 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-28
447 - bind-mount slice's .ssh into sliver for omf-friendly slices - no need to use dotsshmount (vsys) anymore
448 - reservation plugin more robust
450 * Tue Feb 01 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-27
451 - pass device to bwlimit
453 * Tue Jan 25 2011 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-26
454 - start to use /etc/vservers/<guest>/sysctl/<id>/{setting,value} files as new kernels don't support old syntax
456 * Tue Jan 04 2011 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-25
457 - Catch all exceptions for sfa plugin
459 * Wed Dec 22 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-24
460 - Handle exception AttributeError: ComponentAPI instance has no attribute 'get_registry'
462 * Mon Nov 29 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-23
463 - Use networks key if interfaces is missing to solve the incompatibility between new NM and old API
465 * Mon Nov 29 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-22
466 - plugins/sliverauth.py improvements
468 * Mon Oct 11 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-21
469 - Disable sfagids plugin
471 * Mon Oct 11 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-20
472 - Re-tag nodemanager to include conflicted commits
474 * Thu Sep 23 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-19
475 - hotfix - make the UpdateSliceTag for ssh_key really incremental (was storming the API)
476 - sfagids plugin deleted
477 - band-aid patch for lack of GetSliceFamily removed
479 * Mon Aug 23 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - nodemanager-2.0-18
481 * Fri Jul 16 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - nodemanager-2.0-17
482 - revert curlwrapper to former forking-curl version
483 - fixes in the omf plugin for ssh key location and node hrn
484 - set umask 0022 in tools.daemon
486 * Thu Jul 08 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - nodemanager-2.0-16
487 - configure omf-resctl for keys
489 * Mon Jul 05 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - NodeManager-2.0-15
492 * Mon Jul 05 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - NodeManager-2.0-14
493 - name changes and fix typos
495 * Mon Jun 28 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - NodeManager-2.0-13
496 - remove config and options parameters from start function
498 * Sat Jun 26 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-2.0-12
499 - working version of reservable nodes
500 - sliverauth generates an ssh keypair and export pub part as 'ssh_key' tag
501 - dismantled the -s|--startup option (no convincing need for that)
502 - simpler and more robust init.d/nm
503 - initscript content management through replace_file_with_string
504 - sliverauth uses replace_file_with_string
505 - curlwrapper has a debug mode
507 * Wed Jun 23 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-2.0-11
508 - pretty-printing/normalized python code - hopefully neutral
510 * Tue Jun 22 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-2.0-10
511 - (1) unconditionnally install and chkconfig-like a generic 'vinit' service
512 - that triggers /etc/init.d/vinit.slice if present and executable
513 - (2) install the slice-provided initscript (as per the initscript tag) as
514 - /etc/init.d/vinit.slice
515 - (3) as a result the initscript are now triggered by rc as part of the
516 - standard vserver .. start, properly attached to the vserver,
517 - and properly killed upon vserver .. stop
518 - (4) this works best with util-vserver-pl 0.3-31 or 0.4-12
520 * Wed Jun 16 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-2.0-9
521 - fix for 64bits nodes: add newline to the personality files that instruct util-vserver to create 32bits slivers
522 - basic/partial support from reservable nodes through the 'reservation plugin' (not fully working yet)
523 - plugins can set 'persistent_data' to receive the latests know GetSlivers in case the connection is down
524 - cleanup: moved runtime files in /var/lib/nodemanager, and logs as /var/log/nodemanager* (see specfile)
525 - cleanup: some modules renamed (e.g. nm.py becomes nodemanager.py)
526 - cleanup: nodemanger now is a class; however plugins are still dumb modules
527 - cleanup: does not depend on obsolete Set
529 * Fri May 14 2010 Talip Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - NodeManager-2.0-8
532 * Wed May 12 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - NodeManager-2.0-7
533 - Fix typos in plugins/drl.py and doc/NMAPI.xml.in
534 - Added some precautions to the slice id-saving code
535 - Added log message to code that records the slice id
537 * Mon Apr 26 2010 Sapan Bhatia <sapanb@cs.princeton.edu> - NodeManager-2.0-6
538 - This version changes the location of the slice id for components such as PlanetFlow to look up. Previously this piece
539 - of information was stored in the 'vserver name' field of the per-vserver context structure in the kernel but we needed
540 - to move it elsewhere since Daniel decided to use that for something else (the vserver name... pedantic!).
542 * Wed Apr 14 2010 Talip Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - NodeManager-2.0-5
543 - fix log_call in plugins/drl.py
545 * Fri Apr 02 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-2.0-4
546 - protect against nodes in migrated PLC's not having the hrn tag yet
548 * Fri Mar 12 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-2.0-3
549 - new omf-resctl and drl plugins
550 - specialaccount optimized to overwrite authorized keys only upon changes
551 - codemux plugin has support for a new 'ip' setting
552 - mainloop to display ordered modules&plugins at all times
554 * Thu Feb 11 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-2.0-2
555 - modules and plugins have a priority
556 - specialaccounts appears soon in the priority chain
557 - logger.log_call logs process output, and has a timeout
558 - vuser{add,del} run through bash -x
559 - nm initscript has support for 'service nm restartverbose'
560 - logs reviewed for consistency
561 - use hashlib module instead of sha when available
563 * Fri Jan 29 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-2.0-1
564 - first working version of 5.0:
565 - pld.c/, db-config.d/ and nodeconfig/ scripts should now sit in the module they belong to
566 - nodefamily is 3-fold with pldistro-fcdistro-arch
567 - relies on GetSlivers to expose 'GetSliceFamily' for slivers
568 - (in addition to the 'vref' tag that's still exposed too)
569 - logging reviewed for more convenience
570 - support for 'service nm restartdebug'
571 - make sync knows how to publish uncommitted code on a test node
573 * Tue Jan 12 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-1.8-23
574 - emergency tag - make the setting of hmac by the sliverauth plugin more robust
576 * Mon Jan 11 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-1.8-22
577 - support for f10 and f12 in the vref slice tag
579 * Sat Jan 09 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-1.8-21
581 - uses slicename 'sfacm' instead of 'genicw'
583 * Fri Oct 30 2009 Sapan Bhatia <sapanb@cs.princeton.edu> - NodeManager-1.8-20
584 - This tag is identical to 1.8-19. The main addition is PLC-controllable vsys scripts. The reason I am
585 - retagging is to eliminate any confusion associated with the -19 tag which was (temporarily) modified a few
588 * Tue Oct 27 2009 Sapan Bhatia <sapanb@cs.princeton.edu> - NodeManager-1.8-19
589 - This patch makes vsys scripts PLC-configurable. Previously, vsys scripts needed to be
590 - self-contained. With this change, they will be able to refer to the attributes associated with a
593 * Thu Oct 22 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - NodeManager-1.8-18
594 - fix for syntax error
596 * Wed Oct 21 2009 anil vengalil <avengali@sophia.inria.fr> - NodeManager-1.8-17
597 - -fixed problem with sioc import at the build side
598 - -bwlimit.set() now accepts the device and does not asume that it is eth0
600 * Tue Oct 20 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - NodeManager-1.8-16
601 - - don't hardcode the device name (depends on util-vserver-pl change rev. 15385)
603 * Fri Oct 09 2009 Marc Fiuczynski <mef@cs.princeton.edu> - NodeManager-1.8-15
604 - The seed for random previously was the meaning of life (i.e., 42) but
605 - that resulted in a not so random choice for the hmac. This
606 - implementation now uses a random.seed that is based on the current
609 * Tue Oct 06 2009 Marc Fiuczynski <mef@cs.princeton.edu> - NodeManager-1.8-14
610 - Minor fix such that sliverauth.py makes a more specific call to
611 - GetSliceTags that include that specific tagname it is looking for.
613 * Sat Sep 19 2009 Stephen Soltesz <soltesz@cs.princeton.edu> - NodeManager-1.8-13
614 - Fix bug that prevented 'OVERRIDES' for working correctly.
616 * Tue Sep 08 2009 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.8-12
617 - Increase disk limits to 10G per sliver
618 - Sanity check slice for home directory before starting (hack)
619 - Check codemux arguments
621 * Thu Aug 06 2009 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.8-11
623 - * Move plcapi in plugin-api GetSlivers() calls.
624 - * Persistent Authcheck and resync session when auth failure
626 * Tue Aug 04 2009 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.8-10
627 - Disabling sliverauth module. Not ready for deployment.
629 * Mon Aug 03 2009 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.8-9
630 - Fixing overrides semantics.
632 * Mon Aug 03 2009 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.8-8
633 - Generalized plugins
634 - Fixed initscript start up bug.
636 * Tue Jun 30 2009 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.8-7
637 - * Fix delegation authentication problem
638 - * Can now disable codemux using _default slice, and setting tag {codemux: -1}
640 * Tue May 26 2009 Stephen Soltesz <soltesz@cs.princeton.edu> - NodeManager-1.8-4
641 - * Rerun initscripts when slice goes from disabled to enabled.
643 * Tue May 26 2009 Stephen Soltesz <soltesz@cs.princeton.edu> - NodeManager-1.8-4
644 - * Update session key when out of synch with PLC
645 - * PLCDefaults uses tagname
647 * Fri Apr 17 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-1.8-3
648 - log invokations of vsys
650 * Fri Mar 27 2009 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.8-2
652 * Tue Mar 24 2009 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.8-1
654 * Wed Apr 02 2008 Faiyaz Ahmed <faiyaza@cs.prineton.edu - NodeManager-1.7.4
655 - Codemux supports multiple hosts mapping to single slice
656 - Fixed bug in delegation support where tickets delivered weren't
657 being passed to sm.deliver_ticket().
659 * Fri Mar 28 2008 Faiyaz Ahmed <faiyaza@cs.prineton.edu - NodeManager-1.7.3
660 - Codemux now configured via slice attribute (host,port)
661 - Support for multiple vserver reference images (including different archs)
662 - Mom BW emails are sent to list defined by MyPLC's config
663 - Sirius BW loans honored correctly. Fixed.
664 - BW totals preserved for dynamic slices so as not to game the system.
666 * Thu Feb 14 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-1 NodeManager-1.7-2
667 - Configures vsys via vsys slice attribute {name: vsys, value: script}
668 - CPU reservations are now calculated via percentages instead of shares
669 - BW totals preserved for dynamic slices
670 - Closes bug where node cap sets off bw slice alarms for all slices.
672 * Wed Oct 03 2007 Faiyaz Ahmed <faiyaza@cs.princeton.edu> .
675 * Mon Nov 13 2006 Mark Huang <mlhuang@paris.CS.Princeton.EDU> -