Branch 5.0 for module PLCAPI created from tag PLCAPI-4.2-8
[plcapi.git] / PLC / Methods / DeleteNodeFromNodeGroup.py
index 1e61fe5..2bc6770 100644 (file)
@@ -16,31 +16,38 @@ class DeleteNodeFromNodeGroup(Method):
 
     accepts = [
         Auth(),
+       Mixed(Node.fields['node_id'],
+             Node.fields['hostname']),
         Mixed(NodeGroup.fields['nodegroup_id'],
              NodeGroup.fields['name']),
-       Mixed(Node.fields['node_id'],
-             Node.fields['hostname'])
         ]
 
     returns = Parameter(int, '1 if successful')
 
-    def call(self, auth, nodegroup_id_or_name, node_id_or_hostname):
+
+    def call(self, auth, node_id_or_hostname, nodegroup_id_or_name):
         # Get node info
        nodes = Nodes(self.api, [node_id_or_hostname])
        if not nodes:
                raise PLCInvalidArgument, "No such node"
 
-       node = nodes.values()[0]
+       node = nodes[0]
 
        # Get nodegroup info
         nodegroups = NodeGroups(self.api, [nodegroup_id_or_name])
         if not nodegroups:
             raise PLCInvalidArgument, "No such nodegroup"
 
-        nodegroup = nodegroups.values()[0]
+        nodegroup = nodegroups[0]
 
        # Remove node from nodegroup
         if node['node_id'] in nodegroup['node_ids']:
             nodegroup.remove_node(node)
+       
+       # Logging variables
+       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'])
 
         return 1