diff options
Diffstat (limited to 'puppet-barometer/manifests/keystone/auth.pp')
-rw-r--r-- | puppet-barometer/manifests/keystone/auth.pp | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/puppet-barometer/manifests/keystone/auth.pp b/puppet-barometer/manifests/keystone/auth.pp new file mode 100644 index 00000000..655b2c60 --- /dev/null +++ b/puppet-barometer/manifests/keystone/auth.pp @@ -0,0 +1,99 @@ +# == Class: barometer::keystone::auth +# +# Configures barometer user, service and endpoint in Keystone. +# +# === Parameters +# +# [*password*] +# (required) Password for barometer user. +# +# [*ensure*] +# (optional) Ensure state of keystone service identity. Defaults to 'present'. +# +# [*auth_name*] +# Username for barometer service. Defaults to 'barometer'. +# +# [*email*] +# Email for barometer user. Defaults to 'barometer@localhost'. +# +# [*tenant*] +# Tenant for barometer user. Defaults to 'services'. +# +# [*configure_endpoint*] +# Should barometer endpoint be configured? Defaults to 'true'. +# +# [*configure_user*] +# (Optional) Should the service user be configured? +# Defaults to 'true'. +# +# [*configure_user_role*] +# (Optional) Should the admin role be configured for the service user? +# Defaults to 'true'. +# +# [*service_type*] +# Type of service. Defaults to 'key-manager'. +# +# [*region*] +# Region for endpoint. Defaults to 'RegionOne'. +# +# [*service_name*] +# (optional) Name of the service. +# Defaults to the value of 'barometer'. +# +# [*service_description*] +# (optional) Description of the service. +# Default to 'barometer NFV Service' +# +# [*public_url*] +# (optional) The endpoint's public url. (Defaults to 'http://127.0.0.1:9890') +# This url should *not* contain any trailing '/'. +# +# [*admin_url*] +# (optional) The endpoint's admin url. (Defaults to 'http://127.0.0.1:9890') +# This url should *not* contain any trailing '/'. +# +# [*internal_url*] +# (optional) The endpoint's internal url. (Defaults to 'http://127.0.0.1:9890') +# +class barometer::keystone::auth ( + $password, + $ensure = 'present', + $auth_name = 'barometer', + $email = 'barometer@localhost', + $tenant = 'services', + $configure_endpoint = true, + $configure_user = true, + $configure_user_role = true, + $service_name = 'barometer', + $service_description = 'barometer NFV Service', + $service_type = 'nfv-orchestration', + $region = 'RegionOne', + $public_url = 'http://127.0.0.1:9890', + $admin_url = 'http://127.0.0.1:9890', + $internal_url = 'http://127.0.0.1:9890', +) { + + if $configure_user_role { + Keystone_user_role["${auth_name}@${tenant}"] ~> Service <| name == 'barometer-server' |> + } + Keystone_endpoint["${region}/${service_name}::${service_type}"] ~> Service <| name == 'barometer-server' |> + + keystone::resource::service_identity { 'barometer': + ensure => $ensure, + configure_user => $configure_user, + configure_user_role => $configure_user_role, + configure_endpoint => $configure_endpoint, + service_name => $service_name, + service_type => $service_type, + service_description => $service_description, + region => $region, + auth_name => $auth_name, + password => $password, + email => $email, + tenant => $tenant, + public_url => $public_url, + internal_url => $internal_url, + admin_url => $admin_url, + } + +} |