X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FAddNode.py;h=cf9bdba7e77eea6c0df2f8a507b81d200b7b2542;hb=d30c6dd87cc81e28adb9a2631638badb9ffa0a41;hp=ef76fe2d9d3025556255435941420d02e3eb340a;hpb=bbb99ba11845f409dbb4f266cad82eeb62131da4;p=plcapi.git diff --git a/PLC/Methods/AddNode.py b/PLC/Methods/AddNode.py index ef76fe2..cf9bdba 100644 --- a/PLC/Methods/AddNode.py +++ b/PLC/Methods/AddNode.py @@ -12,6 +12,7 @@ from PLC.TagTypes import TagTypes from PLC.NodeTags import NodeTags from PLC.Methods.AddNodeTag import AddNodeTag from PLC.Methods.UpdateNodeTag import UpdateNodeTag +from PLC.SFA import SFA can_update = ['hostname', 'node_type', 'boot_state', 'model', 'version'] @@ -45,7 +46,7 @@ class AddNode(Method): [native,tags,rejected]=Row.split_fields(node_fields,[Node.fields,Node.tags]) # type checking - native = Row.check_fields (native, self.accepted_fields) + native = Row.check_fields(native, self.accepted_fields) if rejected: raise PLCInvalidArgument, "Cannot add Node with column(s) %r"%rejected @@ -82,8 +83,12 @@ class AddNode(Method): else: UpdateNodeTag(self.api).__call__(auth,node_tags[0]['node_tag_id'],value) - self.event_objects = {'Site': [site['site_id']], + self.event_objects = {'Site': [site['site_id']], 'Node': [node['node_id']]} - self.message = "Node %s created" % node['node_id'] - + self.message = "Node %s created" % node['node_id'] + + # sync with geni db + sfa = SFA() + sfa.update_record(node, 'node', site['login_base']) + return node['node_id']