X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FAdmGenerateNodeConfFile.py;h=85789bd700a8f9d2753c3a2b1ce42b43dbf67fe9;hb=050ecfde01b446b88d0c2db533d72d1a25ff601b;hp=2af6a6f152c4c74d8f271378c98b397ba21e1dd8;hpb=d94e02f6fe369064077acccb55bd4360d0e3aa05;p=plcapi.git diff --git a/PLC/Methods/AdmGenerateNodeConfFile.py b/PLC/Methods/AdmGenerateNodeConfFile.py index 2af6a6f..85789bd 100644 --- a/PLC/Methods/AdmGenerateNodeConfFile.py +++ b/PLC/Methods/AdmGenerateNodeConfFile.py @@ -37,11 +37,14 @@ class AdmGenerateNodeConfFile(Method): def call(self, auth, node_id_or_hostname): # Get node information - nodes = Nodes(self.api, [node_id_or_hostname]).values() + 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" + # If we are not an admin, make sure that the caller is a # member of the site at which the node is located. if 'admin' not in self.caller['roles']: @@ -50,7 +53,7 @@ class AdmGenerateNodeConfFile(Method): # Get node networks for this node primary = None - nodenetworks = NodeNetworks(self.api, node['nodenetwork_ids']).values() + nodenetworks = NodeNetworks(self.api, node['nodenetwork_ids']) for nodenetwork in nodenetworks: if nodenetwork['is_primary']: primary = nodenetwork