def ListResources(api, creds, options,call_id):
if Callids().already_handled(call_id): return ""
# get slice's hrn from options
- xrn = options.get('geni_slice_urn', '')
+ xrn = options.get('geni_slice_urn', None)
(hrn, type) = urn_to_hrn(xrn)
version_manager = VersionManager()
#panos: passing user-defined options
#print "manager options = ",options
aggregate = Aggregate(api, options)
-
rspec = aggregate.get_rspec(slice_xrn=xrn, version=rspec_version)
# cache the result
results = threads.get_results()
rspec_version = version_manager.get_version(options.get('rspec_version'))
- manifest_version = version_manager._get_version(rspec_version.type, rspec_version.version, 'manifest')
- rspec = RSpec(version=manifest_version)
+ if xrn:
+ result_version = version_manager._get_version(rspec_version.type, rspec_version.version, 'manifest')
+ else:
+ result_version = version_manager._get_version(rspec_version.type, rspec_version.version, 'ad')
+ rspec = RSpec(version=result_version)
for result in results:
add_slicemgr_stat(rspec, "ListResources", result["aggregate"], result["elapsed"], result["status"])
if result["status"]=="success":
#from sfa.rspecs.pg_rspec import PGRSpec
#from sfa.rspecs.rspec_version import RSpecVersion
from sfa.rspecs.rspec import RSpec
+from sfa.rspecs.version_manager import VersionManager
class Aggregate:
def get_rspec(self, slice_xrn=None, version = None):
self.prepare()
- rspec = RSpec(version=version, user_options=self.user_options)
+ version_manager = VersionManager()
+ version = version_manager.get_version(version)
+ if not slice_xrn:
+ rspec_version = version_manager._get_version(version.type, version.version, 'ad')
+ else:
+ rspec_version = version_manager._get_version(version.type, version.version, 'manifest')
+
+ rspec = RSpec(version=rspec_version, user_options=self.user_options)
# get slice details if specified
slice = None
if slice_xrn: