From: Tony Mack Date: Wed, 5 Dec 2012 19:24:48 +0000 (-0500) Subject: Provision requires the geni_rspec_version option X-Git-Tag: sfa-3.0-0~55 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=5ffad5c84390fc7de2ff1c088e3dbdb995a9d6e9;p=sfa.git Provision requires the geni_rspec_version option --- diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index 16a4878c..08737c3d 100644 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -1288,6 +1288,11 @@ or with an slice hrn, shows currently provisioned resources api_options = {} api_options ['call_id'] = unique_call_id() + + # set the requtested rspec version + version_manager = VersionManager() + rspec_version = version_manager._get_version('geni', '3.0').to_dict() + api_options['geni_rspec_version'] = rspec_version result = server.Provision([slice_urn], creds, api_options) value = ReturnValue.get_value(result) if self.options.raw: diff --git a/sfa/managers/aggregate_manager.py b/sfa/managers/aggregate_manager.py index 9960eec3..c0a8b656 100644 --- a/sfa/managers/aggregate_manager.py +++ b/sfa/managers/aggregate_manager.py @@ -125,10 +125,11 @@ class AggregateManager: # make sure geni_rspec_version is specified in options if 'geni_rspec_version' not in options: msg = 'geni_rspec_version is required and must be set in options struct' - raise SfaInvalidArgument('geni_rspec_version', msg + raise SfaInvalidArgument(msg, 'geni_rspec_version') # make sure we support the requested rspec version version_manager = VersionManager() - if not version_manager.get(options['geni_rspec_version']): + rspec_version = version_manager.get_version(options['geni_rspec_version']) + if not rspec_version: raise InvalidRSpecVersion(options['geni_rspec_version']) return self.driver.provision(xrns, options) diff --git a/sfa/openstack/nova_driver.py b/sfa/openstack/nova_driver.py index 369212d0..c3c9f54c 100644 --- a/sfa/openstack/nova_driver.py +++ b/sfa/openstack/nova_driver.py @@ -374,8 +374,9 @@ class NovaDriver(Driver): sliver_hrn = "%s.%s" % (self.driver.hrn, instance.id) sliver_ids.append(Xrn(sliver_hrn, type='sliver').urn) SliverAllocation.set_allocations(sliver_ids, 'geni_provisioned') - - return self.describe(urns, options=options) + version_manager = VersionManager() + rspec_version = version_manager.get_version(options['geni_rspec_version']) + return self.describe(urns, rspec_version, options=options) def delete (self, urns, options={}): # collect sliver ids so we can update sliver allocation states after