server_version = self.get_cached_server_version(server)
if 'sfa' in server_version:
# just request the version the client wants
- options['rspec_version'] = version_manager.get_version(opts.rspec_version).to_dict()
+ options['geni_rspec_version'] = version_manager.get_version(opts.rspec_version).to_dict()
else:
# this must be a protogeni aggregate. We should request a v2 ad rspec
# regardless of what the client user requested
- options['rspec_version'] = version_manager.get_version('ProtoGENI 2').to_dict()
-
+ options['geni_rspec_version'] = version_manager.get_version('ProtoGENI 2').to_dict()
+ options['geni_rspec_version'] = {'type': 'geni', 'version': '3.0'}
+
call_args = [creds, options]
result = server.ListResources(*call_args)
value = ReturnValue.get_value(result)
version_manager = VersionManager()
# get the rspec's return format from options
- rspec_version = version_manager.get_version(options.get('rspec_version'))
+ rspec_version = version_manager.get_version(options.get('geni_rspec_version'))
version_string = "rspec_%s" % (rspec_version)
#panos adding the info option to the caching key (can be improved)
from sfa.util.xrn import urn_to_hrn
from sfa.util.method import Method
from sfa.util.sfatablesRuntime import run_sfatables
-from sfa.util.faults import InvalidRSpecVersion
+from sfa.util.faults import SfaInvalidArgument
from sfa.trust.credential import Credential
from sfa.storage.parameter import Parameter, Mixed
self.api.logger.info("interface: %s\tmethod-name: %s" % (self.api.interface, self.name))
# client must specify a version
- if not options.get('rspec_version'):
- raise InvalidRSpecVersion('Must specify an rspec version option. rspec_version cannot be null')
+ if not options.get('geni_rspec_version'):
+ raise SfaInvalidArgument('Must specify an rspec version option. geni_rspec_version cannot be null')
# get slice's hrn from options
xrn = options.get('geni_slice_urn', '')
import os
-from sfa.util.faults import InvalidRSpec, InvalidRSpecVersion
+from sfa.util.faults import InvalidRSpec, UnsupportedRSpecVersion
from sfa.rspecs.baseversion import BaseVersion
from sfa.util.sfalogging import logger
or version.content_type == '*':
retval = version
if not retval:
- raise InvalidRSpecVersion("No such version: %s %s %s "% (type, version_num, content_type))
+ raise UnvalidRSpecVersion("%s %s is not suported here"% (type, version_num, content_type))
return retval
def get_version(self, version=None):
def __str__(self):
return repr(self.value)
+class UnsupportedRSpecVersion(SfaFault):
+ def __init__(self, value, extra = None):
+ self.value = value
+ faultString = "Unsupported RSpec version: %(value)s" % locals()
+ SfaFault.__init__(self, GENICODE.UNSUPPORTED, faultString, extra)
+ def __str__(self):
+ return repr(self.value)
+
class InvalidRSpecElement(SfaFault):
def __init__(self, value, extra = None):
self.value = value