From 5ffad5c84390fc7de2ff1c088e3dbdb995a9d6e9 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Wed, 5 Dec 2012 14:24:48 -0500 Subject: [PATCH] Provision requires the geni_rspec_version option --- sfa/client/sfi.py | 5 +++++ sfa/managers/aggregate_manager.py | 5 +++-- sfa/openstack/nova_driver.py | 5 +++-- 3 files changed, 11 insertions(+), 4 deletions(-) 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 -- 2.47.0