summaryrefslogtreecommitdiffstats
path: root/puppet-barometer/manifests/keystone/auth.pp
diff options
context:
space:
mode:
Diffstat (limited to 'puppet-barometer/manifests/keystone/auth.pp')
-rw-r--r--puppet-barometer/manifests/keystone/auth.pp99
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,
+ }
+
+}