@staticmethod
- def add_nodes(xml, nodes):
+ def add_nodes(xml, nodes, rspec_content_type=None):
+ """Adds the nodes to the xml.
+
+ Adds the nodes as well as dedicated iotlab fields to the node xml
+ element.
+
+ :param xml: the xml being constructed.
+ :type xml: xml
+ :param nodes: list of node dict
+ :type nodes: list
+ :returns: a list of node elements.
+ :rtype: list
+
+ """
+>>>>>>> f7d277c... rspec.version.add_nodes take an extra arg to handle Request RSpec
#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
tag_elem = node_elem.add_element(tag['tagname'])
tag_elem.set_text(tag['value'])
NITOSv1Sliver.add_slivers(node_elem, node.get('slivers', []))
+
+ # add sliver tag in Request Rspec
+ if rspec_content_type == "request":
+ node_elem.add_instance('sliver', '', [])
@staticmethod
def add_slivers(xml, slivers):
class PGv2Node:
@staticmethod
- def add_nodes(xml, nodes):
+ def add_nodes(xml, nodes, rspec_content_type=None):
node_elems = []
for node in nodes:
node_fields = ['component_manager_id', 'component_id', 'client_id', 'sliver_id', 'exclusive']
tag['name'] = tag.pop('tagname')
node_elem.add_instance('{%s}attribute' % xml.namespaces['planetlab'], tag, ['name', 'value'])
+ # add sliver tag in Request Rspec
+ if rspec_content_type == "request":
+ node_elem.add_instance('sliver', '', [])
+
return node_elems
class SFAv1Node:
@staticmethod
- def add_nodes(xml, nodes):
+ def add_nodes(xml, nodes, rspec_content_type=None):
network_elems = xml.xpath('//network')
if len(network_elems) > 0:
network_elem = network_elems[0]
tag_elem.set_text(tag['value'])
SFAv1Sliver.add_slivers(node_elem, node.get('slivers', []))
+ # add sliver tag in Request Rspec
+ if rspec_content_type == "request":
+ node_elem.add_instance('sliver', '', [])
+
@staticmethod
def add_slivers(xml, slivers):
component_ids = []
def add_connection_information(self, ldap_username, sites_set):
return Iotlabv1Node.add_connection_information(self.xml,ldap_username, sites_set)
- def add_nodes(self, nodes, check_for_dupes=False):
- return Iotlabv1Node.add_nodes(self.xml,nodes )
+ def add_nodes(self, nodes, check_for_dupes=False, rspec_content_type=None):
+ return Iotlabv1Node.add_nodes(self.xml,nodes, rspec_content_type)
def merge_node(self, source_node_tag, network, no_dupes = False):
logger.debug("SLABV1 merge_node")
def get_nodes_with_slivers(self):
return NITOSv1Node.get_nodes_with_slivers(self.xml)
- def add_nodes(self, nodes, network = None, no_dupes=False):
- NITOSv1Node.add_nodes(self.xml, nodes)
+ def add_nodes(self, nodes, network = None, no_dupes=False, rspec_content_type=None):
+ NITOSv1Node.add_nodes(self.xml, nodes, rspec_content_type)
def merge_node(self, source_node_tag, network, no_dupes=False):
if no_dupes and self.get_node_element(node['hostname']):
def get_nodes_with_slivers(self):
return PGv2Node.get_nodes_with_slivers(self.xml)
- def add_nodes(self, nodes, check_for_dupes=False):
- return PGv2Node.add_nodes(self.xml, nodes)
+ def add_nodes(self, nodes, check_for_dupes=False, rspec_content_type=None):
+ return PGv2Node.add_nodes(self.xml, nodes, rspec_content_type)
def merge_node(self, source_node_tag):
# this is untested
def get_nodes_with_slivers(self):
return SFAv1Node.get_nodes_with_slivers(self.xml)
- def add_nodes(self, nodes, network = None, no_dupes=False):
- SFAv1Node.add_nodes(self.xml, nodes)
+ def add_nodes(self, nodes, network = None, no_dupes=False, rspec_content_type=None):
+ SFAv1Node.add_nodes(self.xml, nodes, rspec_content_type)
def merge_node(self, source_node_tag, network, no_dupes=False):
if no_dupes and self.get_node_element(node['hostname']):