X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmanagers%2Faggregate_manager.py;h=8b7364449f609af8f48147fac79874db2c4afe1f;hb=6a5b6854b1b43e1936cbde6493151a522be337da;hp=342cd19c933fcfaa5bd789f32300fc64e332ea10;hpb=7e1d7d63b6e65af7451c533fda704b14e327e48f;p=sfa.git diff --git a/sfa/managers/aggregate_manager.py b/sfa/managers/aggregate_manager.py index 342cd19c..8b736444 100644 --- a/sfa/managers/aggregate_manager.py +++ b/sfa/managers/aggregate_manager.py @@ -29,7 +29,8 @@ class AggregateManager: 'geni_ad_rspec_versions': ad_rspec_versions, } - def get_rspec_version_string(self, rspec_version, options={}): + def get_rspec_version_string(self, rspec_version, options=None): + if options is None: options={} version_string = "rspec_%s" % (rspec_version) #panos adding the info option to the caching key (can be improved) @@ -55,6 +56,7 @@ class AggregateManager: version_generic = { 'testbed': api.driver.testbed_name(), 'interface':'aggregate', + 'sfa': 3, 'hrn':xrn.get_hrn(), 'urn':xrn.get_urn(), 'geni_api': 3, @@ -62,6 +64,7 @@ class AggregateManager: 'geni_single_allocation': 0, # Accept operations that act on as subset of slivers in a given state. 'geni_allocate': 'geni_many',# Multiple slivers can exist and be incrementally added, including those which connect or overlap in some way. 'geni_credential_types': cred_types, + 'geni_handles_speaksfor': True, # supports 'speaks for' credentials } version.update(version_generic) version.update(self.rspec_versions()) @@ -144,14 +147,17 @@ class AggregateManager: def Renew(self, api, xrns, creds, expiration_time, options): call_id = options.get('call_id') if Callids().already_handled(call_id): return True + return api.driver.renew(xrns, expiration_time, options) - def PerformOperationalAction(self, api, xrns, creds, action, options={}): + def PerformOperationalAction(self, api, xrns, creds, action, options=None): + if options is None: options={} call_id = options.get('call_id') if Callids().already_handled(call_id): return True return api.driver.perform_operational_action(xrns, action, options) - def Shutdown(self, api, xrn, creds, options={}): + def Shutdown(self, api, xrn, creds, options=None): + if options is None: options={} call_id = options.get('call_id') if Callids().already_handled(call_id): return True return api.driver.shutdown(xrn, options)