+def import_node(parent_hrn, node):
+ nodename = node['hostname']
+ nodename = cleanup_string(nodename)
+
+ if not nodename:
+ report.error("Import_node: failed to parse node name " + node['hostname'])
+ return
+
+ hrn = parent_hrn + "." + nodename
+
+ # ASN.1 will have problems with hrn's longer than 64 characters
+ if len(hrn) > 64:
+ hrn = hrn[:64]
+
+ report.trace("Import: importing node " + hrn)
+
+ table = get_auth_table(parent_hrn)
+
+ node_record = table.resolve("node", hrn)
+ if not node_record:
+ pkey = Keypair(create=True)
+ node_gid = AuthHierarchy.create_gid(hrn, create_uuid(), pkey)
+ node_record = GeniRecord(name=hrn, gid=node_gid, type="node", pointer=node['node_id'])
+ report.trace(" inserting node record for " + hrn)
+ table.insert(node_record)
+