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 10:18:56 +0000 (12:18 +0200)
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 6a95d23..bb1a010 100644 (file)
@@ -69,7 +69,7 @@ class Iotlabv1Node:
         network_elem.set('login', unicode(iotlab_network_dict['login']))
 
     @staticmethod
         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
         """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)
                                                     #'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
         return node_elems
 
     @staticmethod
index 9467884..7ab5188 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', []))
                     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):
 
     @staticmethod 
     def add_slivers(xml, slivers):
index 1c034e5..3a261ae 100644 (file)
@@ -19,7 +19,7 @@ from sfa.rspecs.elements.attribute import Attribute
 
 class PGv2Node:
     @staticmethod
 
 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']
         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'])
 
                     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
 
 
         return node_elems
 
 
index 4b018ae..95ca516 100644 (file)
@@ -19,7 +19,7 @@ from sfa.rspecs.elements.versions.pgv2Services import PGv2Services
 class SFAv1Node:
 
     @staticmethod
 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]
         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', []))
 
                         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 = []
     @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_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 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 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 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 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 merge_node(self, source_node_tag):
         # this is untested
index d0e7606..97950e7 100644 (file)
@@ -46,8 +46,8 @@ class SFAv1(RSpecVersion):
     def get_nodes_with_slivers(self):
         return SFAv1Node.get_nodes_with_slivers(self.xml)
 
     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']):
 
     def merge_node(self, source_node_tag, network, no_dupes=False):
         if no_dupes and self.get_node_element(node['hostname']):