- now using event_objects to log affected objects
authorTony Mack <tmack@cs.princeton.edu>
Tue, 27 Feb 2007 19:19:39 +0000 (19:19 +0000)
committerTony Mack <tmack@cs.princeton.edu>
Tue, 27 Feb 2007 19:19:39 +0000 (19:19 +0000)
35 files changed:
PLC/Methods/DeleteAddress.py
PLC/Methods/DeleteAddressType.py
PLC/Methods/DeleteAddressTypeFromAddress.py
PLC/Methods/DeleteConfFileFromNode.py
PLC/Methods/DeleteConfFileFromNodeGroup.py
PLC/Methods/DeleteKey.py
PLC/Methods/DeleteMessage.py
PLC/Methods/DeleteNode.py
PLC/Methods/DeleteNodeFromNodeGroup.py
PLC/Methods/DeleteNodeFromPCU.py
PLC/Methods/DeleteNodeGroup.py
PLC/Methods/DeleteNodeNetwork.py
PLC/Methods/DeletePCU.py
PLC/Methods/DeletePeer.py
PLC/Methods/DeletePerson.py
PLC/Methods/DeletePersonFromSite.py
PLC/Methods/DeletePersonFromSlice.py
PLC/Methods/DeleteRole.py
PLC/Methods/DeleteRoleFromPerson.py
PLC/Methods/DeleteSite.py
PLC/Methods/DeleteSlice.py
PLC/Methods/DeleteSliceAttribute.py
PLC/Methods/DeleteSliceAttributeType.py
PLC/Methods/DeleteSliceFromNodes.py
PLC/Methods/NotifyPersons.py
PLC/Methods/RebootNode.py
PLC/Methods/ResetPassword.py
PLC/Methods/SliceCreate.py
PLC/Methods/SliceDelete.py
PLC/Methods/SliceNodesAdd.py
PLC/Methods/SliceNodesDel.py
PLC/Methods/SliceRenew.py
PLC/Methods/SliceUpdate.py
PLC/Methods/SliceUserAdd.py
PLC/Methods/SliceUserDel.py

index ece41bf..d4f98bc 100644 (file)
@@ -37,7 +37,7 @@ class DeleteAddress(Method):
         address.delete()
 
        # Logging variables
-        self.object_ids = [address['address_id']]
+        self.event_objects = {'Address': [address['address_id']]}
        self.message = 'Address %d deleted' % address['address_id']     
 
         return 1
index 9dbe652..4fd1d9b 100644 (file)
@@ -28,6 +28,6 @@ class DeleteAddressType(Method):
             raise PLCInvalidArgument, "No such address type"
         address_type = address_types[0]
         address_type.delete()
-       self.object_ids = [address_type['address_type_id']]
+       self.event_objects = {'AddressType': [address_type['address_type_id']]}
 
         return 1
index dfc473a..d4ea928 100644 (file)
@@ -42,6 +42,7 @@ class DeleteAddressTypeFromAddress(Method):
                 raise PLCPermissionDenied, "Address must be associated with one of your sites"
 
         address.remove_address_type(address_type)
-       self.object_ids = [address['address_id']]
+       self.event_objects = {'Address' : [address['address_id']],
+                             'AddressType': [address_type['address_type_id']]} 
 
         return 1
