Declare the correct schmea (ad/manifest/request) for ProtoGENI rspecs
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Tue, 4 Oct 2011 19:53:38 +0000 (15:53 -0400)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Tue, 4 Oct 2011 19:53:38 +0000 (15:53 -0400)
sfa/managers/aggregate_manager_pl.py
sfa/managers/slice_manager_pl.py
sfa/plc/aggregate.py

index 2c2a696..3b82cb6 100644 (file)
@@ -301,7 +301,7 @@ def ListSlices(api, creds, call_id):
 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()
@@ -324,7 +324,6 @@ def ListResources(api, creds, options,call_id):
     #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
index d7d4e57..e8baada 100644 (file)
@@ -165,8 +165,11 @@ def ListResources(api, creds, options, call_id):
 
     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":
index c2c5d6a..a45cd2e 100644 (file)
@@ -5,6 +5,7 @@ from sfa.util.plxrn import *
 #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:
 
@@ -78,7 +79,14 @@ 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: