rspec.version.add_nodes take an extra arg to handle Request RSpec
authorMohamed Larabi <mohamed.larabi@inria.fr>
Wed, 2 Oct 2013 10:18:56 +0000 (12:18 +0200)
committerMohamed Larabi <mohamed.larabi@inria.fr>
Wed, 2 Oct 2013 13:37:24 +0000 (15:37 +0200)
Conflicts:

sfa/rspecs/elements/versions/iotlabv1Node.py

sfa/rspecs/elements/versions/iotlabv1Node.py
sfa/rspecs/elements/versions/nitosv1Node.py
sfa/rspecs/elements/versions/pgv2Node.py
sfa/rspecs/elements/versions/sfav1Node.py
sfa/rspecs/versions/iotlabv1.py
sfa/rspecs/versions/nitosv1.py
sfa/rspecs/versions/pgv2.py
sfa/rspecs/versions/sfav1.py

index 4abfdf2..df3dc6c 100644 (file)
@@ -54,7 +54,21 @@ class Iotlabv1Node:
 
 
     @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:
@@ -134,6 +148,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
 
 
index 9015077..743d562 100644 (file)
@@ -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):
index ee69f03..0a694ad 100644 (file)
@@ -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']
@@ -70,6 +70,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
 
 
index c5db784..5107698 100644 (file)
@@ -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 = []
index cee1f90..561b61c 100644 (file)
@@ -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")
index 29d095a..72133ac 100644 (file)
@@ -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']):
index fbd8a39..cfe1eae 100644 (file)
@@ -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
index bdfeb47..fa5f9d4 100644 (file)
@@ -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']):