rspec converters now convert sliver tag
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Fri, 13 May 2011 18:42:12 +0000 (14:42 -0400)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Fri, 13 May 2011 18:42:12 +0000 (14:42 -0400)
sfa/rspecs/pg_rspec_converter.py
sfa/rspecs/sfa_rspec_converter.py

index e060f3e..3a77ad2 100755 (executable)
@@ -48,15 +48,23 @@ class PGRSpecConverter:
         
         # get nodes
         pg_nodes_elements = pg_rspec.get_node_elements()
+        nodes_with_slivers = pg_rspec.get_nodes_with_slivers()
+        print "nodes with slivers", nodes_with_slivers
         i = 1
         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 = pg_node_element.xpath('@component_uuid | @component_id')
+            if urn:
+                urn = urn[0]
+                hostname = Xrn.urn_split(urn)[-1]
+                hostname_element = sfa_rspec.add_element('hostname', parent=node_element, text=hostname)
+                if hostname in nodes_with_slivers:
+                    sfa_rspec.add_element('sliver', parent=node_element)
+                     
             urn_element = sfa_rspec.add_element('urn', parent=node_element, text=urn)
 
-            # TODO: convert sliver element
+
+            # just copy over remaining child elements  
             for child in pg_node_element.getchildren():
                 node_element.append(transform(child).getroot())
             i = i+1
index 75d9c0f..a7a189b 100755 (executable)
@@ -50,7 +50,10 @@ class SfaRSpecConverter:
                     location_attrs['latitude'] = location.get('latitiue', 'None')
                     location_attrs['longitude'] = location.get('longitude', 'None')
                     pg_rspec.add_element('location', location_attrs, parent=node_element)
-                # TODO: convert sliver element
+
+                sliver_element = sfa_node_element.find('sliver')
+                if sliver_element != None:
+                    pg_rspec.add_element('sliver_type', {'name': 'planetlab-vnode'}, parent=node_element)
 
         return pg_rspec.toxml()