From 9aa994c9a46cff369c90364dd6ea9bbc055f0fbd Mon Sep 17 00:00:00 2001
From: Juan Antonio Osorio Robles <jaosorior@redhat.com>
Date: Fri, 6 Oct 2017 16:04:14 +0300
Subject: [PATCH] Configure *_domain_name to Default by default

Keystone v2.0 API was removed so we have no choice but configuring
user_domain_name and project_domain_name otherwise it fallbacks to
Keystone v2.0 and it fails. This patch sets the default value so we make
sure Keystone v3 will be used out of the box for our users.

Change-Id: I27631d4c6a81e7fa50b2f5154d87d0def8e3a875
Co-Authored-By: Harry Rybacki <hrybacki@redhat.com>
---
 manifests/keystone/authtoken.pp                         | 8 ++++----
 releasenotes/notes/default-domain-9dfa58f4f4cfc425.yaml | 6 ++++++
 spec/classes/barbican_keystone_authtoken_spec.rb        | 4 ++--
 3 files changed, 12 insertions(+), 6 deletions(-)
 create mode 100644 releasenotes/notes/default-domain-9dfa58f4f4cfc425.yaml

diff --git a/manifests/keystone/authtoken.pp b/manifests/keystone/authtoken.pp
index 8a957b50..f98c0f36 100644
--- a/manifests/keystone/authtoken.pp
+++ b/manifests/keystone/authtoken.pp
@@ -22,11 +22,11 @@
 #
 # [*user_domain_name*]
 #   (Optional) Name of domain for $username
-#   Defaults to $::os_service_default
+#   Defaults to 'Default'
 #
 # [*project_domain_name*]
 #   (Optional) Name of domain for $project_name
-#   Defaults to $::os_service_default
+#   Defaults to 'Default'
 #
 # [*insecure*]
 #   (Optional) If true, explicitly allow TLS without checking server cert
@@ -192,8 +192,8 @@ class barbican::keystone::authtoken(
   $username                       = 'barbican',
   $auth_url                       = 'http://localhost:35357',
   $project_name                   = 'services',
-  $user_domain_name               = $::os_service_default,
-  $project_domain_name            = $::os_service_default,
+  $user_domain_name               = 'Default',
+  $project_domain_name            = 'Default',
   $insecure                       = $::os_service_default,
   $auth_section                   = $::os_service_default,
   $auth_type                      = 'password',
diff --git a/releasenotes/notes/default-domain-9dfa58f4f4cfc425.yaml b/releasenotes/notes/default-domain-9dfa58f4f4cfc425.yaml
new file mode 100644
index 00000000..7394505c
--- /dev/null
+++ b/releasenotes/notes/default-domain-9dfa58f4f4cfc425.yaml
@@ -0,0 +1,6 @@
+---
+issues:
+  - |
+    Keystone v2.0 API was removed so we need to set a default value
+    for user_domain_name and project_domain name, which will be
+    Default as it is already in some other classes in modules.
diff --git a/spec/classes/barbican_keystone_authtoken_spec.rb b/spec/classes/barbican_keystone_authtoken_spec.rb
index 2a7b4a63..dc37c401 100644
--- a/spec/classes/barbican_keystone_authtoken_spec.rb
+++ b/spec/classes/barbican_keystone_authtoken_spec.rb
@@ -34,8 +34,8 @@ describe 'barbican::keystone::authtoken' do
         is_expected.to contain_barbican_config('keystone_authtoken/password').with_value('barbican_password')
         is_expected.to contain_barbican_config('keystone_authtoken/auth_url').with_value('http://localhost:35357')
         is_expected.to contain_barbican_config('keystone_authtoken/project_name').with_value('services')
-        is_expected.to contain_barbican_config('keystone_authtoken/user_domain_name').with_value('<SERVICE DEFAULT>')
-        is_expected.to contain_barbican_config('keystone_authtoken/project_domain_name').with_value('<SERVICE DEFAULT>')
+        is_expected.to contain_barbican_config('keystone_authtoken/user_domain_name').with_value('Default')
+        is_expected.to contain_barbican_config('keystone_authtoken/project_domain_name').with_value('Default')
         is_expected.to contain_barbican_config('keystone_authtoken/insecure').with_value('<SERVICE DEFAULT>')
         is_expected.to contain_barbican_config('keystone_authtoken/auth_section').with_value('<SERVICE DEFAULT>')
         is_expected.to contain_barbican_config('keystone_authtoken/auth_type').with_value('password')