Move barbican's database creation to mysql profile
authorJuan Antonio Osorio Robles <jaosorior@redhat.com>
Tue, 15 Aug 2017 16:52:07 +0000 (19:52 +0300)
committerEmilien Macchi <emilien@redhat.com>
Thu, 17 Aug 2017 05:24:49 +0000 (05:24 +0000)
This makes sure that the database creation is only executed on the mysql
profile (or container if that's enabled), and stops the conflicts and
errors that were happening when barbican was deployed in containerized
environments.

Change-Id: Ib5c99482f62397fc5fb79a9dc537dfb06ee7f4df
Closes-Bug: #1710928

manifests/profile/base/barbican/api.pp
manifests/profile/base/database/mysql.pp
spec/classes/tripleo_profile_base_barbican_api_spec.rb

index 40a0a99..48bf4b8 100644 (file)
@@ -129,10 +129,6 @@ class tripleo::profile::base::barbican::api (
 
   include ::tripleo::profile::base::barbican
 
-  if $step >= 3 and $sync_db {
-    include ::barbican::db::mysql
-  }
-
   if $step >= 4 or ( $step >= 3 and $sync_db ) {
     $oslomsg_use_ssl_real = sprintf('%s', bool2num(str2bool($oslomsg_use_ssl)))
     class { '::barbican::api':
index 7e7d68b..7bb8c74 100644 (file)
@@ -171,6 +171,9 @@ class tripleo::profile::base::database::mysql (
     if hiera('cinder_api_enabled', false) {
       include ::cinder::db::mysql
     }
+    if hiera('barbican_api_enabled', false) {
+      include ::barbican::db::mysql
+    }
     if hiera('congress_enabled', false) {
       include ::congress::db::mysql
     }
index 169642e..881cc0a 100644 (file)
@@ -45,7 +45,6 @@ describe 'tripleo::profile::base::barbican::api' do
       it 'should trigger complete configuration' do
         is_expected.to contain_class('tripleo::profile::base::barbican::api')
         is_expected.to contain_class('tripleo::profile::base::barbican')
-        is_expected.to contain_class('barbican::db::mysql')
         is_expected.to contain_class('barbican::db::sync')
         is_expected.to contain_class('barbican::api')
         is_expected.to contain_class('barbican::api::logging')
@@ -64,7 +63,6 @@ describe 'tripleo::profile::base::barbican::api' do
       it 'should not trigger any configuration' do
         is_expected.to contain_class('tripleo::profile::base::barbican::api')
         is_expected.to contain_class('tripleo::profile::base::barbican')
-        is_expected.to_not contain_class('barbican::db::mysql')
         is_expected.to_not contain_class('barbican::db::sync')
         is_expected.to_not contain_class('barbican::api')
         is_expected.to_not contain_class('barbican::api::logging')
@@ -81,7 +79,6 @@ describe 'tripleo::profile::base::barbican::api' do
       } }
 
       it 'should trigger complete configuration with out db items' do
-        is_expected.to_not contain_class('barbican::db::mysql')
         # TODO(aschultz): barbican::api includes this automatically
         #is_expected.to_not contain_class('barbican::db::sync')
         is_expected.to contain_class('barbican::api')