X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FAddConfFileToNode.py;h=eeb9af58131188165913b48d32bc0083f255e446;hb=bd0cbf4f7f2e4cf7ceda500bfa6f98c0a700018b;hp=0c4899e578f840217d9c6e56c61a53611151a08b;hpb=3ab53c5221664528325a0edc7ca40c57eb783428;p=plcapi.git diff --git a/PLC/Methods/AddConfFileToNode.py b/PLC/Methods/AddConfFileToNode.py index 0c4899e..eeb9af5 100644 --- a/PLC/Methods/AddConfFileToNode.py +++ b/PLC/Methods/AddConfFileToNode.py @@ -24,26 +24,28 @@ class AddConfFileToNode(Method): returns = Parameter(int, '1 if successful') - def call(self, auth, conf_file_id, node_id_or_hostname): - # Get configuration file + # Get configuration file conf_files = ConfFiles(self.api, [conf_file_id]) if not conf_files: raise PLCInvalidArgument, "No such configuration file" conf_file = conf_files[0] # Get node - nodes = Nodes(self.api, [node_id_or_hostname]) - if not nodes: - raise PLCInvalidArgument, "No such node" - node = nodes[0] - PLCCheckLocalNode (node,"AddConfFileToNode") - - # Link configuration file to node + nodes = Nodes(self.api, [node_id_or_hostname]) + if not nodes: + raise PLCInvalidArgument, "No such node" + node = nodes[0] + + if node['peer_id'] is not None: + raise PLCInvalidArgument, "Not a local node" + + # Link configuration file to node if node['node_id'] not in conf_file['node_ids']: conf_file.add_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