Thierry Parmentelat [Mon, 15 Nov 2010 09:20:01 +0000 (10:20 +0100)]
trashed svn keywords
Barış Metin [Thu, 11 Nov 2010 13:35:04 +0000 (14:35 +0100)]
also fix error message
Tony Mack [Wed, 10 Nov 2010 21:06:11 +0000 (16:06 -0500)]
Fix typo
Tony Mack [Wed, 10 Nov 2010 20:42:22 +0000 (15:42 -0500)]
Use PLC.Person.can_update() to authorize. fix name error.
Stephen Soltesz [Tue, 9 Nov 2010 15:22:20 +0000 (10:22 -0500)]
Evidently, not all versions of DRAC are supported, such as the Modular Chassis
which expects strings to identify nodes rather than what our API supports
which is integers.
Daniel Hokka Zakrisson [Sun, 17 Oct 2010 00:16:48 +0000 (20:16 -0400)]
Don't descend into php directory, there's nothing there.
Daniel Hokka Zakrisson [Sun, 17 Oct 2010 00:10:27 +0000 (20:10 -0400)]
Skip generating static list of API calls, just send them to the API.
Daniel Hokka Zakrisson [Sat, 16 Oct 2010 23:10:31 +0000 (19:10 -0400)]
Fix version output when missing.
Daniel Hokka Zakrisson [Sat, 16 Oct 2010 23:10:05 +0000 (19:10 -0400)]
Already scoped properly.
Daniel Hokka Zakrisson [Sat, 16 Oct 2010 22:39:31 +0000 (18:39 -0400)]
Fix auth extensibility.
Daniel Hokka Zakrisson [Sat, 16 Oct 2010 22:30:54 +0000 (18:30 -0400)]
Remember to insert the version.
Daniel Hokka Zakrisson [Sat, 16 Oct 2010 22:20:36 +0000 (18:20 -0400)]
Cleanup old targets in Makefile.
Daniel Hokka Zakrisson [Sat, 16 Oct 2010 22:10:25 +0000 (18:10 -0400)]
Create extensions directory.
Daniel Hokka Zakrisson [Sat, 16 Oct 2010 21:46:50 +0000 (17:46 -0400)]
Add migration files for the extensions.
Daniel Hokka Zakrisson [Sat, 16 Oct 2010 21:39:30 +0000 (17:39 -0400)]
Apply extensions.
Daniel Hokka Zakrisson [Fri, 15 Oct 2010 14:12:41 +0000 (10:12 -0400)]
Be consistent in the API.
Daniel Hokka Zakrisson [Fri, 15 Oct 2010 09:34:17 +0000 (05:34 -0400)]
Improve filter.
Daniel Hokka Zakrisson [Fri, 15 Oct 2010 08:54:58 +0000 (04:54 -0400)]
Don't generate __init__ files.
Daniel Hokka Zakrisson [Fri, 15 Oct 2010 08:23:30 +0000 (04:23 -0400)]
Make the authentication system extensible.
Stephen Soltesz [Thu, 7 Oct 2010 16:56:39 +0000 (12:56 -0400)]
Add a more instructive Event message to reconstruct what actually occurred as
well as the return value from the reboot attempt.
Barış Metin [Thu, 23 Sep 2010 10:00:09 +0000 (12:00 +0200)]
fix NameError.
Barış Metin [Thu, 23 Sep 2010 09:35:05 +0000 (11:35 +0200)]
don't apply all aspects blindly (although there is only one for the moment...)
Barış Metin [Wed, 22 Sep 2010 15:47:31 +0000 (17:47 +0200)]
Implement ignore_exception decorator and use it for omfaspect
methods. This should prevent the omfaspect fail plcapi calls.
Thierry Parmentelat [Thu, 16 Sep 2010 11:10:19 +0000 (13:10 +0200)]
Setting tag plcapi-5.0-18
fix RefreshPeer that was not working in 5.0-17
Thierry Parmentelat [Thu, 16 Sep 2010 11:09:15 +0000 (13:09 +0200)]
Merge branch 'master' of ssh://git.onelab.eu/git/plcapi
Thierry Parmentelat [Thu, 16 Sep 2010 11:09:08 +0000 (13:09 +0200)]
oops, refreshpeer in tag plcapi-5.0-17 is broken
Thierry Parmentelat [Thu, 16 Sep 2010 07:35:02 +0000 (09:35 +0200)]
Setting tag 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
Thierry Parmentelat [Wed, 15 Sep 2010 13:46:59 +0000 (15:46 +0200)]
compatibility mode, support for 2 ends running different api releases
tweaked verbose mode and focus for debugging specific entries
Thierry Parmentelat [Wed, 15 Sep 2010 13:45:28 +0000 (15:45 +0200)]
replace filter(lambda) with [ .. for .. if ..]
Thierry Parmentelat [Wed, 15 Sep 2010 12:16:41 +0000 (14:16 +0200)]
avoid running validate on DeletePerson
this is for when the db accidentally has duplicates, as we found after
a big RefreshPeer hiccup
cleaning up manually through SQL in similar cases is discouraged
root [Thu, 2 Sep 2010 14:23:02 +0000 (16:23 +0200)]
Merge commit 'local_master/master'
Thierry Parmentelat [Wed, 1 Sep 2010 08:40:30 +0000 (10:40 +0200)]
Setting tag plcapi-5.0-16
set accessors return the new value
tweaks in the pubsub groups management
Thierry Parmentelat [Wed, 1 Sep 2010 08:21:33 +0000 (10:21 +0200)]
Merge branch 'master' of ssh://git.onelab.eu/git/plcapi
Thierry Parmentelat [Wed, 1 Sep 2010 08:21:26 +0000 (10:21 +0200)]
only comments
Thierry Parmentelat [Tue, 31 Aug 2010 14:05:04 +0000 (16:05 +0200)]
Set accessors return the new value
Tony Mack [Tue, 10 Aug 2010 20:03:40 +0000 (16:03 -0400)]
use jsonlib (if available) before using simplejson
Tony Mack [Sat, 7 Aug 2010 14:58:06 +0000 (10:58 -0400)]
added handle_json() method
Tony Mack [Sat, 7 Aug 2010 14:55:15 +0000 (10:55 -0400)]
Initial checkin of mod_python json interface
Tony Mack [Sat, 7 Aug 2010 14:51:51 +0000 (10:51 -0400)]
Adding python-simplejson requirement
Barış Metin [Sat, 31 Jul 2010 10:56:34 +0000 (12:56 +0200)]
Merge remote branch 'origin/master'
Barış Metin [Sat, 31 Jul 2010 10:56:03 +0000 (12:56 +0200)]
use hrn to re-create pubsub groups
S.Çağlar Onur [Wed, 28 Jul 2010 21:00:27 +0000 (17:00 -0400)]
Setting tag plcapi-5.0-15
convert hostnames to lower case and use ILIKE instead of LIKE
S.Çağlar Onur [Thu, 22 Jul 2010 20:46:22 +0000 (16:46 -0400)]
use ILIKE instead of LIKE for case-insensitive searches
S.Çağlar Onur [Thu, 22 Jul 2010 20:39:12 +0000 (16:39 -0400)]
use lowercase hostnames
Barış Metin [Fri, 16 Jul 2010 12:34:28 +0000 (14:34 +0200)]
Setting tag plcapi-5.0-14
use hrn in pubsub groups
Barış Metin [Fri, 16 Jul 2010 08:23:27 +0000 (10:23 +0200)]
use node's hrn instead of the hostname to create xmpp pubsub groups
Barış Metin [Tue, 13 Jul 2010 16:27:41 +0000 (18:27 +0200)]
Setting tag plcapi-5.0-13
- Add timestamps to Nodes, PCUs and Interfaces to make concrete statements about a node's configuration state.
- OMF fixes
Barış Metin [Mon, 12 Jul 2010 13:35:12 +0000 (15:35 +0200)]
try fixing: BootUpdateNode: Invalid argument: Timestamp None - unsupported type <type 'NoneType'>">
Barış Metin [Fri, 9 Jul 2010 17:19:02 +0000 (19:19 +0200)]
methods' return values need to be handled separately
Barış Metin [Fri, 9 Jul 2010 17:17:40 +0000 (19:17 +0200)]
fix typo
Barış Metin [Fri, 9 Jul 2010 15:23:51 +0000 (17:23 +0200)]
require pyaspect >= 0.4
Barış Metin [Fri, 9 Jul 2010 15:15:00 +0000 (17:15 +0200)]
unify handling calls in before and after aspects. check method's return value before proceeding with the aspect's actions.
Stephen Soltesz [Fri, 2 Jul 2010 23:56:48 +0000 (19:56 -0400)]
Add timestamps to Nodes, PCUs and Interfaces to make concrete
statements about a node's configuration state.
Added:
Node.last_boot -- updated by BootUpdateNode()
Node.last_download -- updated by GetBootMedium()
Node.last_pcu_reboot -- updated by RebootNodeWithPCU()
Node.last_pcu_confirmation -- updated by BootUpdateNode()
Interface.last_updated -- updated by UpdateInterface()
PCU.last_updated -- updated by UpdatePCU()
With these timestamps we can implement isValid() routines that indicate
whether the DB state is consistent with respect to the external deployment.
Previously, the DB state could be inconsistent, but there was no way to
identify this until runtime. These checks should make it possible to validate
the DB state prior to runtime.
Also, isValid() is different from whether a node is online. A node can be
offline and have a valid DB state.
For instance (in pseudocode):
def Node.isValid():
return Node.last_download < Node.last_boot &&
Node.PCU.isValid(Node) &&
Node.Interface.isValid(Node)
def PCU.isValid(Node):
return PCU.last_updated < Node.last_pcu_confirmation
def Interface.isValid(Node):
return Interface.last_updated < Node.last_download
In other words, if the primary interface for a node is updated more recently
than a bootimage is downloaded, then the DB configuration is out of sync with
the node deployment.
If the PCU is updated more recently than the last confirmed use of the PCU,
then the DB configuration is potentially out of sync with the deployment.
If the Node has downloaded a boot image prior to rebooting, then the DB config
is potentially out of sync with the deployment.
All of these states can be flagged in the GUI to help a technical contact
known the status of his configuration and deployment more easily. The
recommended steps to take should be straight forward based on the conditions
above. i.e. Create new boot image, reboot node, verify PCU, etc.
Stephen Soltesz [Fri, 2 Jul 2010 23:49:54 +0000 (19:49 -0400)]
Add timestamps to Nodes, PCUs and Interfaces to make concrete
statements about a node's configuration state.
Added:
Node.last_boot -- updated by BootUpdateNode()
Node.last_download -- updated by GetBootMedium()
Node.last_pcu_reboot -- updated by RebootNodeWithPCU()
Node.last_pcu_confirmation -- updated by BootUpdateNode()
Interface.last_updated -- updated by UpdateInterface()
PCU.last_updated -- updated by UpdatePCU()
With these timestamps we can implement isValid() routines that indicate
whether the DB state is consistent with respect to the external deployment.
Previously, the DB state could be inconsistent, but there was no way to
identify this until runtime. These checks should make it possible to validate
the DB state prior to runtime.
Also, isValid() is different from whether a node is online. A node can be
offline and have a valid DB state.
For instance (in pseudocode):
def Node.isValid():
return Node.last_download < Node.last_boot &&
Node.PCU.isValid(Node) &&
Node.Interface.isValid(Node)
def PCU.isValid(Node):
return PCU.last_updated < Node.last_pcu_confirmation
def Interface.isValid(Node):
return Interface.last_updated < Node.last_download
In other words, if the primary interface for a node is updated more recently
than a bootimage is downloaded, then the DB configuration is out of sync with
the node deployment.
If the PCU is updated more recently than the last confirmed use of the PCU,
then the DB configuration is potentially out of sync with the deployment.
If the Node has downloaded a boot image prior to rebooting, then the DB config
is potentially out of sync with the deployment.
All of these states can be flagged in the GUI to help a technical contact
known the status of his configuration and deployment more easily. The
recommended steps to take should be straight forward based on the conditions
above. i.e. Create new boot image, reboot node, verify PCU, etc.
Barış Metin [Mon, 28 Jun 2010 10:54:47 +0000 (10:54 +0000)]
Setting tag PLCAPI-5.0-12
automatically set vsys tag for omf controlled slices
Barış Metin [Mon, 28 Jun 2010 10:51:10 +0000 (10:51 +0000)]
omfaspect now weaves AddSliceTag to track omf_control and sets vsys
tag (dotsshmount) automatically.
Thierry Parmentelat [Sat, 26 Jun 2010 05:57:02 +0000 (05:57 +0000)]
Setting tag PLCAPI-5.0-11
addition of the 'ssh_key' slice tag
first draft of the LDAP interface
Tony Mack [Thu, 24 Jun 2010 17:43:13 +0000 (17:43 +0000)]
added python-ldap requirement
Tony Mack [Thu, 24 Jun 2010 17:25:06 +0000 (17:25 +0000)]
initial checkin of LDAP interface
Thierry Parmentelat [Thu, 24 Jun 2010 14:57:42 +0000 (14:57 +0000)]
new tag ssh_key
Tony Mack [Wed, 23 Jun 2010 20:09:48 +0000 (20:09 +0000)]
requires mod_wsgi
Thierry Parmentelat [Tue, 22 Jun 2010 19:02:12 +0000 (19:02 +0000)]
Setting tag PLCAPI-5.0-10
reservation granularity defined in plc-config-tty (requires myplc 5.0.5)
and readable through GetLeaseGranularity
GetSlivers to expose reservation_policy and lease_granularity
GetBootMedium fixed for reservable nodes
tweaks in pcucontrol (requires pcucontrol-1.0-6)
new Apache mod_wsgi python interface
S.Çağlar Onur [Tue, 22 Jun 2010 18:56:38 +0000 (18:56 +0000)]
- Change .py files to use 4-space indents and no hard tab characters.
- Trim excess spaces and tabs from ends of lines, and remove empty lines at the end of files.
- Ensure the last line ends with a newline.
Thierry Parmentelat [Tue, 22 Jun 2010 04:17:56 +0000 (04:17 +0000)]
fix required version of pcucontrol
Stephen Soltesz [Fri, 18 Jun 2010 19:51:25 +0000 (19:51 +0000)]
add a parameter to RebootNodeWithPCU to perform a 'testrun' without rebooting the node.
Tony Mack [Fri, 18 Jun 2010 00:00:39 +0000 (00:00 +0000)]
initial checkin of mod_wsgi interface
Thierry Parmentelat [Mon, 14 Jun 2010 10:48:19 +0000 (10:48 +0000)]
tweaks for reservable nodes
Thierry Parmentelat [Thu, 10 Jun 2010 17:12:08 +0000 (17:12 +0000)]
expose slice name in leases
Thierry Parmentelat [Thu, 10 Jun 2010 14:53:42 +0000 (14:53 +0000)]
fix usage of the 'kargs' node tag
Thierry Parmentelat [Thu, 10 Jun 2010 08:18:06 +0000 (08:18 +0000)]
reverting changeset 18126 - ruins the no-hangcheck option - waiting for caglar input
Thierry Parmentelat [Thu, 10 Jun 2010 08:13:23 +0000 (08:13 +0000)]
use granularity from config
Thierry Parmentelat [Wed, 9 Jun 2010 17:57:53 +0000 (17:57 +0000)]
for reservable nodes - granularity still hardwired in PLC/Leases
Thierry Parmentelat [Wed, 2 Jun 2010 09:34:27 +0000 (09:34 +0000)]
expose reservation policy
S.Çağlar Onur [Wed, 26 May 2010 18:12:03 +0000 (18:12 +0000)]
fix IndexError: list index out of range
S.Çağlar Onur [Mon, 24 May 2010 16:46:05 +0000 (16:46 +0000)]
pass kernel arguments correctly to the build.sh
Thierry Parmentelat [Sat, 15 May 2010 03:23:27 +0000 (03:23 +0000)]
Setting tag PLCAPI-5.0-9
the leases system
Barış Metin [Mon, 10 May 2010 18:10:34 +0000 (18:10 +0000)]
make xmlrpclib happy, marshal None
Thierry Parmentelat [Thu, 6 May 2010 19:25:58 +0000 (19:25 +0000)]
expose leases to nodes
Thierry Parmentelat [Mon, 3 May 2010 14:44:26 +0000 (14:44 +0000)]
First draft for leases
WARNING: this change sets the SQL timezone to UTC
leases are not yet exposed to GetSlivers in this delivery
all code for handling time (Timestamp, Duration) gathered in the new PLC/Timestamp.py file
Thierry Parmentelat [Tue, 27 Apr 2010 16:28:51 +0000 (16:28 +0000)]
cosmetic
Thierry Parmentelat [Tue, 27 Apr 2010 11:13:13 +0000 (11:13 +0000)]
svn keywords
Thierry Parmentelat [Tue, 27 Apr 2010 11:11:41 +0000 (11:11 +0000)]
cosmetic
Thierry Parmentelat [Wed, 14 Apr 2010 15:54:07 +0000 (15:54 +0000)]
Setting tag PLCAPI-5.0-8
previous tag had gone wrong
Thierry Parmentelat [Wed, 14 Apr 2010 15:52:52 +0000 (15:52 +0000)]
same tagging issue again - I have fixed the cause but this needs to be repaired
Thierry Parmentelat [Wed, 14 Apr 2010 13:54:01 +0000 (13:54 +0000)]
store the node actual config in the tags, from the defaults
Barış Metin [Wed, 14 Apr 2010 13:25:02 +0000 (13:25 +0000)]
Setting tag PLCAPI-5.0-6
fix pubsub hostname
Barış Metin [Wed, 14 Apr 2010 08:55:13 +0000 (08:55 +0000)]
ops! this will cause problems for omf back-end. (fixed manually on PLE).
Thierry Parmentelat [Fri, 2 Apr 2010 13:26:05 +0000 (13:26 +0000)]
Setting tag PLCAPI-5.0-5
tweaks for the omf support (xmpp groups and RC-controlled slices)
BootNodeUpdate supports also ssh_rsa_key (and logs only changes)
GetNodeFlavour exposes fcdistro
Thierry Parmentelat [Fri, 2 Apr 2010 06:35:28 +0000 (06:35 +0000)]
needed for shipping proper yum config on nodes
Thierry Parmentelat [Thu, 1 Apr 2010 11:01:19 +0000 (11:01 +0000)]
minor
Thierry Parmentelat [Thu, 1 Apr 2010 11:00:58 +0000 (11:00 +0000)]
BootUpdateNode logs event only when a change occurs to avoid spamming the DB
Tony Mack [Wed, 24 Mar 2010 20:57:22 +0000 (20:57 +0000)]
convert email to lowercase
Barış Metin [Wed, 24 Mar 2010 09:02:32 +0000 (09:02 +0000)]
create omf log dir
Barış Metin [Tue, 23 Mar 2010 14:57:44 +0000 (14:57 +0000)]
remove postgresql-devel dependency
Thierry Parmentelat [Mon, 22 Mar 2010 13:12:26 +0000 (13:12 +0000)]
omf_control slice tag
Barış Metin [Fri, 19 Mar 2010 14:35:54 +0000 (14:35 +0000)]
add omf log dir in spec and stop logging api method calls (but only xmpp messages)
Barış Metin [Fri, 19 Mar 2010 12:24:10 +0000 (12:24 +0000)]
try creating /OMF and /OMF/SYSTEM groups at start
Thierry Parmentelat [Sun, 14 Mar 2010 17:08:24 +0000 (17:08 +0000)]
Setting tag PLCAPI-5.0-4
do not use UpdateNode for handling the 'hrn' tag - should fix refresh peer & foreign nodes more generally
Tony Mack [Fri, 12 Mar 2010 23:31:56 +0000 (23:31 +0000)]
cannot use UpdateNode to force an update of the 'hrn' node tag for peer nodes becuase calling UpdateNode on peer nodes is not allowed. Lets define an lets define an update_tags() method in the Node class (source stolen from UpdateNode) and just call Node.update_tags() within Peer.add_node() and Peer.remove_node()
Thierry Parmentelat [Fri, 12 Mar 2010 20:32:37 +0000 (20:32 +0000)]
Setting tag PLCAPI-5.0-3
slice tag 'omf_control' supported for getting OMF's resource controller shipped to slivers
pyaspect hooks allow to maintain the namespace xmpp groups
new omf_slicemgr is a proxy to xmpp, used by these hooks
nodes have their hrn exposed in the 'hrn' tag
node hrn exposed in GetSlivers, as well as the overall xmpp config
system slice 'drl' gets created by db-config
daniel's changes to Filter for supporting wildcards in lists
AddSliceTag consistency check tweaked