X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FAdmRemoveNodeFromNodeGroup.py;h=f905a162b3dd5d0b58ed38696becab4140b53267;hb=56b2bed39de364cd20ff76fb022f7f65a5f21410;hp=d08136532fbcf7f0f20b91caec819fa938dc0340;hpb=c61d425dccf7b80cdbc32cdb3d13c825d77802e6;p=plcapi.git diff --git a/PLC/Methods/AdmRemoveNodeFromNodeGroup.py b/PLC/Methods/AdmRemoveNodeFromNodeGroup.py index d081365..f905a16 100644 --- a/PLC/Methods/AdmRemoveNodeFromNodeGroup.py +++ b/PLC/Methods/AdmRemoveNodeFromNodeGroup.py @@ -1,52 +1,8 @@ -from PLC.Faults import * -from PLC.Method import Method -from PLC.Parameter import Parameter, Mixed -from PLC.NodeGroups import NodeGroup, NodeGroups -from PLC.Nodes import Node, Nodes -from PLC.Auth import PasswordAuth +from PLC.Methods.DeleteNodeFromNodeGroup import DeleteNodeFromNodeGroup -class AdmRemoveNodeFromNodeGroup(Method): +class AdmRemoveNodeFromNodeGroup(DeleteNodeFromNodeGroup): """ - Removes a node from the specified node group. - - Returns 1 if successful, faults otherwise. + Deprecated. See DeleteNodeFromNodeGroup. """ - roles = ['admin'] - - accepts = [ - PasswordAuth(), - 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): - # Get node info - nodes = Nodes(self.api, [node_id_or_hostname]) - if not nodes: - raise PLCInvalidArgument, "No such node" - node = nodes.values()[0] - - # Get nodegroup info - nodegroups = NodeGroups(self.api, [nodegroup_id_or_name]) - if not nodegroups: - raise PLCInvalidArgument, "No such nodegroup" - - nodegroup = nodegroups.values()[0] - - # Authenticated function - assert self.caller is not None - - # make sure we are 'admin' - if 'admin' not in self.caller['roles']: - raise PLCPermissionDenied, "Not allowed to remove node from nodegroup" - - # add node to nodegroup - if node['node_id'] in nodegroup['node_ids']: - nodegroup.remove_node(node) - - return 1 + status = "deprecated"