#self.caching=True
self.caching=False
- def GetVersion(self, api):
+ def GetVersion(self, api, options={}):
version_manager = VersionManager()
ad_rspec_versions = []
ad_rspec_versions.append(rspec_version.to_dict())
if rspec_version.content_type in ['*', 'request']:
request_rspec_versions.append(rspec_version.to_dict())
- default_rspec_version = version_manager.get_version("sfa 1").to_dict()
xrn=Xrn(api.hrn)
version_more = {'interface':'aggregate',
+ 'sfa': 1,
+ 'geni_api': api.config.SFA_AGGREGATE_API_VERSION,
'testbed':'myplc',
'hrn':xrn.get_hrn(),
- 'request_rspec_versions': request_rspec_versions,
- 'ad_rspec_versions': ad_rspec_versions,
- 'default_ad_rspec': default_rspec_version
+ 'geni_request_rspec_versions': request_rspec_versions,
+ 'geni_ad_rspec_versions': ad_rspec_versions,
}
return version_core(version_more)
return reg_objects
- def SliverStatus(self, api, slice_xrn, creds, call_id):
+ def SliverStatus(self, api, slice_xrn, creds, options={}):
+ call_id = options.get('call_id')
if Callids().already_handled(call_id): return {}
(hrn, _) = urn_to_hrn(slice_xrn)
result['geni_resources'] = resources
return result
- def CreateSliver(self, api, slice_xrn, creds, rspec_string, users, call_id):
+ def CreateSliver(self, api, slice_xrn, creds, rspec_string, users, options={}):
"""
Create the sliver[s] (slice) at this aggregate.
Verify HRN and initialize the slice record in PLC if necessary.
"""
+ call_id = options.get('call_id')
if Callids().already_handled(call_id): return ""
aggregate = Aggregate(api)
return aggregate.get_rspec(slice_xrn=slice_xrn, version=rspec.version)
- def RenewSliver(self, api, xrn, creds, expiration_time, call_id):
+ def RenewSliver(self, api, xrn, creds, expiration_time, options={}):
+ call_id = options.get('call_id')
if Callids().already_handled(call_id): return True
(hrn, _) = urn_to_hrn(xrn)
slicename = hrn_to_pl_slicename(hrn)
# XX not implemented at this interface
return 1
- def DeleteSliver(self, api, xrn, creds, call_id):
+ def DeleteSliver(self, api, xrn, creds, options={}):
+ call_id = options.get('call_id')
if Callids().already_handled(call_id): return ""
(hrn, _) = urn_to_hrn(xrn)
slicename = hrn_to_pl_slicename(hrn)
api.driver.BindObjectToPeer('slice', slice['slice_id'], peer, slice['peer_slice_id'])
return 1
- def ListSlices(self, api, creds, call_id):
+ def ListSlices(self, api, creds, options={}):
+ call_id = options.get('call_id')
if Callids().already_handled(call_id): return []
# look in cache first
if self.caching and api.cache:
return slice_urns
- def ListResources(self, api, creds, options, call_id):
+ def ListResources(self, api, creds, options={}):
+ call_id = options.get('call_id')
if Callids().already_handled(call_id): return ""
# get slice's hrn from options
xrn = options.get('geni_slice_urn', None)
+ cached = options.get('cached', True)
(hrn, _) = urn_to_hrn(xrn)
version_manager = VersionManager()
version_string = version_string + "_"+options.get('info', 'default')
# look in cache first
- if self.caching and api.cache and not xrn:
+ if self.caching and api.cache and not xrn and cached:
rspec = api.cache.get(version_string)
if rspec:
api.logger.info("aggregate.ListResources: returning cached value for hrn %s"%hrn)
#panos: passing user-defined options
#print "manager options = ",options
- aggregate = Aggregate(api, options)
- rspec = aggregate.get_rspec(slice_xrn=xrn, version=rspec_version)
+ aggregate = Aggregate(api)
+ rspec = aggregate.get_rspec(slice_xrn=xrn, version=rspec_version, options=options)
# cache the result
if self.caching and api.cache and not xrn:
return rspec
- def GetTicket(self, api, xrn, creds, rspec, users):
+ def GetTicket(self, api, xrn, creds, rspec, users, options={}):
(slice_hrn, _) = urn_to_hrn(xrn)
slices = Slices(api)