- for pg_node_element in pg_nodes_elements:
- urn = pg_node_element.get('component_uuid')
- hostname = Xrn.urn_split(urn)[-1]
- node_element = sfa_rspec.add_element('node', {'id': 'n'+str(i)}, parent=network_element)
- hostname_element = sfa_rspec.add_element('hostname', parent=node_element, text=hostname)
- urn_element = sfa_rspec.add_element('urn', parent=node_element, text=urn)
- for child in pg_node_element.getchildren():
- node_element.append(transform(child).getroot())
- i = i+1
- break
-
+ for pg_node in pg_nodes_elements:
+ attribs = dict(pg_node.items())
+ attribs['id'] = 'n' + str(i)
+
+ node_element = network_element.add_element('node')
+ for attrib in attribs:
+ if type(attribs[attrib]) == str:
+ node_element.set(attrib, attribs[attrib])
+ urn = pg_node["component_id"]
+ if urn:
+ if type(urn) == list:
+ # legacy code, not sure if urn is ever a list...
+ urn = urn[0]
+ hostname = Xrn.urn_split(urn)[-1]
+ hostname_element = node_element.add_element('hostname')
+ hostname_element.set_text(hostname)
+ if hostname in nodes_with_slivers:
+ node_element.add_element('sliver')
+
+ for hardware_type in pg_node["hardware_types"]:
+ if "name" in hardware_type:
+ node_element.add_element(
+ "hardware_type", name=hardware_type["name"])
+
+ # just copy over remaining child elements
+ # for child in pg_node_element.getchildren():
+ # node_element.append(transform(child).getroot())
+ i = i + 1
+