From: nanhai.liao Date: Tue, 29 Dec 2015 06:53:32 +0000 (+0800) Subject: Use identity_uri and auth_uri by default X-Git-Tag: 8.0.0-rc1^2~1 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=dd09f26048492dbc6cc19b6053cec50f87ce7602;p=puppet-modules%2Fpuppet-ceilometer.git Use identity_uri and auth_uri by default Change-Id: If7cf7412df7666e0787dfc01abe48fddabdcb5ef Closes-bug: #1528963 --- diff --git a/manifests/api.pp b/manifests/api.pp index 7c696a6..92cc103 100644 --- a/manifests/api.pp +++ b/manifests/api.pp @@ -14,24 +14,6 @@ # (optional) The name of the auth user # Defaults to ceilometer # -# [*keystone_host*] -# (optional) DEPRECATED. Keystone's admin endpoint IP/Host. -# Defaults to '127.0.0.1' -# -# [*keystone_port*] -# (optional) DEPRECATED. Keystone's admin endpoint port. -# Defaults to 35357 -# -# [*keystone_auth_admin_prefix*] -# (optional) DEPRECATED. 'path' to the keystone admin endpoint. -# Define to a path starting with a '/' and without trailing '/'. -# Eg.: '/keystone/admin' to match keystone::wsgi::apache default. -# Defaults to false (empty) -# -# [*keystone_protocol*] -# (optional) DEPRECATED. 'http' or 'https' -# Defaults to 'https'. -# # [*keytone_user*] # (optional) User to authenticate with. # Defaults to 'ceilometer'. @@ -46,11 +28,11 @@ # # [*keystone_auth_uri*] # (optional) Public Identity API endpoint. -# Defaults to 'false'. +# Defaults to 'http://127.0.0.1:5000/'. # # [*keystone_identity_uri*] # (optional) Complete admin Identity API endpoint. -# Defaults to: false +# Defaults to: 'http://127.0.0.1:35357/' # # [*host*] # (optional) The ceilometer api bind address. @@ -84,17 +66,12 @@ class ceilometer::api ( $keystone_user = 'ceilometer', $keystone_tenant = 'services', $keystone_password = false, - $keystone_auth_uri = false, - $keystone_identity_uri = false, + $keystone_auth_uri = 'http://127.0.0.1:5000/', + $keystone_identity_uri = 'http://127.0.0.1:35357/', $host = '0.0.0.0', $port = '8777', $service_name = $::ceilometer::params::api_service_name, $api_workers = $::os_service_default, - # DEPRECATED PARAMETERS - $keystone_host = '127.0.0.1', - $keystone_port = '35357', - $keystone_auth_admin_prefix = false, - $keystone_protocol = 'http', ) inherits ceilometer::params { include ::ceilometer::params @@ -158,80 +135,9 @@ class ceilometer::api ( 'api/port' : value => $port; } - # if both auth_uri and identity_uri are set we skip these deprecated settings entirely - if !$keystone_auth_uri or !$keystone_identity_uri { - - if $keystone_auth_admin_prefix { - validate_re($keystone_auth_admin_prefix, '^(/.+[^/])?$') - warning('The keystone_auth_admin_prefix parameter is deprecated. Please use keystone_auth_uri and keystone_identity_uri instead.') - ceilometer_config { - 'keystone_authtoken/auth_admin_prefix': value => $keystone_auth_admin_prefix; - } - } else { - ceilometer_config { - 'keystone_authtoken/auth_admin_prefix': ensure => absent; - } - } - - if $keystone_host { - warning('The keystone_host parameter is deprecated. Please use keystone_auth_uri and keystone_identity_uri instead.') - ceilometer_config { - 'keystone_authtoken/auth_host': value => $keystone_host; - } - } else { - ceilometer_config { - 'keystone_authtoken/auth_host': ensure => absent; - } - } - - if $keystone_port { - warning('The keystone_port parameter is deprecated. Please use keystone_auth_uri and keystone_identity_uri instead.') - ceilometer_config { - 'keystone_authtoken/auth_port': value => $keystone_port; - } - } else { - ceilometer_config { - 'keystone_authtoken/auth_port': ensure => absent; - } - } - - if $keystone_protocol { - warning('The keystone_protocol parameter is deprecated. Please use keystone_auth_uri and keystone_identity_uri instead.') - ceilometer_config { - 'keystone_authtoken/auth_protocol': value => $keystone_protocol; - } - } else { - ceilometer_config { - 'keystone_authtoken/auth_protocol': ensure => absent; - } - } - } else { - ceilometer_config { - 'keystone_authtoken/auth_host' : ensure => absent; - 'keystone_authtoken/auth_port' : ensure => absent; - 'keystone_authtoken/auth_protocol' : ensure => absent; - 'keystone_authtoken/auth_admin_prefix' : ensure => absent; - } - } - - if $keystone_auth_uri { - $keystone_auth_uri_real = $keystone_auth_uri - } elsif $keystone_host and $keystone_protocol { - $keystone_auth_uri_real = "${keystone_protocol}://${keystone_host}:5000/" - } - ceilometer_config { - 'keystone_authtoken/auth_uri': value => $keystone_auth_uri_real; - } - - if $keystone_identity_uri { - ceilometer_config { - 'keystone_authtoken/identity_uri': value => $keystone_identity_uri; - } - } else { - ceilometer_config { - 'keystone_authtoken/identity_uri': ensure => absent; - } + 'keystone_authtoken/auth_uri' : value => $keystone_auth_uri; + 'keystone_authtoken/identity_uri' : value => $keystone_identity_uri; } } diff --git a/spec/classes/ceilometer_api_spec.rb b/spec/classes/ceilometer_api_spec.rb index eb6c894..2471cf2 100644 --- a/spec/classes/ceilometer_api_spec.rb +++ b/spec/classes/ceilometer_api_spec.rb @@ -10,9 +10,6 @@ describe 'ceilometer::api' do let :params do { :enabled => true, :manage_service => true, - :keystone_host => '127.0.0.1', - :keystone_port => '35357', - :keystone_protocol => 'http', :keystone_user => 'ceilometer', :keystone_password => 'ceilometer-passw0rd', :keystone_tenant => 'services', @@ -41,43 +38,17 @@ describe 'ceilometer::api' do end it 'configures keystone authentication middleware' do - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_host').with_value( params[:keystone_host] ) - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_port').with_value( params[:keystone_port] ) - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_protocol').with_value( params[:keystone_protocol] ) is_expected.to contain_ceilometer_config('keystone_authtoken/admin_tenant_name').with_value( params[:keystone_tenant] ) is_expected.to contain_ceilometer_config('keystone_authtoken/admin_user').with_value( params[:keystone_user] ) is_expected.to contain_ceilometer_config('keystone_authtoken/admin_password').with_value( params[:keystone_password] ) is_expected.to contain_ceilometer_config('keystone_authtoken/admin_password').with_value( params[:keystone_password] ).with_secret(true) - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_admin_prefix').with_ensure('absent') - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_uri').with_value( params[:keystone_protocol] + "://" + params[:keystone_host] + ":5000/" ) + is_expected.to contain_ceilometer_config('keystone_authtoken/auth_uri').with_value("http://127.0.0.1:5000/") + is_expected.to contain_ceilometer_config('keystone_authtoken/identity_uri').with_value("http://127.0.0.1:35357/") is_expected.to contain_ceilometer_config('api/host').with_value( params[:host] ) is_expected.to contain_ceilometer_config('api/port').with_value( params[:port] ) is_expected.to contain_ceilometer_config('DEFAULT/api_workers').with_value('') end - context 'when specifying keystone_auth_admin_prefix' do - describe 'with a correct value' do - before { params['keystone_auth_admin_prefix'] = '/keystone/admin' } - it { is_expected.to contain_ceilometer_config('keystone_authtoken/auth_admin_prefix').with_value('/keystone/admin') } - end - - [ - '/keystone/', - 'keystone/', - 'keystone', - '/keystone/admin/', - 'keystone/admin/', - 'keystone/admin' - ].each do |auth_admin_prefix| - describe "with an incorrect value #{auth_admin_prefix}" do - before { params['keystone_auth_admin_prefix'] = auth_admin_prefix } - - it { expect { is_expected.to contain_ceilomete_config('keystone_authtoken/auth_admin_prefix') }.to \ - raise_error(Puppet::Error, /validate_re\(\): "#{auth_admin_prefix}" does not match/) } - end - end - end - [{:enabled => true}, {:enabled => false}].each do |param_hash| context "when service should be #{param_hash[:enabled] ? 'enabled' : 'disabled'}" do before do @@ -190,56 +161,19 @@ describe 'ceilometer::api' do it_configures 'ceilometer-api' end - describe 'with custom auth_uri' do - let :facts do - @default_facts.merge({ :osfamily => 'RedHat' }) - end - before do - params.merge!({ - :keystone_auth_uri => 'https://foo.bar:1234/', - }) - end - it 'should configure custom auth_uri correctly' do - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_uri').with_value( 'https://foo.bar:1234/' ) - end - end - - describe "with custom keystone identity_uri" do - let :facts do - @default_facts.merge({ :osfamily => 'RedHat' }) - end - before do - params.merge!({ - :keystone_identity_uri => 'https://foo.bar:1234/', - }) - end - it 'configures identity_uri' do - is_expected.to contain_ceilometer_config('keystone_authtoken/identity_uri').with_value("https://foo.bar:1234/"); - # since only auth_uri is set the deprecated auth parameters should - # still get set in case they are still in use - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_host').with_value('127.0.0.1'); - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_port').with_value('35357'); - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_protocol').with_value('http'); - end - end - describe "with custom keystone identity_uri and auth_uri" do let :facts do @default_facts.merge({ :osfamily => 'RedHat' }) end before do - params.merge!({ + params.merge!({ :keystone_identity_uri => 'https://foo.bar:35357/', - :keystone_auth_uri => 'https://foo.bar:5000/v2.0/', + :keystone_auth_uri => 'https://foo.bar:5000/', }) end it 'configures identity_uri and auth_uri but deprecates old auth settings' do is_expected.to contain_ceilometer_config('keystone_authtoken/identity_uri').with_value("https://foo.bar:35357/"); - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_uri').with_value("https://foo.bar:5000/v2.0/"); - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_admin_prefix').with(:ensure => 'absent') - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_port').with(:ensure => 'absent') - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_protocol').with(:ensure => 'absent') - is_expected.to contain_ceilometer_config('keystone_authtoken/auth_host').with(:ensure => 'absent') + is_expected.to contain_ceilometer_config('keystone_authtoken/auth_uri').with_value("https://foo.bar:5000/"); end end