* Explicitly run configure, which sets capabilities and resources, before starting...
[nodemanager.git] / NodeManager.spec
1 #
2 # $Id$
3 #
4 %define url $URL$
5
6 %define slicefamily %{pldistro}-%{distroname}-%{_arch}
7
8 %define name NodeManager
9 %define version 1.7
10 %define taglevel 33
11
12 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
13
14 Summary: PlanetLab Node Manager
15 Name: %{name}
16 Version: %{version}
17 Release: %{release}
18 License: PlanetLab
19 Group: System Environment/Daemons
20 Source0: %{name}-%{version}.tar.gz
21 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
22
23 Vendor: PlanetLab
24 Packager: PlanetLab Central <support@planet-lab.org>
25 Distribution: PlanetLab %{plrelease}
26 URL: %(echo %{url} | cut -d ' ' -f 2)
27
28 # Old Node Manager
29 Obsoletes: sidewinder, sidewinder-common
30
31 # vuseradd, vuserdel
32 Requires: vserver-%{slicefamily}
33 Requires: util-vserver >= 0.30.208-17
34
35 # vserver.py
36 Requires: util-vserver-python
37
38 # Signed tickets
39 Requires: gnupg
40
41 # Contact API server
42 Requires: curl
43
44 # Uses function decorators
45 Requires: python >= 2.4
46
47 %description
48 The PlanetLab Node Manager manages all aspects of PlanetLab node and
49 slice management once the node has been initialized and configured by
50 the Boot Manager. It periodically contacts its management authority
51 for configuration updates. It provides an XML-RPC API for performing
52 local operations on slices.
53
54 %prep
55 %setup -q
56
57 %build
58 %{__make} %{?_smp_mflags}
59
60 %install
61 rm -rf $RPM_BUILD_ROOT
62 %{__make} %{?_smp_mflags} install DESTDIR="$RPM_BUILD_ROOT"
63
64 install -D -m 755 conf_files.init $RPM_BUILD_ROOT/%{_initrddir}/conf_files
65 install -D -m 755 fuse-pl.init $RPM_BUILD_ROOT/%{_initrddir}/fuse-pl
66 install -D -m 755 nm.init $RPM_BUILD_ROOT/%{_initrddir}/nm
67 install -D -m 644 nm.logrotate $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/nm
68
69 %post
70 chkconfig --add conf_files
71 chkconfig conf_files on
72 chkconfig --add nm
73 chkconfig nm on
74 chkconfig --add fuse-pl
75 chkconfig fuse-pl on
76 if [ "$PL_BOOTCD" != "1" ] ; then
77         service nm restart
78         service fuse-pl restart
79 fi
80
81
82 %preun
83 # 0 = erase, 1 = upgrade
84 if [ $1 -eq 0 ] ; then
85     chkconfig fuse-pl off
86     chkconfig --del fuse-pl
87     chkconfig nm off
88     chkconfig --del nm
89     chkconfig conf_files off
90     chkconfig --del conf_files
91 fi
92
93 %clean
94 rm -rf $RPM_BUILD_ROOT
95
96 %files
97 %defattr(-,root,root,-)
98 %doc
99 %dir %{_datadir}/NodeManager
100 %{_datadir}/NodeManager/*
101 %{_bindir}/forward_api_calls
102 %{_initrddir}/nm
103 %{_initrddir}/conf_files
104 %{_initrddir}/fuse-pl
105 %{_sysconfdir}/logrotate.d/nm
106
107 %changelog
108 * Wed Sep 03 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-33
109 - bwmon now has enable/disable flag to control throttling.
110
111 * Mon Sep 01 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-1.7-32
112 - always log message when expected vserver reference is missing
113
114 * Mon Aug 25 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-31
115 - Emails were only being sent of high bandwidth caps were being exceeded.  Fixed.
116
117 * Thu Aug 21 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-30
118 - bwmon:  Only mention the limit the slice went over.  Not both it and the second limit.
119
120 * Wed Aug 20 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-29
121 - Fixed KeyError in logging.
122
123 * Wed Aug 20 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-28
124 - Fixed syntax error in notify function call.  Also fixed values in email message and logging.
125
126 * Mon Aug 18 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - NodeManager-1.7-27
127 - Fix the FUSE initscript.
128
129 * Sun Aug 17 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - NodeManager-1.7-26
130 - FUSE support.
131
132 * Wed Aug 13 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-25
133 - Removed thread created for each sliver (!!!).
134 - Slivers now spawned out of main thread.
135 - This closes the Delegation bug and closes the recent rash of NM instabilities due to queue overflows. [ticket: 384]
136
137 * Fri Aug 01 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-24
138 - * Update bandwidth related attributes on every NM sync.  Bwlimit will check if values have changed.
139 - * Vsys supports local_ scripts and NM will disregard them.
140
141 * Mon Jul 28 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-23
142 - After removing the fork() to the slice's uid when writing .ssh/authorized_keys, .ssh had the wrong owner/group.  Fixed.
143
144 * Fri Jul 25 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-22
145 - Small change.  Change uid to slice owner of authorized_keys.
146
147 * Wed Jul 23 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-21
148 - Slices with initscripts kept restarting.  Fixed.
149 - Also removed unnecessary fork just to write .ssh/authorized keys for every slice.
150
151 * Tue Jul 15 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-20
152 - * Check slice is_running() every cycle.  If not, assume damaged and restart.
153
154 * Mon Jul 07 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - NodeManager-1.7-19
155 - chrooting is not thread-safe.
156
157 * Fri Jun 27 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-18
158 - Log disk init AFTER acquiring disk semaphore.
159
160 * Wed Jun 25 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-1.7-17
161 - unconditionnally passes node_id and slicefamily to conf_file scripts
162 - correctly set personality a sliver creation time (not yet used by util-vserver-pl though)
163
164 * Thu Jun 19 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - NodeManager-1.7-16
165
166 - enables a vsys slice attribute to end with 'a', 'c', or 'l' characters without
167 - NM going bonkers.
168
169
170 * Wed Jun 18 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - NodeManager-1.7-15
171
172 - enable restart if vsys.conf changes also.
173
174
175 * Wed Jun 18 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - NodeManager-1.7-14
176
177 - the _restart flag for vsys was getting lost when looking across multiple
178 - vservers.  adding the 'or' should preserve any 'True' returns from
179 - createVsysDir()
180
181
182 * Tue Jun 17 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-13
183
184 - Time out curl when no response for 90 seconds.
185
186
187 * Fri Jun 13 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - NodeManager-1.7-12
188 - Patch designed to work around the vsys-fail-to-restart problem with
189 - non-existent directories, and the vuseradd-fail-to-work on directories that
190 - do exist.  
191
192 - This patch will work in conjunction with the new vsys patch.
193
194
195 * Wed May 14 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-1.7-10
196 - fixed doc build by locating locally installed DTDs at build-time
197
198 * Fri May 09 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-9
199 - * Reverted vserver start to forking before VServer.start to avoid defunct procs.* House keeping in various places.
200
201 * Fri May 09 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - NodeManager-1.7-8
202 - merge changes for myplc-docs from trunk
203
204 * Wed Apr 16 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-7
205
206 - Set vcVHI_CONTEXT as slice_id for fprobe-ulog to mark packets with.
207
208
209 * Wed Apr 09 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-5 NodeManager-1.7-6
210
211 - * Codemux will use PLC_API_HOST when PLC_PLANETFLOW_HOST isn't defined.
212
213
214 * Fri Apr 04 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-4 NodeManager-1.7-5
215 - * vdu limitting when NM restarts and slices are re-init'ed
216 - * CoDemux config parser update.  Now tolerates spaces.
217
218 * Wed Apr 02 2008 Faiyaz Ahmed <faiyaza@cs.prineton.edu - NodeManager-1.7.4
219 - Codemux supports multiple hosts mapping to single slice
220 - Fixed bug in delegation support where tickets delivered weren't
221   being passed to sm.deliver_ticket().
222 * Fri Mar 28 2008 Faiyaz Ahmed <faiyaza@cs.prineton.edu - NodeManager-1.7.3
223 - Codemux now configured via slice attribute (host,port)
224 - Support for multiple vserver reference images (including different archs)
225 - Mom BW emails are sent to list defined by MyPLC's config
226 - Sirius BW loans honored correctly.  Fixed.
227 - BW totals preserved for dynamic slices so as not to game the system.
228 * Thu Feb 14 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-1 NodeManager-1.7-2
229 - Configures vsys via vsys slice attribute {name: vsys, value: script}
230 - CPU reservations are now calculated via percentages instead of shares
231 - BW totals preserved for dynamic slices
232 - Closes bug where node cap sets off bw slice alarms for all slices.
233
234 * Wed Oct 03 2007 Faiyaz Ahmed <faiyaza@cs.princeton.edu> .
235 - Switched to SVN.
236
237 * Mon Nov 13 2006 Mark Huang <mlhuang@paris.CS.Princeton.EDU> - 
238 - Initial build.