added create_network(), delete_network(), create_subnet(), delete_subnet(), process_t...
[plcapi.git] / PLCAPI.spec
index 41a868c..8922f66 100644 (file)
@@ -1,16 +1,10 @@
-#
-# $Id$
-#
-
-%define url $URL$
-
 %define name PLCAPI
-%define version 5.0
-%define taglevel 10
+%define version 5.1
+%define taglevel 3
 
 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 
-Summary: PlanetLab Central API
+Summary: PlanetLab Nova Central API
 Name: %{name}
 Version: %{version}
 Release: %{release}
@@ -22,42 +16,38 @@ 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}
 
 Obsoletes: plcapilib
 
 # We use set everywhere
 Requires: python >= 2.4
-Requires: postgresql >= 8.2, postgresql-server >= 8.2
-Requires: postgresql-python
-Requires: python-psycopg2
 Requires: python-pycurl
 Requires: httpd
-Requires: mod_python
+Requires: python-gevent
+Requires: python-lxml
 # mod_wsgi will replace mod_python when we are ready
 Requires: mod_wsgi
 Requires: mod_ssl
 Requires: SOAPpy
+Requires: python-simplejson
 # for the RebootNodeWithPCU method
 Requires: pcucontrol >= 1.0-6
 # for OMF integration
-Requires: pyaspects
+Requires: pyaspects >= 0.4
 Requires: python-twisted-words
 Requires: python-twisted-web
 # ldap
 Requires: python-ldap
-
+# for memcache
+Requires: python-memcached
+Requires: memcached
+Requires: Django
 ### avoid having yum complain about updates, as stuff is moving around
 # plc.d/api
-Conflicts: MyPLC <= 4.3
-
-# We use psycopg2
-#
-# but we don't need to rebuild it as we depend on distro's packages - baris
-# BuildRequires: postgresql-devel
 
 # Standard xmlrpc.so that ships with PHP does not marshal NULL
-BuildRequires: php-devel
+BuildRequires: php-devel PyXML python-simplejson
 Obsoletes: php-xmlrpc
 Provides: php-xmlrpc
 
@@ -120,6 +110,10 @@ install -D -m 755 omf/omf_slicemgr.py $RPM_BUILD_ROOT/usr/bin/omf_slicemgr.py
 install -D -m 755 omf/reset_xmpp_pubsub_nodes.py $RPM_BUILD_ROOT/usr/bin/reset_xmpp_pubsub_nodes.py
 mkdir -p $RPM_BUILD_ROOT/var/log/omf
 
+# Install ratelimit log
+touch $RPM_BUILD_ROOT/var/log/plc_api_ratelimit.log
+chown apache:apache $RPM_BUILD_ROOT/var/log/plc_api_ratelimit.log
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -139,9 +133,152 @@ rm -rf $RPM_BUILD_ROOT
 /var/www/html/wsdl/plcapi.wsdl
 /usr/bin/omf_slicemgr.py*
 /usr/bin/reset_xmpp_pubsub_nodes.py*
+/var/log/plc_api_ratelimit.log
 
 
 %changelog
