diff --git a/manifests/compute/ironic.pp b/manifests/compute/ironic.pp index 2924a029f..52bb37596 100644 --- a/manifests/compute/ironic.pp +++ b/manifests/compute/ironic.pp @@ -4,43 +4,58 @@ # # === Parameters: # -# [*admin_user*] -# Admin username +# [*admin_username*] # The admin username for Ironic to connect to Nova. # Defaults to 'admin' # -# [*admin_passwd*] -# Admin password +# [*admin_password*] # The admin password for Ironic to connect to Nova. # Defaults to 'ironic' # # [*admin_url*] -# Admin url # The address of the Keystone api endpoint. # Defaults to 'http://127.0.0.1:35357/v2.0' # # [*admin_tenant_name*] -# Admin tenant name # The Ironic Keystone tenant name. # Defaults to 'services' # # [*api_endpoint*] -# Api endpoint # The url for Ironic api endpoint. # Defaults to 'http://127.0.0.1:6385/v1' # +# [*admin_user*] +# (optional) DEPRECATED: Use admin_username instead. +# +# [*admin_passwd*] +# (optional) DEPRECATED: Use admin_password instead. +# class nova::compute::ironic ( - $admin_user = 'admin', - $admin_passwd = 'ironic', + $admin_username = 'admin', + $admin_password = 'ironic', $admin_url = 'http://127.0.0.1:35357/v2.0', $admin_tenant_name = 'services', $api_endpoint = 'http://127.0.0.1:6385/v1', + # DEPRECATED PARAMETERS + $admin_user = undef, + $admin_passwd = undef, ) { + if $admin_user { + warning('The admin_user parameter is deprecated, use admin_username instead.') + } + + if $admin_passwd { + warning('The admin_passwd parameter is deprecated, use admin_password instead.') + } + + $admin_username_real = pick($admin_user, $admin_username) + $admin_password_real = pick($admin_passwd, $admin_password) + nova_config { - 'ironic/admin_username': value => $admin_user; - 'ironic/admin_password': value => $admin_passwd; + 'ironic/admin_username': value => $admin_username_real; + 'ironic/admin_password': value => $admin_password_real; 'ironic/admin_url': value => $admin_url; 'ironic/admin_tenant_name': value => $admin_tenant_name; 'ironic/api_endpoint': value => $api_endpoint; diff --git a/spec/classes/nova_compute_ironic_spec.rb b/spec/classes/nova_compute_ironic_spec.rb index e4c5147bd..d5433f753 100644 --- a/spec/classes/nova_compute_ironic_spec.rb +++ b/spec/classes/nova_compute_ironic_spec.rb @@ -1,4 +1,5 @@ require 'spec_helper' + describe 'nova::compute::ironic' do it 'configures ironic in nova.conf' do @@ -10,4 +11,16 @@ describe 'nova::compute::ironic' do is_expected.to contain_nova_config('DEFAULT/compute_driver').with_value('nova.virt.ironic.IronicDriver') end + context 'with deprecated parameters' do + + let :params do + {:admin_user => 'ironic-user', + :admin_passwd => 'ironic-s3cr3t'} + end + + it 'configures ironic in nova.conf' do + is_expected.to contain_nova_config('ironic/admin_username').with_value('ironic-user') + is_expected.to contain_nova_config('ironic/admin_password').with_value('ironic-s3cr3t') + end + end end