comment in GetPersons
[plcapi.git] / PLC / Methods / AddNode.py
index cf9bdba..a1e8337 100644 (file)
@@ -5,14 +5,14 @@ from PLC.Auth import Auth
 from PLC.Method import Method
 from PLC.Parameter import Parameter, Mixed
 from PLC.Table import Row
 from PLC.Method import Method
 from PLC.Parameter import Parameter, Mixed
 from PLC.Table import Row
-
+from PLC.Namespace import hostname_to_hrn
+from PLC.Peers import Peers
 from PLC.Sites import Site, Sites
 from PLC.Nodes import Node, Nodes
 from PLC.TagTypes import TagTypes
 from PLC.NodeTags import NodeTags
 from PLC.Methods.AddNodeTag import AddNodeTag
 from PLC.Methods.UpdateNodeTag import UpdateNodeTag
 from PLC.Sites import Site, Sites
 from PLC.Nodes import Node, Nodes
 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']
 
 
 can_update = ['hostname', 'node_type', 'boot_state', 'model', 'version']
 
@@ -73,6 +73,11 @@ class AddNode(Method):
         node['site_id'] = site['site_id']
         node.sync()
 
         node['site_id'] = site['site_id']
         node.sync()
 
+        # since hostname was specified lets add the 'hrn' node tag
+        root_auth = self.api.config.PLC_HRN_ROOT
+        login_base = site['login_base']
+        tags['hrn'] = hostname_to_hrn(root_auth, login_base, node['hostname'])
+
         for (tagname,value) in tags.iteritems():
             # the tagtype instance is assumed to exist, just check that
             if not TagTypes(self.api,{'tagname':tagname}):
         for (tagname,value) in tags.iteritems():
             # the tagtype instance is assumed to exist, just check that
             if not TagTypes(self.api,{'tagname':tagname}):
@@ -84,11 +89,7 @@ class AddNode(Method):
                 UpdateNodeTag(self.api).__call__(auth,node_tags[0]['node_tag_id'],value)
 
         self.event_objects = {'Site': [site['site_id']],
                 UpdateNodeTag(self.api).__call__(auth,node_tags[0]['node_tag_id'],value)
 
         self.event_objects = {'Site': [site['site_id']],
-                            'Node': [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']) 
-        
+                              'Node': [node['node_id']]}
+        self.message = "Node %d=%s created" % (node['node_id'],node['hostname'])
+
         return node['node_id']
         return node['node_id']