From: Tony Mack Date: Fri, 11 Nov 2011 06:23:15 +0000 (-0500) Subject: fix errors X-Git-Tag: sfa-1.1-3~29 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=172bcefd011823a787f07443db2982f2f7b3438c;p=sfa.git fix errors --- 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: