- raise PLCInvalidArgument, "Invalid node group name"
-
- # Make sure node group does not alredy exist
- conflicts = NodeGroups(self.api, [name])
- for nodegroup_id in conflicts:
- if 'nodegroup_id' not in self or self['nodegroup_id'] != nodegroup_id:
- raise PLCInvalidArgument, "Node group name already in use"
-
- return name
-
- def add_node(self, node, commit = True):
- """
- Add node to existing nodegroup.
- """
-
- assert 'nodegroup_id' in self
- assert isinstance(node, Node)
- assert 'node_id' in node
-
- node_id = node['node_id']
- nodegroup_id = self['nodegroup_id']
-
- if node_id not in self['node_ids']:
- assert nodegroup_id not in node['nodegroup_ids']
-
- self.api.db.do("INSERT INTO nodegroup_node (nodegroup_id, node_id)" \
- " VALUES(%(nodegroup_id)d, %(node_id)d)",
- locals())