index 0c30cf9..50b08e6 100644 (file)
@@ -24,9 +24,6 @@ class DeleteConfFileFromNode(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Node'
-
-
     def call(self, auth, conf_file_id, node_id_or_hostname):
        # Get configuration file
         conf_files = ConfFiles(self.api, [conf_file_id])
@@ -45,6 +42,7 @@ class DeleteConfFileFromNode(Method):
             conf_file.remove_node(node)
 
         # Log affected objects
-        self.object_ids = [conf_file_id, node['node_id']]
+        self.event_objects = {'ConfFile': [conf_file_id], 
+                             'Node': [node['node_id']]}
 
         return 1
index 1b4e890..5504b0f 100644 (file)
@@ -43,6 +43,7 @@ class DeleteConfFileFromNodeGroup(Method):
             conf_file.remove_nodegroup(nodegroup)
 
         # Log affected objects
-        self.object_ids = [conf_file_id, nodegroup['nodegroup_id']]
+        self.event_objects = {'ConfFile': [conf_file_id], 
+                             'NodeGroup': [nodegroup['nodegroup_id']]}
 
         return 1
index 313c2a4..86c16a5 100644 (file)
@@ -40,7 +40,7 @@ class DeleteKey(Method):
         key.delete()
        
        # Logging variables
-       self.object_ids = [key['key_id']]
+       self.event_objects = {'Key': [key['key_id']]}
        self.message = 'Key %d deleted' % key['key_id']
 
         return 1
index 7a6713d..4989942 100644 (file)
@@ -29,6 +29,6 @@ class DeleteMessage(Method):
         message = messages[0]
 
         message.delete()
-       self.object_ids = [message['message_id']]
+       self.event_objects = {'Message': [message['message_id']]}
 
         return 1
index d0bf3a5..bc92718 100644 (file)
@@ -24,9 +24,6 @@ class DeleteNode(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Node'
-
-
     def call(self, auth, node_id_or_hostname):
         # Get account information
         nodes = Nodes(self.api, [node_id_or_hostname])
@@ -49,7 +46,7 @@ class DeleteNode(Method):
         node.delete()
 
        # Logging variables
-       self.object_ids = [node['node_id']]
+       self.event_objects = {'Node': [node['node_id']]}
        self.message = "Node %d deleted" % node['node_id']
 
         return 1
index 0cd41a5..2bc6770 100644 (file)
@@ -45,7 +45,8 @@ class DeleteNodeFromNodeGroup(Method):
             nodegroup.remove_node(node)
        
        # Logging variables
-       self.object_ids = [nodegroup['nodegroup_id']]
+       self.event_objects = {'NodeGroup': [nodegroup['nodegroup_id']],
+                             'Node': [node['node_id']]}
        self.message = 'node %d deleted from node group %d' % \
                (node['node_id'], nodegroup['nodegroup_id'])
 
index cf7f93f..d268298 100644 (file)
@@ -25,9 +25,6 @@ class DeleteNodeFromPCU(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Node'
-
-
     def call(self, auth, node_id_or_hostname, pcu_id):
         # Get node
         nodes = Nodes(self.api, [node_id_or_hostname])
@@ -59,7 +56,8 @@ class DeleteNodeFromPCU(Method):
             pcu.remove_node(node)
 
        # Logging variables
-       self.object_ids = [pcu['pcu_id']]
+       self.event_objects = {'PCU': [pcu['pcu_id']],
+                             'Node': [node['node_id']]}        
        self.message = 'Node %d removed from PCU %d' % \
                (node['node_id'], pcu['pcu_id']) 
        
index 7606607..7650150 100644 (file)
@@ -35,7 +35,7 @@ class DeleteNodeGroup(Method):
         nodegroup.delete()
 
        # Logging variables
-       self.object_ids = [nodegroup['nodegroup_id']]
+       self.event_objects = {'NodeGroup': [nodegroup['nodegroup_id']]}
        self.message  = 'Node group %d deleted' % nodegroup['nodegroup_id']
  
         return 1
index 6cba6a6..4bdda21 100644 (file)
@@ -51,7 +51,7 @@ class DeleteNodeNetwork(Method):
         nodenetwork.delete()
 
        # Logging variables
-       self.object_ids = [nodenetwork['nodenetwork_id']]
+       self.event_objects = {'NodeNetwork': [nodenetwork['nodenetwork_id']]}
        self.message = "Node network %d deleted" % nodenetwork['nodenetwork_id']
 
         return 1
index 0d7a09a..944882b 100644 (file)
@@ -37,7 +37,7 @@ class DeletePCU(Method):
         pcu.delete()
        
        # Logging variables
-       self.object_ids = [pcu['pcu_id']]
+       self.event_objects = {'PCU': [pcu['pcu_id']]}
        self.message = 'PCU %d deleted' % pcu['pcu_id']
 
         return 1
index dcc1913..4260d25 100644 (file)
@@ -33,6 +33,6 @@ class DeletePeer(Method):
         peer.delete()
 
         # Log affected objects
-       self.object_ids = [peer['peer_id']]
+       self.event_objects = {'Peer': [peer['peer_id']]}
 
        return 1
index dcb2e52..448f808 100644 (file)
@@ -25,9 +25,6 @@ class DeletePerson(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Person'
-
-
     def call(self, auth, person_id_or_email):
         # Get account information
         persons = Persons(self.api, [person_id_or_email])
@@ -48,7 +45,7 @@ class DeletePerson(Method):
         person.delete()
        
        # Logging variables
-       self.object_ids = [person['person_id']]
+       self.event_objects = {'Person': [person['person_id']]}
        self.message = 'Person %d deleted' % person['person_id']
 
         return 1
index 0b7280c..db2af2d 100644 (file)
@@ -26,9 +26,6 @@ class DeletePersonFromSite(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Site'
-    
-
     def call(self, auth, person_id_or_email, site_id_or_login_base):
         # Get account information
         persons = Persons(self.api, [person_id_or_email])
@@ -52,7 +49,8 @@ class DeletePersonFromSite(Method):
             site.remove_person(person)
 
        # Logging variables
-       self.object_ids = [site['site_id']]
+       self.event_objects = {'Site': [site['site_id']],
+                             'Person': [person['person_id']]}  
        self.message = 'Person %d deleted from site %d  ' % \
                (person['person_id'], site['site_id'])
         return 1
index 9bab6ab..c990ccd 100644 (file)
@@ -25,9 +25,6 @@ class DeletePersonFromSlice(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Slice'
-
-
     def call(self, auth, person_id_or_email, slice_id_or_name):
         # Get account information
         persons = Persons(self.api, [person_id_or_email])
@@ -56,6 +53,7 @@ class DeletePersonFromSlice(Method):
        if slice['slice_id'] in person['slice_ids']:
             slice.remove_person(person)
        
-       self.object_ids = [slice['slice_id']]
+       self.event_objects = {'Slice': [slice['slice_id']],
+                             'Person': [person['person_id']]}  
 
         return 1
index e254a13..f707280 100644 (file)
@@ -33,6 +33,6 @@ class DeleteRole(Method):
         role = roles[0]
 
         role.delete()
-       self.object_ids = [role['role_id']]
+       self.event_objects = {'Role': [role['role_id']]}
 
         return 1
index 439857f..151ba25 100644 (file)
@@ -27,9 +27,6 @@ class DeleteRoleFromPerson(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Person'
-
-
     def call(self, auth, role_id_or_name, person_id_or_email):
         # Get role
         roles = Roles(self.api, [role_id_or_name])
@@ -62,7 +59,8 @@ class DeleteRoleFromPerson(Method):
             person.remove_role(role)
        
        # Logging variables
-       self.object_ids = [person['person_id']]
+       self.event_objects = {'Person': [person['person_id']],
+                             'Role': [role['role_id']]}        
        self.message = "Role %d revoked from person %d" % \
                        (role['role_id'], person['person_id'])
 
index af5dedd..c23fff4 100644 (file)
@@ -27,9 +27,6 @@ class DeleteSite(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Site'
-
-
     def call(self, auth, site_id_or_login_base):
         # Get account information
         sites = Sites(self.api, [site_id_or_login_base])
@@ -43,7 +40,7 @@ class DeleteSite(Method):
         site.delete()
        
        # Logging variables
-       self.object_ids = [site['site_id']]
+       self.event_objects = {'Site': [site['site_id']]}
        self.message = 'Site %d deleted' % site['site_id']      
 
         return 1
index 7011de8..297f8a9 100644 (file)
@@ -25,9 +25,6 @@ class DeleteSlice(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Slice'
-
-
     def call(self, auth, slice_id_or_name):
         slices = Slices(self.api, [slice_id_or_name])
         if not slices:
@@ -46,6 +43,6 @@ class DeleteSlice(Method):
                 raise PLCPermissionDenied, "Specified slice not associated with any of your sites"
 
         slice.delete()
-        self.object_ids = [slice['slice_id']]
+        self.event_objects = {'Slice': [slice['slice_id']]}
 
         return 1
index ea3ecb2..871e241 100644 (file)
@@ -28,9 +28,6 @@ class DeleteSliceAttribute(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Slice'
-
-
     def call(self, auth, slice_attribute_id):
         slice_attributes = SliceAttributes(self.api, [slice_attribute_id])
         if not slice_attributes:
@@ -60,6 +57,6 @@ class DeleteSliceAttribute(Method):
                 raise PLCPermissioinDenied, "Not allowed to delete the specified attribute"
 
         slice_attribute.delete()
-       self.object_ids = [slice_attribute['slice_attribute_id']]
+       self.event_objects = {'SliceAttribute': [slice_attribute['slice_attribute_id']]}
 
         return 1
index 922b6ac..e6c1a8a 100644 (file)
@@ -29,6 +29,6 @@ class DeleteSliceAttributeType(Method):
         attribute_type = attribute_types[0]
 
         attribute_type.delete()
-       self.object_ids = [attribute_type['attribute_type_id']]
+       self.event_objects = {'AttributeType': [attribute_type['attribute_type_id']]}
 
         return 1
index 87e2e07..b2705d5 100644 (file)
@@ -25,9 +25,6 @@ class DeleteSliceFromNodes(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Node'
-
-
     def call(self, auth, slice_id_or_name, node_id_or_hostname_list):
         # Get slice information
         slices = Slices(self.api, [slice_id_or_name])
@@ -56,6 +53,7 @@ class DeleteSliceFromNodes(Method):
 
         slice.sync()
        
-       self.object_ids = [node['node_id'] for node in nodes]
+       self.event_objects = {'Node': [node['node_id'] for node in nodes],
+                             'Slice': [slice['slice_id']]}      
 
         return 1
index b8c0979..70c273d 100644 (file)
@@ -42,8 +42,7 @@ class NotifyPersons(Method):
                  Body = body)
 
         # Logging variables
-        self.object_type = "Person"
-        self.object_ids = [person['person_id'] for person in persons]
+        self.event_objects = {'Person': [person['person_id'] for person in persons]}
         self.message = subject
 
         return 1
index bffa3da..bea6b89 100644 (file)
@@ -30,8 +30,6 @@ class RebootNode(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Node'
-
     def call(self, auth, node_id_or_hostname):
         # Get account information
         nodes = Nodes(self.api, [node_id_or_hostname])
@@ -69,6 +67,7 @@ class RebootNode(Method):
             # Ignore socket errors
             pass
 
+       self.event_objects = {'Node': [node['node_id']]}
        self.message = "RebootNode called"
                
         return 1
index 43ee8ba..367b7c8 100644 (file)
@@ -39,8 +39,6 @@ class ResetPassword(Method):
 
     returns = Parameter(int, '1 if verification_key is valid')
 
-    object_type = 'Person'
-
     def call(self, auth, person_id_or_email, verification_key = None, verification_expires = None):
        # Get account information
         persons = Persons(self.api, [person_id_or_email])
@@ -116,7 +114,7 @@ class ResetPassword(Method):
             print >> log, "Warning: No message template '%s'" % message_id
 
        # Logging variables
-        self.object_ids = [person['person_id']]
+        self.event_objects = {'Person': [person['person_id']]}
         self.message = message_id
 
         return 1
index 668f46d..cc30b52 100644 (file)
@@ -20,8 +20,6 @@ class SliceCreate(AddSlice):
     
     returns = Parameter(int, 'New slice_id (> 0) if successful')
 
-    object_type = 'Slice'
-    
     def call(self, auth, name, slice_fields = {}):
         slice_fields['name'] = name
         return AddSlice.call(self, auth, slice_fields)
index 75eef3f..70f6696 100644 (file)
@@ -24,9 +24,6 @@ class SliceDelete(DeleteSlice):
 
     returns = Parameter(int, 'Returns 1 if successful, a fault otherwise.')
 
-    object_type = 'Slice'
-
-
     def call(self, auth, slice_name):
 
        return DeleteSlice.call(self, auth, slice_name)
index 547bd5c..35ccabe 100644 (file)
@@ -24,11 +24,6 @@ class SliceNodesAdd(AddSliceToNodes):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Slice'
-
-
-
-
     def call(self, auth, slice_name, nodes_list):
 
        return AddSliceToNodes.call(self, auth, slice_name, nodes_list)
index 513c943..66c0ed2 100644 (file)
@@ -24,11 +24,6 @@ class SliceNodesDel(DeleteSliceFromNodes):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Slice'
-
-
-
-
     def call(self, auth, slice_name, nodes_list):
 
        return DeleteSliceFromNodes.call(self, auth, slice_name, nodes_list)
index 44f0e52..4ac6f89 100644 (file)
@@ -25,8 +25,6 @@ class SliceRenew(UpdateSlice):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Slice'
-
     def call(self, auth, slice_name, slice_expires):
 
        slice_fields = {}
index 2f53ad0..9e82d3a 100644 (file)
@@ -26,8 +26,6 @@ class SliceUpdate(UpdateSlice):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Slice'
-
     def call(self, auth, slice_name, url, description):
 
        slice_fields = {}
index cee64c1..560a66a 100644 (file)
@@ -24,8 +24,6 @@ class SliceUserAdd(AddPersonToSlice):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Slice'
-
     def call(self, auth, slice_name, user_list):
 
        for user in user_list:
index 15295f2..0b41b15 100644 (file)
@@ -28,8 +28,6 @@ class SliceUserDel(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    object_type = 'Slice'
-
     def call(self, auth, slice_name, user_list):
        for user in user_list:
            DeletePersonFromSlice.call(self, auth, user, slice_name)