+* Fri Aug 31 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.1-3
+- fixed imports for tags management with sites and persons
+- add predefined 'cpu_freezable' tag
+
+* Mon Jul 09 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.1-2
+- tweaks in interface initialization
+- has 'vsys_vnet' as a predefined tagtype
+- bugfix: prevent DeleteSliceFromNodes from messing with foreign slices
+- bugfix: GetSlivers & nodegroups
+- bugfix: in jabber groups management
+
+* Mon Apr 16 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.1-1
+- fix gpg-authentication for Persons (thanks Jordan)
+- PostgreSQL.quote reviewed for f16/postgresql9 (used deprecated internal helper)
+- ip address/network check: v4 or v6
+- customized DB Message survive upgrade
+- make sync works in lxc-hosted tests
+- no svn keywords anymore
+
+* Fri Feb 24 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-37
+- fix sorting for methods list in docs
+- untested but needed tweak for postgres startup in f16
+
+* Mon Nov 28 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-36
+- tweaks in postgresql setup - in line with sfa
+
+* Mon Sep 26 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-35
+- slight tweaks in Persons.py
+
+* Wed Aug 31 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-34
+- GetSession has support for more than one day sessions
+- reset_xmpp_pubsub_nodes is much more efficient
+- reset_xmpp_pubsub_nodes uses the config instead of localhost:5053
+- bugfix - deleting a person in the middle of the signup process
+
+* Tue Jun 07 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-33
+- ratelimit aspects
+- cache getslivers per node if PLC_GET_SIVERS_CACHE is enabled
+- requires Django for cache_utils
+- attempt to expose 'pldistro' to sfa
+- last_time_spent_online, last_time_spent_offline: new fields in Node
+- new slice tags 'isolate_loopback' and 'cpu_cores'
+- refresh-peer federation logs dump exceptions
+- modpython logs have a timestamp
+- more verbose/accurate php error reporting
+- postgresql listens on PLC_DB_HOST+localhost instead of 0.0.0.0
+- AddNode, UpdateNode: manage tags directly rather than through another method
+- BootUpdateNode: only update once
+- GetPersons: techs can access the list of persons on their site
+- GetSlices and GetSliceTags: techs can see slices on their nodes
+- GetSlivers: isrootonsite tag; cacheable
+
+* Tue Mar 22 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-32
+- rename initscript_body into initscript_code
+
+* Mon Mar 21 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-31
+- new initscript_body tag
+
+* Wed Mar 09 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-30
+- working draft for GetSliceSshKeys
+
+* Thu Feb 17 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-29
+- trash getbootmedium tmp file if already exists but is longer than 5 minutes old
+- (this is for people who cancel their download)
+
+* Fri Feb 04 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-28
+- fix db-config sequence : accessors step now merged in, and occurs at the right time
+- db-config also more robust
+- no more explicit 'accessors' step in plc.d
+
+* Thu Feb 03 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-27
+- session auth: do *not* delete session when node runs a method that does not have 'node' role
+- session auth: remove support for bootonce in old boot CDs
+- give a reason when caller_may_write_slice_tag fails
+- remove ugly hack that was setting 'vref' to 'omf' - need to set both tags now
+
+* Tue Feb 01 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-26
+- SetSliceVref needed the node role
+- protect GetSliceFamily
+- Fix bugs in tag authorizations
+
+* Sun Jan 23 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-25
+- altered checking of optional fields in Interfaces
+- UpdateTagType more picky on inputs - msg when trying to set roles, which is not supported
+- has pyxml and python-simplejson as new deps
+
+* Wed Dec 08 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-24
+- tweak doc extraction for fedora14
+
+* Tue Dec 07 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-23
+- builtin accessors for the myslice page
+- Get{Node,Interface}Tags allowed to techs
+- tweak in ratelimitaspect.py
+
+* Mon Dec 06 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-22
+- add admin role to accessor-related tags (arch, {fc,pl}distro)
+
+* Mon Dec 06 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-21
+- bugfix in {Update,Delete}PersonTag
+- updated xml doc for filters, accessors and tagtypes
+- more explicit msg in case of missing roles
+- improvements in ratelimitaspects.py
+
+* Fri Dec 03 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-20
+- fix the roles for ssh_key and hmac tags
+
+* Wed Dec 01 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-19
+- tag permissions system based on roles and not min_role_ids
+- accessors simplified accordingly (no more min_role_id)
+- new methods AddRoleToTagType and DeleteRoleFromTagType
+- accessor-related tagtypes are created sooner, and enforced
+- cleaned up redundancy between db-config.d and accessors
+
+* Thu Sep 16 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-18
+- fix RefreshPeer that was not working in 5.0-17
+
+* Thu Sep 16 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-17
+- RefreshPeer is able to cope with 2 peers running different releases of the api
+- DeletePerson can be used on duplicates
+- first appearance of ModPythonJson.py
+
+* Wed Sep 01 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.0-16
+- set accessors return the new value
+- tweaks in the pubsub groups management
+
+* Wed Jul 28 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - plcapi-5.0-15
+- convert hostnames to lower case and use ILIKE instead of LIKE
+
+* Fri Jul 16 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - plcapi-5.0-14
+- use hrn in pubsub groups
+
+* Tue Jul 13 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - plcapi-5.0-13
+- - Add timestamps to Nodes, PCUs and Interfaces to make concrete statements about a node's configuration state.
+- - OMF fixes
+
+* Mon Jun 28 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - PLCAPI-5.0-12
+- automatically set vsys tag for omf controlled slices
+
+* Sat Jun 26 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCAPI-5.0-11
+- addition of the 'ssh_key' slice tag
+- first draft of the LDAP interface
+
 * Tue Jun 22 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCAPI-5.0-10
 - reservation granularity defined in plc-config-tty (requires myplc 5.0.5)
 - and readable through GetLeaseGranularity