aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/profile
diff options
context:
space:
mode:
authorGiulio Fidente <gfidente@redhat.com>2016-04-22 16:45:56 +0200
committerGiulio Fidente <gfidente@redhat.com>2016-05-03 22:44:16 +0200
commite284e21405e9d50bfe114178a955918eddfbfaee (patch)
tree4448b29d791b67df2f06e002465118732a05d6d2 /manifests/profile
parent1b13c573641fd5ab2355faa3ecb89ad7ce1a76d3 (diff)
Move databases creation and sync with the role
This change moves the database creation and sync with the role profile, so that it's only executed when the role is enabled and by the role itself. It also calls the non-pacemaker profiles out of the 'step' conditional because the non-pacemaker profiles know how to deal with 'step' already. Change-Id: I6c752cb53090e7ef8e0319bade462f2453ed7660 Related-Bug: 1572952
Diffstat (limited to 'manifests/profile')
-rw-r--r--manifests/profile/base/database/schemas.pp132
-rw-r--r--manifests/profile/base/glance/registry.pp10
-rw-r--r--manifests/profile/base/keystone.pp10
-rw-r--r--manifests/profile/pacemaker/database/schemas.pp65
-rw-r--r--manifests/profile/pacemaker/glance.pp19
-rw-r--r--manifests/profile/pacemaker/keystone.pp17
6 files changed, 32 insertions, 221 deletions
diff --git a/manifests/profile/base/database/schemas.pp b/manifests/profile/base/database/schemas.pp
deleted file mode 100644
index 472a0f4..0000000
--- a/manifests/profile/base/database/schemas.pp
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# == Class: tripleo::profile::base::database::schemas
-#
-# OpenStack Database Schema profile for tripleo
-#
-# === Parameters
-#
-# [*step*]
-# (Optional) The current deployment step
-# Defaults to hiera('step')
-#
-# [*ceilometer_backend*]
-# (Optional) The backend used by ceilometer, usually either 'mysql'
-# or 'mongodb'
-# Defaults to hiera('ceilometer_backend')
-#
-# [*enable_aodh*]
-# (Optional) Whether to create schemas for Aodh
-# Defaults to true
-#
-# [*enable_ceilometer*]
-# (Optional) Whether to create schemas for Ceilometer
-# Defaults to true
-#
-# [*enable_cinder*]
-# (Optional) Whether to create schemas for Cinder
-# Defaults to true
-#
-# [*enable_heat*]
-# (Optional) Whether to create schemas for Heat
-# Defaults to true
-#
-# [*enable_keystone*]
-# (Optional) Whether to create schemas for Keystone
-# Defaults to true
-#
-# [*enable_glance*]
-# (Optional) Whether to create schemas for Glance
-# Defaults to true
-#
-# [*enable_gnocchi*]
-# (Optional) Whether to create schemas for Gnocchi
-# Defaults to true
-#
-# [*enable_nova*]
-# (Optional) Whether to create schemas for Nova
-# Defaults to true
-#
-# [*enable_neutron*]
-# (Optional) Whether to create schemas for Neutron
-# Defaults to true
-#
-# [*enable_sahara*]
-# (Optional) Whether to create schemas for Sahara
-# Defaults to true
-#
-# [*gnocchi_indexer_backend*]
-# (Optional) Type of backend used as Gnocchi indexer
-# Defaults to hiera('gnocchi_indexer_backend')
-#
-class tripleo::profile::base::database::schemas (
- $step = hiera('step'),
- $ceilometer_backend = hiera('ceilometer_backend'),
- $enable_aodh = true,
- $enable_ceilometer = true,
- $enable_cinder = true,
- $enable_heat = true,
- $enable_keystone = true,
- $enable_glance = true,
- $enable_gnocchi = true,
- $enable_nova = true,
- $enable_neutron = true,
- $enable_sahara = true,
- $gnocchi_indexer_backend = hiera('gnocchi_indexer_backend'),
-) {
- if $step >= 2 {
- if downcase($ceilometer_backend) == 'mysql' {
- if $enable_ceilometer {
- include ::ceilometer::db::mysql
- }
- if $enable_aodh {
- include ::aodh::db::mysql
- }
- }
-
- if $enable_gnocchi and downcase($gnocchi_indexer_backend) == 'mysql' {
- include ::gnocchi::db::mysql
- }
-
- if $enable_cinder {
- include ::cinder::db::mysql
- }
-
- if $enable_keystone {
- include ::keystone::db::mysql
- }
-
- if $enable_glance {
- include ::glance::db::mysql
- }
-
- if $enable_nova {
- include ::nova::db::mysql
- include ::nova::db::mysql_api
- }
-
- if $enable_neutron {
- include ::neutron::db::mysql
- }
-
- if $enable_heat {
- include ::heat::db::mysql
- }
-
- if $enable_sahara {
- include ::sahara::db::mysql
- }
- }
-}
diff --git a/manifests/profile/base/glance/registry.pp b/manifests/profile/base/glance/registry.pp
index bed4a5e..c114c53 100644
--- a/manifests/profile/base/glance/registry.pp
+++ b/manifests/profile/base/glance/registry.pp
@@ -20,7 +20,7 @@
#
# [*sync_db*]
# (Optional) Whether to run db sync
-# Defaults to undef
+# Defaults to true
#
# [*manage_service*]
# (Optional) Whether to manage the glance service
@@ -40,14 +40,18 @@
# Defaults to downcase(hiera('glance_backend', 'swift'))
#
class tripleo::profile::base::glance::registry (
- $sync_db = undef,
+ $sync_db = true,
$manage_service = undef,
$enabled = undef,
$step = hiera('step'),
$glance_backend = downcase(hiera('glance_backend', 'swift')),
) {
- if $step >= 4 {
+ if $step >= 2 and $sync_db {
+ include ::glance::db::mysql
+ }
+
+ if $step >= 4 or ( $step >= 3 and $sync_db ) {
# TODO: notifications, scrubber, etc.
include ::glance
include ::glance::config
diff --git a/manifests/profile/base/keystone.pp b/manifests/profile/base/keystone.pp
index f17bf30..f7674df 100644
--- a/manifests/profile/base/keystone.pp
+++ b/manifests/profile/base/keystone.pp
@@ -20,7 +20,7 @@
#
# [*sync_db*]
# (Optional) Whether to run db sync
-# Defaults to undef
+# Defaults to true
#
# [*manage_service*]
# (Optional) Whether to manage the keystone service
@@ -52,7 +52,7 @@
# Defaults to hiera('step')
#
class tripleo::profile::base::keystone (
- $sync_db = undef,
+ $sync_db = true,
$manage_service = undef,
$enabled = undef,
$bootstrap_master = undef,
@@ -62,7 +62,11 @@ class tripleo::profile::base::keystone (
$step = hiera('step'),
) {
- if $step >= 4 {
+ if $step >= 2 and $sync_db {
+ include ::keystone::db::mysql
+ }
+
+ if $step >= 4 or ( $step >= 3 and $sync_db ) {
class { '::keystone':
sync_db => $sync_db,
manage_service => $manage_service,
diff --git a/manifests/profile/pacemaker/database/schemas.pp b/manifests/profile/pacemaker/database/schemas.pp
deleted file mode 100644
index 489e75b..0000000
--- a/manifests/profile/pacemaker/database/schemas.pp
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# == Class: tripleo::profile::base::pacemaker::schemas
-#
-# OpenStack Database Schema Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*step*]
-# (Optional) The current deployment step
-# Defaults to hiera('step')
-#
-# [*ceilometer_backend*]
-# (Optional) The backend used by ceilometer, usually either 'mysql'
-# or 'mongodb'
-# Defaults to hiera('ceilometer_backend')
-#
-# [*gnocchi_indexer_backend*]
-# (Optional) Type of backend used as Gnocchi indexer
-# Defaults to hiera('gnocchi_indexer_backend')
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master in this cluster
-# Defaults to hiera('bootstrap_nodeid')
-#
-class tripleo::profile::pacemaker::database::schemas (
- $step = hiera('step'),
- $ceilometer_backend = hiera('ceilometer_backend'),
- $gnocchi_indexer_backend = hiera('gnocchi_indexer_backend'),
- $pacemaker_master = hiera('bootstrap_nodeid')
-) {
- if downcase($pacemaker_master) == $::hostname and $step >= 2 {
- include ::tripleo::profile::base::database::schemas
-
- if downcase($ceilometer_backend) == 'mysql' {
- Exec['galera-ready'] -> Class['::ceilometer::db::mysql']
- Exec['galera-ready'] -> Class['::aodh::db::mysql']
- }
-
- if downcase($gnocchi_indexer_backend) == 'mysql' {
- Exec['galera-ready'] -> Class['::gnocchi::db::mysql']
- }
-
- Exec['galera-ready'] -> Class['::cinder::db::mysql']
- Exec['galera-ready'] -> Class['::glance::db::mysql']
- Exec['galera-ready'] -> Class['::keystone::db::mysql']
- Exec['galera-ready'] -> Class['::nova::db::mysql']
- Exec['galera-ready'] -> Class['::nova::db::mysql_api']
- Exec['galera-ready'] -> Class['::neutron::db::mysql']
- Exec['galera-ready'] -> Class['::heat::db::mysql']
- Exec['galera-ready'] -> Class['::sahara::db::mysql']
- }
-}
diff --git a/manifests/profile/pacemaker/glance.pp b/manifests/profile/pacemaker/glance.pp
index 5727622..cb2add1 100644
--- a/manifests/profile/pacemaker/glance.pp
+++ b/manifests/profile/pacemaker/glance.pp
@@ -68,16 +68,17 @@ class tripleo::profile::pacemaker::glance (
$pacemaker_master = false
}
+ class { '::tripleo::profile::base::glance::api':
+ manage_service => false,
+ enabled => false,
+ }
+ class { '::tripleo::profile::base::glance::registry':
+ sync_db => $pacemaker_master,
+ manage_service => false,
+ enabled => false,
+ }
+
if $step >= 4 {
- class { '::tripleo::profile::base::glance::api':
- manage_service => false,
- enabled => false,
- }
- class { '::tripleo::profile::base::glance::registry':
- sync_db => $pacemaker_master,
- manage_service => false,
- enabled => false,
- }
if $glance_backend == 'file' and $glance_file_pcmk_manage {
$secontext = 'context="system_u:object_r:glance_var_lib_t:s0"'
pacemaker::resource::filesystem { 'glance-fs':
diff --git a/manifests/profile/pacemaker/keystone.pp b/manifests/profile/pacemaker/keystone.pp
index 0f007a5..f2bc827 100644
--- a/manifests/profile/pacemaker/keystone.pp
+++ b/manifests/profile/pacemaker/keystone.pp
@@ -51,15 +51,13 @@ class tripleo::profile::pacemaker::keystone (
$manage_roles = false
}
- if $step >= 4 {
- class { '::tripleo::profile::base::keystone':
- sync_db => $pacemaker_master,
- manage_service => false,
- enabled => false,
- bootstrap_master => $pacemaker_master,
- manage_roles => $manage_roles,
- manage_endpoint => $manage_roles
- }
+ class { '::tripleo::profile::base::keystone':
+ sync_db => $pacemaker_master,
+ manage_service => false,
+ enabled => false,
+ bootstrap_master => $pacemaker_master,
+ manage_roles => $manage_roles,
+ manage_endpoint => $manage_roles
}
if $step >= 5 and $pacemaker_master and $enable_load_balancer {
@@ -85,4 +83,5 @@ class tripleo::profile::pacemaker::keystone (
Pacemaker::Resource::Ocf['openstack-core']],
}
}
+
}