69f4ec19401aa7b6ba5ccadf8ed8ca777ee40021
[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.8
10 %define taglevel 0
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 %dir %{_datadir}/NodeManager/plugins
101 %{_datadir}/NodeManager/*
102 %{_datadir}/NodeManager/plugins/*
103 %{_bindir}/forward_api_calls
104 %{_initrddir}/nm
105 %{_initrddir}/conf_files
106 %{_initrddir}/fuse-pl
107 %{_sysconfdir}/logrotate.d/nm
108
109 %changelog
110 * Wed Apr 02 2008 Faiyaz Ahmed <faiyaza@cs.prineton.edu - NodeManager-1.7.4
111 - Codemux supports multiple hosts mapping to single slice
112 - Fixed bug in delegation support where tickets delivered weren't
113   being passed to sm.deliver_ticket().
114 * Fri Mar 28 2008 Faiyaz Ahmed <faiyaza@cs.prineton.edu - NodeManager-1.7.3
115 - Codemux now configured via slice attribute (host,port)
116 - Support for multiple vserver reference images (including different archs)
117 - Mom BW emails are sent to list defined by MyPLC's config
118 - Sirius BW loans honored correctly.  Fixed.
119 - BW totals preserved for dynamic slices so as not to game the system.
120 * Thu Feb 14 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - NodeManager-1.7-1 NodeManager-1.7-2
121 - Configures vsys via vsys slice attribute {name: vsys, value: script}
122 - CPU reservations are now calculated via percentages instead of shares
123 - BW totals preserved for dynamic slices
124 - Closes bug where node cap sets off bw slice alarms for all slices.
125
126 * Wed Oct 03 2007 Faiyaz Ahmed <faiyaza@cs.princeton.edu> .
127 - Switched to SVN.
128
129 * Mon Nov 13 2006 Mark Huang <mlhuang@paris.CS.Princeton.EDU> - 
130 - Initial build.