From e6a2b05ba853fab28771e985e5039e5447b43954 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Wed, 5 Dec 2012 13:47:51 -0500 Subject: [PATCH] fix IndexError --- sfa/openstack/osaggregate.py | 1 + sfa/planetlab/plaggregate.py | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/sfa/openstack/osaggregate.py b/sfa/openstack/osaggregate.py index 066e7e41..332976f7 100644 --- a/sfa/openstack/osaggregate.py +++ b/sfa/openstack/osaggregate.py @@ -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(), diff --git a/sfa/planetlab/plaggregate.py b/sfa/planetlab/plaggregate.py index e55a2933..48f3eb13 100644 --- a/sfa/planetlab/plaggregate.py +++ b/sfa/planetlab/plaggregate.py @@ -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], -- 2.43.0