From 172bcefd011823a787f07443db2982f2f7b3438c Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Fri, 11 Nov 2011 01:23:15 -0500 Subject: [PATCH] fix errors --- sfa/plc/aggregate.py | 8 ++++---- sfa/rspecs/elements/versions/pgv2Services.py | 3 +++ sfa/rspecs/elements/versions/sfav1Sliver.py | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/sfa/plc/aggregate.py b/sfa/plc/aggregate.py index c394bab3..b7843556 100644 --- a/sfa/plc/aggregate.py +++ b/sfa/plc/aggregate.py @@ -179,7 +179,7 @@ class Aggregate: rspec_node['authority_id'] = hrn_to_urn(PlXrn.site_hrn(self.api.hrn, site['login_base']), 'authority+sa') rspec_node['boot_state'] = node['boot_state'] rspec_node['exclusive'] = 'False' - rspec_node['hardware_types'].append(HardwareType({'name': 'plab-vserver'})) + rspec_node['hardware_types']= [HardwareType({'name': 'plab-vserver'})] # only doing this because protogeni rspec needs # to advertise available initscripts rspec_node['pl_initscripts'] = pl_initscripts.values() @@ -210,7 +210,7 @@ class Aggregate: # slivers always provide the ssh service login = Login({'authentication': 'ssh-keys', 'hostname': node['hostname'], 'port':'22'}) service = Services({'login': login}) - rspec_node['services'].append(service) + rspec_node['services'] = [service] rspec_nodes.append(rspec_node) return rspec_nodes @@ -226,8 +226,8 @@ class Aggregate: slice, slivers = self.get_slice_and_slivers(slice_xrn) rspec = RSpec(version=rspec_version, user_options=self.user_options) - if slice and 'expiration_date' in slice: - rspec.set('expires', epochparse(slice['expiration_date'])) + if slice and 'expires' in slice: + rspec.xml.set('expires', epochparse(slice['expires'])) rspec.version.add_nodes(self.get_nodes(slice, slivers)) rspec.version.add_links(self.get_links(slice)) diff --git a/sfa/rspecs/elements/versions/pgv2Services.py b/sfa/rspecs/elements/versions/pgv2Services.py index 5a7c70fa..9eb1ed9a 100644 --- a/sfa/rspecs/elements/versions/pgv2Services.py +++ b/sfa/rspecs/elements/versions/pgv2Services.py @@ -6,6 +6,9 @@ from sfa.rspecs.elements.login import Login class PGv2Services: @staticmethod def add_services(xml, services): + if not services: + return + for service in services: service_elem = xml.add_element('services') Element.add_elements(service_elem, 'install', service.get('install', []), Install.fields) diff --git a/sfa/rspecs/elements/versions/sfav1Sliver.py b/sfa/rspecs/elements/versions/sfav1Sliver.py index 60456063..22989f9a 100644 --- a/sfa/rspecs/elements/versions/sfav1Sliver.py +++ b/sfa/rspecs/elements/versions/sfav1Sliver.py @@ -7,6 +7,8 @@ class SFAv1Sliver: @staticmethod def add_slivers(xml, slivers): + if not slivers: + return if not isinstance(slivers, list): slivers = [slivers] for sliver in slivers: -- 2.47.0