From bccf7a3959d0103508a272f04c38eb91a65ee113 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Tue, 14 Apr 2020 20:14:50 +0900 Subject: [PATCH] Refer keystone_authtoken instead of neutron to detect region ... because we generally use parameters under keystone_authtoken to find credentials. This patch also removes useless and incorrect handling about keystone version, so that domain parameters are correctly set. Change-Id: Ibfd489e977e8f8f52defecacc00cb8afcd1596a1 --- lib/puppet/provider/nova.rb | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/puppet/provider/nova.rb b/lib/puppet/provider/nova.rb index 23c023c82..76a6cfa7d 100644 --- a/lib/puppet/provider/nova.rb +++ b/lib/puppet/provider/nova.rb @@ -27,10 +27,8 @@ class Puppet::Provider::Nova < Puppet::Provider::Openstack @credentials.password = nova_credentials['password'] @credentials.project_name = nova_credentials['project_name'] @credentials.auth_url = auth_endpoint - if @credentials.version == '3' - @credentials.user_domain_name = nova_credentials['user_domain_name'] - @credentials.project_domain_name = nova_credentials['project_domain_name'] - end + @credentials.user_domain_name = nova_credentials['user_domain_name'] + @credentials.project_domain_name = nova_credentials['project_domain_name'] if nova_credentials['region_name'] @credentials.region_name = nova_credentials['region_name'] end @@ -88,19 +86,22 @@ class Puppet::Provider::Nova < Puppet::Provider::Openstack auth_keys.all?{|k| !conf['keystone_authtoken'][k].nil?} creds = Hash[ auth_keys.map \ { |k| [k, conf['keystone_authtoken'][k].strip] } ] - if conf['neutron'] and conf['neutron']['region_name'] - creds['region_name'] = conf['neutron']['region_name'].strip + if !conf['keystone_authtoken']['region_name'].nil? + creds['region_name'] = conf['keystone_authtoken']['region_name'].strip end + if !conf['keystone_authtoken']['project_domain_name'].nil? creds['project_domain_name'] = conf['keystone_authtoken']['project_domain_name'].strip else creds['project_domain_name'] = 'Default' end + if !conf['keystone_authtoken']['user_domain_name'].nil? creds['user_domain_name'] = conf['keystone_authtoken']['user_domain_name'].strip else creds['user_domain_name'] = 'Default' end + return creds else raise(Puppet::Error, "File: #{conf_filename} does not contain all " +