Peer object now has hrn_root
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Mon, 26 Jan 2009 09:53:46 +0000 (09:53 +0000)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Mon, 26 Jan 2009 09:53:46 +0000 (09:53 +0000)
PLC/Methods/AddPeer.py
PLC/Methods/DeleteNode.py
PLC/Methods/UpdatePeer.py
PLC/Peers.py
migrations/v4-to-v5/migrate.sql
planetlab5.sql

index d62f4ff..f695bab 100644 (file)
@@ -9,7 +9,7 @@ from PLC.Auth import Auth
 from PLC.Peers import Peer, Peers
 
 can_update = lambda (field, value): field in \
-             ['peername', 'peer_url', 'key', 'cacert', 'shortname']
+             ['peername', 'peer_url', 'key', 'cacert', 'shortname', 'hrn_root']
 
 class AddPeer(Method):
     """
index 36ca6c4..e89d879 100644 (file)
@@ -44,10 +44,13 @@ class DeleteNode(Method):
             if node['site_id'] not in self.caller['site_ids']:
                 raise PLCPermissionDenied, "Not allowed to delete nodes from specified site"
 
+        node_id=node['node_id']
+        site_id=node['site_id']
         node.delete()
 
        # Logging variables
-       self.event_objects = {'Node': [node['node_id']]}
+        # it's not much use to attach to the node as it's going to vanish...
+       self.event_objects = {'Node': [node_id], 'Site': [site_id] }
        self.message = "Node %d deleted" % node['node_id']
 
         return 1
index ba22838..572d613 100644 (file)
@@ -6,7 +6,7 @@ from PLC.Auth import Auth
 from PLC.Peers import Peer, Peers
 
 can_update = lambda (field, value): field in \
-             ['peername', 'peer_url', 'key', 'cacert', 'shortname']
+             ['peername', 'peer_url', 'key', 'cacert', 'shortname', 'hrn_root']
 
 class UpdatePeer(Method):
     """
index 2d464bb..bec019d 100644 (file)
@@ -37,6 +37,7 @@ class Peer(Row):
        'key': Parameter(str, "Peer GPG public key"),
        'cacert': Parameter(str, "Peer SSL public certificate"),
         'shortname' : Parameter(str, "Peer short name"),
+        'hrn_root' : Parameter(str, "Root of this peer in a hierarchical naming space"),
         ### cross refs
         'site_ids': Parameter([int], "List of sites for which this peer is authoritative"),
         'person_ids': Parameter([int], "List of users for which this peer is authoritative"),
index a8b9296..99b72bc 100644 (file)
@@ -105,6 +105,7 @@ drop function mgn_drop_all_views ();
 -- peers
 ----------------------------------------
 ALTER TABLE peers ADD COLUMN shortname TEXT;
+ALTER TABLE peers ADD COLUMN hrn_root TEXT;
 
 ----------------------------------------
 -- nodes
index fccc8ac..6c4cc98 100644 (file)
@@ -776,6 +776,7 @@ CREATE TABLE peers (
     cacert text,                                       -- (SSL) Public certificate of peer API server
     key text,                                          -- (GPG) Public key used for authentication
     shortname text,                                    -- abbreviated name for displaying foreign objects
+    hrn_root text,                                             -- root for this peer domain
     deleted boolean NOT NULL DEFAULT false
 ) WITH OIDS;
 CREATE INDEX peers_peername_idx ON peers (peername) WHERE deleted IS false;