fix IndexError
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Wed, 5 Dec 2012 18:47:51 +0000 (13:47 -0500)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Wed, 5 Dec 2012 18:47:51 +0000 (13:47 -0500)
sfa/openstack/osaggregate.py
sfa/planetlab/plaggregate.py

index 066e7e4..332976f 100644 (file)
@@ -89,6 +89,7 @@ class OSAggregate:
         version = version_manager.get_version(version)
         rspec_version = version_manager._get_version(version.type, version.version, 'manifest')
         rspec = RSpec(version=rspec_version, user_options=options)
+        rspec.xml.set('expires',  datetime_to_string(utcparse(time.time())))
         rspec.version.add_nodes(rspec_nodes)
         result = {'geni_urn': Xrn(urns[0]).get_urn(),
                   'geni_rspec': rspec.toxml(), 
index e55a293..48f3eb1 100644 (file)
@@ -353,8 +353,12 @@ class PlAggregate:
 
         # get slivers
         geni_slivers = []
-        slivers = self.get_slivers(urns, options) 
-        rspec.xml.set('expires',  datetime_to_string(utcparse(slivers[0]['expires'])))
+        slivers = self.get_slivers(urns, options)
+        if slivers:
+            rspec_expires = datetime_to_string(utcparse(slivers[0]['expires']))
+        else:
+            rspec_expires = datetime_to_string(utcparse(time.time()))      
+        rspec.xml.set('expires',  rspec_expires)
 
         # lookup the sliver allocations
         sliver_ids = [sliver['sliver_id'] for sliver in slivers]
@@ -403,8 +407,9 @@ class PlAggregate:
             rspec.version.add_links(links)
 
         if not options.get('list_leases') or options['list_leases'] != 'resources':
-            leases = self.get_leases(slivers[0])
-            rspec.version.add_leases(leases)
+            if slivers:
+                leases = self.get_leases(slivers[0])
+                rspec.version.add_leases(leases)
 
                
         return {'geni_urn': urns[0],