Fix default slivers mgt in sfav1 rspecs
authorMohamed Larabi <mohamed.larabi@inria.fr>
Thu, 1 Aug 2013 12:31:52 +0000 (14:31 +0200)
committerMohamed Larabi <mohamed.larabi@inria.fr>
Thu, 1 Aug 2013 12:31:52 +0000 (14:31 +0200)
sfa/planetlab/plaggregate.py
sfa/rspecs/versions/sfav1.py

index bb19df3..09826f0 100644 (file)
@@ -330,7 +330,7 @@ class PlAggregate:
                 default_sliver_attribs = default_sliver.get('tags', [])
                 for attrib in default_sliver_attribs:
                     logger.info("adding default sliver attribute xrn=%s attrib=%s"%(slice_xrn,attrib))
-                    rspec.version.add_default_sliver_attribute(attrib['tagname'], attrib['value'])
+                    rspec.version.add_default_sliver_attribute(attrib['tagname'], attrib['value'], self.driver.hrn)
         
         if not options.get('list_leases') or options.get('list_leases') and options['list_leases'] != 'resources':
            leases = self.get_leases(slice_xrn, slice)
index fd2e031..d0e7606 100644 (file)
@@ -145,10 +145,15 @@ class SFAv1(RSpecVersion):
             if network:
                 network_tag = self.xml.xpath("//network[@name='%s']" % network)
             else:
-                network_tag = self.xml.xpath("//network")    
-            if isinstance(network_tag, list):
+                network_tag = self.xml.xpath("//network") 
+            if len(network_tag) > 0:
                 network_tag = network_tag[0]
+            elif network:
+                network_tag = self.add_network(network)
+            else:
+                network_tag = self.xml
             defaults = network_tag.add_element('sliver_defaults')
+            
         elif isinstance(defaults, list):
             defaults = defaults[0]
         SFAv1Sliver.add_sliver_attribute(defaults, name, value)