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)