From: Mohamed Larabi Date: Wed, 2 Oct 2013 10:18:56 +0000 (+0200) Subject: rspec.version.add_nodes take an extra arg to handle Request RSpec X-Git-Tag: sfa-2.1-27~15 X-Git-Url: http://git.onelab.eu/?p=sfa.git;a=commitdiff_plain;h=f7d277c61f0424a89c9199c74ab2938aa141d561 rspec.version.add_nodes take an extra arg to handle Request RSpec --- diff --git a/sfa/rspecs/elements/versions/iotlabv1Node.py b/sfa/rspecs/elements/versions/iotlabv1Node.py index 6a95d238..bb1a0109 100644 --- a/sfa/rspecs/elements/versions/iotlabv1Node.py +++ b/sfa/rspecs/elements/versions/iotlabv1Node.py @@ -69,7 +69,7 @@ class Iotlabv1Node: network_elem.set('login', unicode(iotlab_network_dict['login'])) @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 @@ -169,6 +169,11 @@ class Iotlabv1Node: #'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 @staticmethod diff --git a/sfa/rspecs/elements/versions/nitosv1Node.py b/sfa/rspecs/elements/versions/nitosv1Node.py index 94678847..7ab5188a 100644 --- a/sfa/rspecs/elements/versions/nitosv1Node.py +++ b/sfa/rspecs/elements/versions/nitosv1Node.py @@ -102,6 +102,10 @@ class NITOSv1Node: 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): diff --git a/sfa/rspecs/elements/versions/pgv2Node.py b/sfa/rspecs/elements/versions/pgv2Node.py index 1c034e50..3a261ae3 100644 --- a/sfa/rspecs/elements/versions/pgv2Node.py +++ b/sfa/rspecs/elements/versions/pgv2Node.py @@ -19,7 +19,7 @@ from sfa.rspecs.elements.attribute import Attribute 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'] @@ -73,6 +73,10 @@ class PGv2Node: 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 diff --git a/sfa/rspecs/elements/versions/sfav1Node.py b/sfa/rspecs/elements/versions/sfav1Node.py index 4b018ae8..95ca516d 100644 --- a/sfa/rspecs/elements/versions/sfav1Node.py +++ b/sfa/rspecs/elements/versions/sfav1Node.py @@ -19,7 +19,7 @@ from sfa.rspecs.elements.versions.pgv2Services import PGv2Services 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] @@ -93,6 +93,10 @@ class SFAv1Node: 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 = [] diff --git a/sfa/rspecs/versions/iotlabv1.py b/sfa/rspecs/versions/iotlabv1.py index cee1f901..561b61c5 100644 --- a/sfa/rspecs/versions/iotlabv1.py +++ b/sfa/rspecs/versions/iotlabv1.py @@ -64,8 +64,8 @@ class Iotlabv1(RSpecVersion): 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") diff --git a/sfa/rspecs/versions/nitosv1.py b/sfa/rspecs/versions/nitosv1.py index 29d095ae..72133ac1 100644 --- a/sfa/rspecs/versions/nitosv1.py +++ b/sfa/rspecs/versions/nitosv1.py @@ -47,8 +47,8 @@ class NITOSv1(RSpecVersion): 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']): diff --git a/sfa/rspecs/versions/pgv2.py b/sfa/rspecs/versions/pgv2.py index fbd8a394..cfe1eaee 100644 --- a/sfa/rspecs/versions/pgv2.py +++ b/sfa/rspecs/versions/pgv2.py @@ -45,8 +45,8 @@ class PGv2(RSpecVersion): 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 diff --git a/sfa/rspecs/versions/sfav1.py b/sfa/rspecs/versions/sfav1.py index d0e76064..97950e7c 100644 --- a/sfa/rspecs/versions/sfav1.py +++ b/sfa/rspecs/versions/sfav1.py @@ -46,8 +46,8 @@ class SFAv1(RSpecVersion): 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']):