Nitos: channels now have component_id (urn), which is used to address them into Lease...
[sfa.git] / sfa / rspecs / elements / versions / nitosv1Channel.py
index 610c86b..60582e3 100644 (file)
@@ -3,7 +3,7 @@ from sfa.util.xml import XpathFilter
 from sfa.util.xrn import Xrn
 
 from sfa.rspecs.elements.element import Element
-from sfa.rspecs.elements.node import Node
+from sfa.rspecs.elements.node import NodeElement
 from sfa.rspecs.elements.sliver import Sliver
 from sfa.rspecs.elements.location import Location
 from sfa.rspecs.elements.hardware_type import HardwareType
@@ -18,7 +18,6 @@ from sfa.rspecs.elements.lease import Lease
 from sfa.rspecs.elements.spectrum import Spectrum
 from sfa.rspecs.elements.channel import Channel
 
-from sfa.planetlab.plxrn import xrn_to_hostname
 
 class NITOSv1Channel:
 
@@ -29,8 +28,8 @@ class NITOSv1Channel:
         if len(network_elems) > 0:
             network_elem = network_elems[0]
         elif len(channels) > 0:
-            #network_urn = Xrn(leases[0]['component_id']).get_authority_urn().split(':')[0]
-            network_urn = "pla"
+            # dirty hack that handles no resource manifest rspec 
+            network_urn = "omf"
             network_elem = xml.add_element('network', name = network_urn)
         else:
             network_elem = xml
@@ -49,7 +48,7 @@ class NITOSv1Channel:
           
         channel_elems = []       
         for channel in channels:
-            channel_fields = ['channel_num', 'frequency', 'standard']
+            channel_fields = ['channel_num', 'frequency', 'standard', 'component_id']
             channel_elem = spectrum_elem.add_instance('channel', channel, channel_fields)
             channel_elems.append(channel_elem)
 
@@ -68,6 +67,7 @@ class NITOSv1Channel:
             channel['channel_num'] = channel_elem.attrib['channel_num']
             channel['frequency'] = channel_elem.attrib['frequency']
             channel['standard'] = channel_elem.attrib['standard']
+            channel['component_id'] = channel_elem.attrib['component_id']
 
             channels.append(channel)
         return channels