From a0f2e78d88178260a6b4d0416450b51f1d529e80 Mon Sep 17 00:00:00 2001 From: Clayton O'Neill Date: Mon, 3 Oct 2016 20:11:25 +0000 Subject: [PATCH] Fix region support for nova providers When some of the providers (like nova_aggregate) were moved over to openstacklib, region support was missing. This fixes the base provider code to pass region_name into openstacklib if region_name is set. Change-Id: I6953c10ceab708402ce25a23d1f8d20f3288cbad Closes-Bug: #1517220 Depends-On: I3345dac8bebd68f93290c1d45aa9a4d80bf3fb34 --- lib/puppet/provider/nova.rb | 3 +++ .../fix_region_name_in_providers-a0a3b7c579d163dc.yaml | 6 ++++++ spec/unit/provider/nova_spec.rb | 2 ++ 3 files changed, 11 insertions(+) create mode 100644 releasenotes/releasenotes/notes/fix_region_name_in_providers-a0a3b7c579d163dc.yaml diff --git a/lib/puppet/provider/nova.rb b/lib/puppet/provider/nova.rb index c05a378a1..134df89cf 100644 --- a/lib/puppet/provider/nova.rb +++ b/lib/puppet/provider/nova.rb @@ -31,6 +31,9 @@ class Puppet::Provider::Nova < Puppet::Provider::Openstack @credentials.user_domain_name = nova_credentials['user_domain_name'] @credentials.project_domain_name = nova_credentials['project_domain_name'] end + if nova_credentials['region_name'] + @credentials.region_name = nova_credentials['region_name'] + end raise error unless @credentials.set? Puppet::Provider::Openstack.request(service, action, properties, @credentials) end diff --git a/releasenotes/releasenotes/notes/fix_region_name_in_providers-a0a3b7c579d163dc.yaml b/releasenotes/releasenotes/notes/fix_region_name_in_providers-a0a3b7c579d163dc.yaml new file mode 100644 index 000000000..c20dfe885 --- /dev/null +++ b/releasenotes/releasenotes/notes/fix_region_name_in_providers-a0a3b7c579d163dc.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - When some of the nova providers (such as nova_aggregate) were switched over + to use the shared provider code in puppet-openstacklib, region support was + inadvertently dropped. This restores support for regions for all + providers. diff --git a/spec/unit/provider/nova_spec.rb b/spec/unit/provider/nova_spec.rb index 3f6ccf1bb..c286f6c71 100644 --- a/spec/unit/provider/nova_spec.rb +++ b/spec/unit/provider/nova_spec.rb @@ -15,6 +15,7 @@ describe Puppet::Provider::Nova do 'project_name' => 'admin_tenant', 'username' => 'admin', 'password' => 'password', + 'region_name' => 'Region1', } end @@ -72,6 +73,7 @@ describe Puppet::Provider::Nova do :OS_USERNAME => credential_hash['username'], :OS_PROJECT_NAME => credential_hash['project_name'], :OS_PASSWORD => credential_hash['password'], + :OS_REGION_NAME => credential_hash['region_name'], } klass.expects(:get_nova_credentials).with().returns(credential_hash) klass.expects(:withenv).with(authenv)