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')
- event_type = 'AddTo'
- object_type = 'NodeGroup'
- object_ids = []
- 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]
+
+ if node['peer_id'] is not None:
+ raise PLCInvalidArgument, "Not a local node"
# 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]
# add node to nodegroup
if node['node_id'] not in nodegroup['node_ids']:
nodegroup.add_node(node)
- self.object_ids = [nodegroup['nodegroup_id']]
-
+
+ # Logging variables
+ self.event_objects = {'NodeGroup': [nodegroup['nodegroup_id']],
+ 'Node': [node['node_id']]}
+ self.message = 'Node %d added to node group %d' % \
+ (node['node_id'], nodegroup['nodegroup_id'])
return 1