from sfa.rspecs.elements.versions.iotlabv1Sliver import Iotlabv1Sliver
from sfa.util.sfalogging import logger
-class IotlabNode(Node):
+class IotlabNode(NodeElement):
#First get the fields already defined in the class Node
- fields = list(Node.fields)
+ fields = list(NodeElement.fields)
#Extend it with iotlab's specific fields
fields.extend (['archi', 'radio', 'mobile','position'])
@staticmethod
- def add_nodes(xml, nodes):
+ def add_nodes(xml, nodes, rspec_content_type=None):
#Add network item in the xml
network_elems = xml.xpath('//network')
if len(network_elems) > 0:
#'value': initscript['name']})
Iotlabv1Sliver.add_slivers(node_elem, slivers)
+
+ # add sliver tag in Request Rspec
+ if rspec_content_type == "request":
+ node_elem.add_instance('sliver', '', [])
+
return node_elems
node['interfaces'] = [iface_elem.get_instance(Interface) \
for iface_elem in iface_elems]
+ # get position
+ position_elems = node_elem.xpath('./default:position | ./position')
+ if position_elems:
+ position_elem = position_elems[0]
+ node['position'] = position_elem.get_instance(IotlabPosition)
+
# get services
#node['services'] = PGv2Services.get_services(node_elem)