summaryrefslogtreecommitdiffstats
path: root/manifests/profile/pacemaker
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/profile/pacemaker')
-rw-r--r--manifests/profile/pacemaker/apache.pp58
-rw-r--r--manifests/profile/pacemaker/ceilometer.pp92
-rw-r--r--manifests/profile/pacemaker/ceilometer/agent/central.pp59
-rw-r--r--manifests/profile/pacemaker/ceilometer/agent/notification.pp45
-rw-r--r--manifests/profile/pacemaker/ceilometer/api.pp45
-rw-r--r--manifests/profile/pacemaker/ceilometer/collector.pp49
-rw-r--r--manifests/profile/pacemaker/cinder/api.pp65
-rw-r--r--manifests/profile/pacemaker/cinder/scheduler.pp88
-rw-r--r--manifests/profile/pacemaker/core.pp58
-rw-r--r--manifests/profile/pacemaker/database/mongodb.pp73
-rw-r--r--manifests/profile/pacemaker/database/mysql.pp3
-rw-r--r--manifests/profile/pacemaker/glance.pp131
-rw-r--r--manifests/profile/pacemaker/gnocchi.pp97
-rw-r--r--manifests/profile/pacemaker/gnocchi/api.pp32
-rw-r--r--manifests/profile/pacemaker/gnocchi/metricd.pp46
-rw-r--r--manifests/profile/pacemaker/gnocchi/statsd.pp46
-rw-r--r--manifests/profile/pacemaker/heat.pp38
-rw-r--r--manifests/profile/pacemaker/heat/api.pp50
-rw-r--r--manifests/profile/pacemaker/heat/api_cfn.pp50
-rw-r--r--manifests/profile/pacemaker/heat/api_cloudwatch.pp51
-rw-r--r--manifests/profile/pacemaker/heat/engine.pp50
-rw-r--r--manifests/profile/pacemaker/keystone.pp81
-rw-r--r--manifests/profile/pacemaker/memcached.pp61
-rw-r--r--manifests/profile/pacemaker/neutron.pp213
-rw-r--r--manifests/profile/pacemaker/neutron/dhcp.pp44
-rw-r--r--manifests/profile/pacemaker/neutron/l3.pp44
-rw-r--r--manifests/profile/pacemaker/neutron/metadata.pp44
-rw-r--r--manifests/profile/pacemaker/neutron/midonet.pp81
-rw-r--r--manifests/profile/pacemaker/neutron/ovs.pp88
-rw-r--r--manifests/profile/pacemaker/neutron/plugins/ml2.pp26
-rw-r--r--manifests/profile/pacemaker/neutron/plugins/nuage.pp24
-rw-r--r--manifests/profile/pacemaker/neutron/plugins/opencontrail.pp24
-rw-r--r--manifests/profile/pacemaker/neutron/plugins/plumgrid.pp24
-rw-r--r--manifests/profile/pacemaker/neutron/server.pp47
-rw-r--r--manifests/profile/pacemaker/nova.pp37
-rw-r--r--manifests/profile/pacemaker/nova/api.pp88
-rw-r--r--manifests/profile/pacemaker/nova/conductor.pp77
-rw-r--r--manifests/profile/pacemaker/nova/consoleauth.pp87
-rw-r--r--manifests/profile/pacemaker/nova/scheduler.pp52
-rw-r--r--manifests/profile/pacemaker/nova/vncproxy.pp52
-rw-r--r--manifests/profile/pacemaker/sahara.pp37
-rw-r--r--manifests/profile/pacemaker/sahara/api.pp50
-rw-r--r--manifests/profile/pacemaker/sahara/engine.pp49
43 files changed, 2 insertions, 2554 deletions
diff --git a/manifests/profile/pacemaker/apache.pp b/manifests/profile/pacemaker/apache.pp
deleted file mode 100644
index c8aeac5..0000000
--- a/manifests/profile/pacemaker/apache.pp
+++ /dev/null
@@ -1,58 +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::pacemaker::apache
-#
-# Apache Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::apache (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- if $step >= 5 and $pacemaker_master {
- include ::apache::params
- pacemaker::resource::service { $::apache::params::service_name:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- verify_on_create => true,
- }
- pacemaker::constraint::base { 'openstack-core-then-httpd-constraint':
- constraint_type => 'order',
- first_resource => 'openstack-core-clone',
- second_resource => "${::apache::params::service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::apache::params::service_name],
- Pacemaker::Resource::Ocf['openstack-core']],
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/ceilometer.pp b/manifests/profile/pacemaker/ceilometer.pp
deleted file mode 100644
index a31128d..0000000
--- a/manifests/profile/pacemaker/ceilometer.pp
+++ /dev/null
@@ -1,92 +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::pacemaker::ceilometer
-#
-# Ceilometer Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::ceilometer (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- include ::tripleo::profile::base::ceilometer
-
- $ceilometer_backend = downcase(hiera('ceilometer_backend', 'mongodb'))
- if $step >= 5 and $::hostname == downcase($bootstrap_node) {
- if $ceilometer_backend == 'mysql' {
- class { '::ceilometer::db::mysql':
- require => Exec['galera-ready'],
- }
- }
-
- # NOTE(emilien): the constraints won't live forever here as we're moving to
- # pacemaker-lite architecture.
-
- # Fedora doesn't know `require-all` parameter for constraints yet
- if $::operatingsystem == 'Fedora' {
- $redis_ceilometer_constraint_params = undef
- } else {
- $redis_ceilometer_constraint_params = 'require-all=false'
- }
- pacemaker::constraint::base { 'redis-then-ceilometer-central-constraint':
- constraint_type => 'order',
- first_resource => 'redis-master',
- second_resource => "${::ceilometer::params::agent_central_service_name}-clone",
- first_action => 'promote',
- second_action => 'start',
- constraint_params => $redis_ceilometer_constraint_params,
- require => [Pacemaker::Resource::Ocf['redis'],
- Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name]],
- }
- pacemaker::constraint::base { 'keystone-then-ceilometer-central-constraint':
- constraint_type => 'order',
- first_resource => 'openstack-core-clone',
- second_resource => "${::ceilometer::params::agent_central_service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name],
- Pacemaker::Resource::Ocf['openstack-core']],
- }
- pacemaker::constraint::base { 'keystone-then-ceilometer-notification-constraint':
- constraint_type => 'order',
- first_resource => 'openstack-core-clone',
- second_resource => "${::ceilometer::params::agent_notification_service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name],
- Pacemaker::Resource::Ocf['openstack-core']],
- }
- pacemaker::constraint::base { 'ceilometer-central-then-ceilometer-collector-constraint':
- constraint_type => 'order',
- first_resource => "${::ceilometer::params::agent_central_service_name}-clone",
- second_resource => "${::ceilometer::params::collector_service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name],
- Pacemaker::Resource::Service[$::ceilometer::params::collector_service_name]],
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/ceilometer/agent/central.pp b/manifests/profile/pacemaker/ceilometer/agent/central.pp
deleted file mode 100644
index b9655c3..0000000
--- a/manifests/profile/pacemaker/ceilometer/agent/central.pp
+++ /dev/null
@@ -1,59 +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::pacemaker::ceilometer::agent::central
-#
-# Ceilometer Central Agent Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::ceilometer::agent::central (
- $pacemaker_master = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- include ::ceilometer::params
- include ::tripleo::profile::pacemaker::ceilometer
- include ::tripleo::profile::base::ceilometer::agent::central
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
- $ceilometer_backend = downcase(hiera('ceilometer_backend', 'mongodb'))
- case downcase(hiera('ceilometer_backend')) {
- /mysql/: {
- pacemaker::resource::service { $::ceilometer::params::agent_central_service_name:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- require => Pacemaker::Resource::Ocf['openstack-core'],
- }
- }
- default: {
- pacemaker::resource::service { $::ceilometer::params::agent_central_service_name:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- require => [Pacemaker::Resource::Ocf['openstack-core'],
- Pacemaker::Resource::Service[$::mongodb::params::service_name]],
- }
- }
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/ceilometer/agent/notification.pp b/manifests/profile/pacemaker/ceilometer/agent/notification.pp
deleted file mode 100644
index 394cc36..0000000
--- a/manifests/profile/pacemaker/ceilometer/agent/notification.pp
+++ /dev/null
@@ -1,45 +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::pacemaker::ceilometer::agent::notification
-#
-# Ceilometer Notification Agent Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::ceilometer::agent::notification (
- $pacemaker_master = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- include ::ceilometer::params
- include ::tripleo::profile::pacemaker::ceilometer
- include ::tripleo::profile::base::ceilometer::agent::notification
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
- pacemaker::resource::service { $::ceilometer::params::agent_notification_service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/ceilometer/api.pp b/manifests/profile/pacemaker/ceilometer/api.pp
deleted file mode 100644
index 169121b..0000000
--- a/manifests/profile/pacemaker/ceilometer/api.pp
+++ /dev/null
@@ -1,45 +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::pacemaker::ceilometer::api
-#
-# Ceilometer API Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::ceilometer::api (
- $pacemaker_master = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- include ::ceilometer::params
- include ::tripleo::profile::pacemaker::ceilometer
- include ::tripleo::profile::base::ceilometer::api
- include ::tripleo::profile::pacemaker::apache
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
- class { '::tripleo::profile::base::ceilometer::api':
- step => $step,
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/ceilometer/collector.pp b/manifests/profile/pacemaker/ceilometer/collector.pp
deleted file mode 100644
index 350125f..0000000
--- a/manifests/profile/pacemaker/ceilometer/collector.pp
+++ /dev/null
@@ -1,49 +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::pacemaker::ceilometer::collector
-#
-# Ceilometer Collector Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::ceilometer::collector (
- $pacemaker_master = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- include ::ceilometer::params
- include ::tripleo::profile::pacemaker::ceilometer
- include ::tripleo::profile::base::ceilometer::collector
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
- $ceilometer_backend = downcase(hiera('ceilometer_backend', 'mongodb'))
- if $ceilometer_backend == 'mysql' {
- Exec<| title == 'galera-ready'|> -> Class['ceilometer::db::mysql']
- }
- pacemaker::resource::service { $::ceilometer::params::collector_service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/cinder/api.pp b/manifests/profile/pacemaker/cinder/api.pp
deleted file mode 100644
index f25a050..0000000
--- a/manifests/profile/pacemaker/cinder/api.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::pacemaker::cinder::api
-#
-# Cinder API Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::cinder::api (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- Service <| tag == 'cinder-service' |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- include ::tripleo::profile::base::cinder::api
-
- if $step >= 5 and $pacemaker_master {
- pacemaker::resource::service { $::cinder::params::api_service :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- require => Pacemaker::Resource::Ocf['openstack-core'],
- }
- pacemaker::constraint::base { 'keystone-then-cinder-api-constraint':
- constraint_type => 'order',
- first_resource => 'openstack-core-clone',
- second_resource => "${::cinder::params::api_service}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Ocf['openstack-core'],
- Pacemaker::Resource::Service[$::cinder::params::api_service]],
- }
- }
-}
diff --git a/manifests/profile/pacemaker/cinder/scheduler.pp b/manifests/profile/pacemaker/cinder/scheduler.pp
deleted file mode 100644
index 4bfb89a..0000000
--- a/manifests/profile/pacemaker/cinder/scheduler.pp
+++ /dev/null
@@ -1,88 +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::pacemaker::cinder::scheduler
-#
-# Cinder Scheduler Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::cinder::scheduler (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- Service <| tag == 'cinder-service' |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- include ::tripleo::profile::base::cinder::scheduler
-
- if $step >= 5 and $pacemaker_master {
- pacemaker::resource::service { $::cinder::params::scheduler_service :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- pacemaker::constraint::base { 'cinder-api-then-cinder-scheduler-constraint':
- constraint_type => 'order',
- first_resource => "${::cinder::params::api_service}-clone",
- second_resource => "${::cinder::params::scheduler_service}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::cinder::params::api_service],
- Pacemaker::Resource::Service[$::cinder::params::scheduler_service]],
- }
- pacemaker::constraint::colocation { 'cinder-scheduler-with-cinder-api-colocation':
- source => "${::cinder::params::scheduler_service}-clone",
- target => "${::cinder::params::api_service}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::cinder::params::api_service],
- Pacemaker::Resource::Service[$::cinder::params::scheduler_service]],
- }
- pacemaker::constraint::base { 'cinder-scheduler-then-cinder-volume-constraint':
- constraint_type => 'order',
- first_resource => "${::cinder::params::scheduler_service}-clone",
- second_resource => $::cinder::params::volume_service,
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::cinder::params::scheduler_service],
- Pacemaker::Resource::Service[$::cinder::params::volume_service]],
- }
- pacemaker::constraint::colocation { 'cinder-volume-with-cinder-scheduler-colocation':
- source => $::cinder::params::volume_service,
- target => "${::cinder::params::scheduler_service}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::cinder::params::scheduler_service],
- Pacemaker::Resource::Service[$::cinder::params::volume_service]],
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/core.pp b/manifests/profile/pacemaker/core.pp
deleted file mode 100644
index 359a817..0000000
--- a/manifests/profile/pacemaker/core.pp
+++ /dev/null
@@ -1,58 +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::pacemaker::core
-#
-# Core Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::core (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- if $step >= 2 and $pacemaker_master {
- pacemaker::resource::ocf { 'openstack-core':
- ocf_agent_name => 'heartbeat:Dummy',
- clone_params => 'interleave=true',
- }
- }
-
- if $step >= 5 and $pacemaker_master {
- pacemaker::constraint::base { 'galera-then-openstack-core-constraint':
- constraint_type => 'order',
- first_resource => 'galera-master',
- second_resource => 'openstack-core-clone',
- first_action => 'promote',
- second_action => 'start',
- require => [Pacemaker::Resource::Ocf['galera'],
- Pacemaker::Resource::Ocf['openstack-core']],
- }
- }
-}
diff --git a/manifests/profile/pacemaker/database/mongodb.pp b/manifests/profile/pacemaker/database/mongodb.pp
deleted file mode 100644
index e4b5fcf..0000000
--- a/manifests/profile/pacemaker/database/mongodb.pp
+++ /dev/null
@@ -1,73 +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::pacemaker::database::mongodb
-#
-# Mongodb Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*mongodb_replset*]
-# Mongodb replicaset name
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::database::mongodb (
- $mongodb_replset,
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- if $step >= 1 {
- include ::mongodb::globals
- include ::mongodb::client
- include ::mongodb::server
- }
-
- if $step >= 2 {
-
- include ::tripleo::profile::base::database::mongodbcommon
-
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- if $pacemaker_master {
- pacemaker::resource::service { $::mongodb::params::service_name :
- op_params => 'start timeout=370s stop timeout=200s',
- clone_params => true,
- require => Class['::mongodb::server'],
- }
- # NOTE (spredzy) : The replset can only be run
- # once all the nodes have joined the cluster.
- tripleo::profile::pacemaker::database::mongodbvalidator {
- $tripleo::profile::base::database::mongodbcommon::mongodb_node_ips :
- port => $tripleo::profile::base::database::mongodbcommon::port,
- require => Pacemaker::Resource::Service[$::mongodb::params::service_name],
- before => Mongodb_replset[$mongodb_replset],
- }
- mongodb_replset { $mongodb_replset :
- members => $tripleo::profile::base::database::mongodbcommon::mongo_node_ips_with_port_nobr,
- }
- }
- }
-}
diff --git a/manifests/profile/pacemaker/database/mysql.pp b/manifests/profile/pacemaker/database/mysql.pp
index a353e5f..edd09bd 100644
--- a/manifests/profile/pacemaker/database/mysql.pp
+++ b/manifests/profile/pacemaker/database/mysql.pp
@@ -146,9 +146,10 @@ class tripleo::profile::pacemaker::database::mysql (
user => 'clustercheck@localhost',
}
- # We create databases for services at step 2 as well. This ensures
+ # We create databases and users for services at step 2 as well. This ensures
# Galara is up before those get created
Exec['galera-ready'] -> Mysql_database<||>
+ Exec['galera-ready'] -> Mysql_user<||>
}
# This step is to create a sysconfig clustercheck file with the root user and empty password
diff --git a/manifests/profile/pacemaker/glance.pp b/manifests/profile/pacemaker/glance.pp
deleted file mode 100644
index cace5ae..0000000
--- a/manifests/profile/pacemaker/glance.pp
+++ /dev/null
@@ -1,131 +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::pacemaker::glance
-#
-# Glance Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*glance_backend*]
-# (Optional) Glance backend(s) to use.
-# Defaults to downcase(hiera('glance_backend', 'swift'))
-#
-# [*glance_file_pcmk_device*]
-# (Optional) Device to mount glance file backend.
-# Defaults to hiera('glance_file_pcmk_device', '')
-#
-# [*glance_file_pcmk_directory*]
-# (Optional) Directory to mount glance file backend.
-# Defaults to hiera('glance_file_pcmk_directory', '')
-#
-# [*glance_file_pcmk_fstype*]
-# (Optional) Filesystem type to mount glance file backend.
-# Defaults to hiera('glance_file_pcmk_fstype', '')
-#
-# [*glance_file_pcmk_manage*]
-# (Optional) Whether or not manage glance_file_pcmk.
-# Defaults to hiera('glance_file_pcmk_manage', false)
-#
-# [*glance_file_pcmk_options*]
-# (Optional) pcmk options to mount Glance file backend..
-# Defaults to hiera('glance_file_pcmk_options', '')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::glance (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $glance_backend = downcase(hiera('glance_backend', 'swift')),
- $glance_file_pcmk_device = hiera('glance_file_pcmk_device', ''),
- $glance_file_pcmk_directory = hiera('glance_file_pcmk_directory', ''),
- $glance_file_pcmk_fstype = hiera('glance_file_pcmk_fstype', ''),
- $glance_file_pcmk_manage = hiera('glance_file_pcmk_manage', false),
- $glance_file_pcmk_options = hiera('glance_file_pcmk_options', ''),
- $step = hiera('step'),
-) {
- Service <| tag == 'glance-service' |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- include ::tripleo::profile::base::glance::api
- include ::tripleo::profile::base::glance::registry
-
- if $step >= 4 {
- 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':
- device => $glance_file_pcmk_device,
- directory => $glance_file_pcmk_directory,
- fstype => $glance_file_pcmk_fstype,
- fsoptions => join([$secontext, $glance_file_pcmk_options],','),
- clone_params => '',
- }
- }
- }
-
- if $step >= 5 and $pacemaker_master {
- pacemaker::resource::service { $::glance::params::registry_service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- require => Pacemaker::Resource::Ocf['openstack-core'],
- }
- pacemaker::resource::service { $::glance::params::api_service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
-
- pacemaker::constraint::base { 'keystone-then-glance-registry-constraint':
- constraint_type => 'order',
- first_resource => 'openstack-core-clone',
- second_resource => "${::glance::params::registry_service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::glance::params::registry_service_name],
- Pacemaker::Resource::Ocf['openstack-core']],
- }
- pacemaker::constraint::base { 'glance-registry-then-glance-api-constraint':
- constraint_type => 'order',
- first_resource => "${::glance::params::registry_service_name}-clone",
- second_resource => "${::glance::params::api_service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::glance::params::registry_service_name],
- Pacemaker::Resource::Service[$::glance::params::api_service_name]],
- }
- pacemaker::constraint::colocation { 'glance-api-with-glance-registry-colocation':
- source => "${::glance::params::api_service_name}-clone",
- target => "${::glance::params::registry_service_name}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::glance::params::registry_service_name],
- Pacemaker::Resource::Service[$::glance::params::api_service_name]],
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/gnocchi.pp b/manifests/profile/pacemaker/gnocchi.pp
deleted file mode 100644
index 5bfc174..0000000
--- a/manifests/profile/pacemaker/gnocchi.pp
+++ /dev/null
@@ -1,97 +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::pacemaker::gnocchi
-#
-# Gnocchi Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*gnocchi_indexer_backend*]
-# (Optional) Gnocchi indexer backend
-# Defaults to mysql
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::gnocchi (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $gnocchi_indexer_backend = downcase(hiera('gnocchi_indexer_backend', 'mysql')),
- $step = hiera('step'),
-) {
- Service <| tag == 'gnocchi-service' |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- if $step >= 2 and $pacemaker_master {
- if $gnocchi_indexer_backend == 'mysql' {
- class { '::gnocchi::db::mysql':
- require => Exec['galera-ready'],
- }
- }
- }
-
- if $step >= 3 {
- include ::gnocchi
- include ::gnocchi::config
- include ::gnocchi::client
- if $pacemaker_master {
- include ::gnocchi::db::sync
- }
- }
-
- if $step >= 5 and $pacemaker_master {
-
- pacemaker::constraint::base { 'keystone-then-gnocchi-metricd-constraint':
- constraint_type => 'order',
- first_resource => 'openstack-core-clone',
- second_resource => "${::gnocchi::params::metricd_service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::gnocchi::params::metricd_service_name],
- Pacemaker::Resource::Ocf['openstack-core']],
- }
- pacemaker::constraint::base { 'gnocchi-metricd-then-gnocchi-statsd-constraint':
- constraint_type => 'order',
- first_resource => "${::gnocchi::params::metricd_service_name}-clone",
- second_resource => "${::gnocchi::params::statsd_service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::gnocchi::params::metricd_service_name],
- Pacemaker::Resource::Service[$::gnocchi::params::statsd_service_name]],
- }
- pacemaker::constraint::colocation { 'gnocchi-statsd-with-metricd-colocation':
- source => "${::gnocchi::params::statsd_service_name}-clone",
- target => "${::gnocchi::params::metricd_service_name}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::gnocchi::params::metricd_service_name],
- Pacemaker::Resource::Service[$::gnocchi::params::statsd_service_name]],
- }
- }
-}
diff --git a/manifests/profile/pacemaker/gnocchi/api.pp b/manifests/profile/pacemaker/gnocchi/api.pp
deleted file mode 100644
index 29f2435..0000000
--- a/manifests/profile/pacemaker/gnocchi/api.pp
+++ /dev/null
@@ -1,32 +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::pacemaker::gnocchi::api
-#
-# Gnocchi profile for tripleo api
-#
-# === Parameters
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::gnocchi::api (
- $step = hiera('step'),
-) {
- include ::tripleo::profile::pacemaker::gnocchi
- include ::tripleo::profile::pacemaker::apache
- include ::tripleo::profile::base::gnocchi::api
-}
diff --git a/manifests/profile/pacemaker/gnocchi/metricd.pp b/manifests/profile/pacemaker/gnocchi/metricd.pp
deleted file mode 100644
index aacec01..0000000
--- a/manifests/profile/pacemaker/gnocchi/metricd.pp
+++ /dev/null
@@ -1,46 +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::pacemaker::gnocchi::metricd
-#
-# Gnocchi metricd profile
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::gnocchi::metricd (
- $pacemaker_master = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- include ::gnocchi::params
- include ::tripleo::profile::pacemaker::gnocchi
-
- if $step >= 4 and downcase($::hostname) == $pacemaker_master {
-
- include ::gnocchi::metricd
-
- pacemaker::resource::service { $::gnocchi::params::metricd_service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-}
diff --git a/manifests/profile/pacemaker/gnocchi/statsd.pp b/manifests/profile/pacemaker/gnocchi/statsd.pp
deleted file mode 100644
index 1058010..0000000
--- a/manifests/profile/pacemaker/gnocchi/statsd.pp
+++ /dev/null
@@ -1,46 +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::pacemaker::gnocchi::statsd
-#
-# Gnocchi statsd profile
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::gnocchi::statsd (
- $pacemaker_master = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- include ::gnocchi::params
- include ::tripleo::profile::pacemaker::gnocchi
-
- if $step >= 4 and downcase($::hostname) == $pacemaker_master {
-
- include ::gnocchi::statsd
-
- pacemaker::resource::service { $::gnocchi::params::statsd_service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-}
diff --git a/manifests/profile/pacemaker/heat.pp b/manifests/profile/pacemaker/heat.pp
deleted file mode 100644
index e3c1598..0000000
--- a/manifests/profile/pacemaker/heat.pp
+++ /dev/null
@@ -1,38 +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::pacemaker::heat
-#
-# Heat Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::heat (
- $step = hiera('step'),
-) {
- Service <| tag == 'heat-service' |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- include ::tripleo::profile::base::heat
-
-}
diff --git a/manifests/profile/pacemaker/heat/api.pp b/manifests/profile/pacemaker/heat/api.pp
deleted file mode 100644
index 7b0987f..0000000
--- a/manifests/profile/pacemaker/heat/api.pp
+++ /dev/null
@@ -1,50 +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::pacemaker::heat
-#
-# Heat API Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::heat::api (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- include ::tripleo::profile::pacemaker::heat
- include ::tripleo::profile::base::heat::api
-
- if $step >= 5 and $pacemaker_master {
- pacemaker::resource::service { $::heat::params::api_service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/heat/api_cfn.pp b/manifests/profile/pacemaker/heat/api_cfn.pp
deleted file mode 100644
index 6e40dba..0000000
--- a/manifests/profile/pacemaker/heat/api_cfn.pp
+++ /dev/null
@@ -1,50 +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::pacemaker::heat
-#
-# Heat Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::heat::api_cfn (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- include ::tripleo::profile::pacemaker::heat
- include ::tripleo::profile::base::heat::api_cfn
-
- if $step >= 5 and $pacemaker_master {
- pacemaker::resource::service { $::heat::params::api_cfn_service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/heat/api_cloudwatch.pp b/manifests/profile/pacemaker/heat/api_cloudwatch.pp
deleted file mode 100644
index 9403812..0000000
--- a/manifests/profile/pacemaker/heat/api_cloudwatch.pp
+++ /dev/null
@@ -1,51 +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::pacemaker::heat
-#
-# Heat Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::heat::api_cloudwatch (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- include ::tripleo::profile::pacemaker::heat
- include ::tripleo::profile::base::heat::api_cloudwatch
-
- if $step >= 5 and $pacemaker_master {
- # Heat
- pacemaker::resource::service { $::heat::params::api_cloudwatch_service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/heat/engine.pp b/manifests/profile/pacemaker/heat/engine.pp
deleted file mode 100644
index bd50dc0..0000000
--- a/manifests/profile/pacemaker/heat/engine.pp
+++ /dev/null
@@ -1,50 +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::pacemaker::heat
-#
-# Heat Engine Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::heat::engine (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- include ::tripleo::profile::pacemaker::heat
- include ::tripleo::profile::base::heat::engine
-
- if $step >= 5 and $pacemaker_master {
- pacemaker::resource::service { $::heat::params::engine_service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/keystone.pp b/manifests/profile/pacemaker/keystone.pp
deleted file mode 100644
index db14aea..0000000
--- a/manifests/profile/pacemaker/keystone.pp
+++ /dev/null
@@ -1,81 +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::pacemaker::keystone
-#
-# Keystone Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*enable_load_balancer*]
-# (Optional) Whether load balancing is enabled for this cluster
-# Defaults to hiera('enable_load_balancer', true)
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::keystone (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $enable_load_balancer = hiera('enable_load_balancer', true),
- $step = hiera('step'),
-) {
- Service <| tag == 'keystone-service' |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- include ::tripleo::profile::base::keystone
- include ::tripleo::profile::pacemaker::apache
-
- if $step >= 5 and $pacemaker_master and $enable_load_balancer {
- pacemaker::constraint::base { 'haproxy-then-keystone-constraint':
- constraint_type => 'order',
- first_resource => 'haproxy-clone',
- second_resource => 'openstack-core-clone',
- first_action => 'start',
- second_action => 'start',
- before => Pacemaker::Resource::Service[$::apache::params::service_name],
- require => [Pacemaker::Resource::Service['haproxy'],
- Pacemaker::Resource::Ocf['openstack-core']],
- }
- }
-
- if $step >= 5 and $pacemaker_master {
- pacemaker::constraint::base { 'rabbitmq-then-keystone-constraint':
- constraint_type => 'order',
- first_resource => 'rabbitmq-clone',
- second_resource => 'openstack-core-clone',
- first_action => 'start',
- second_action => 'start',
- before => Pacemaker::Resource::Service[$::apache::params::service_name],
- require => [Pacemaker::Resource::Ocf['rabbitmq'],
- Pacemaker::Resource::Ocf['openstack-core']],
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/memcached.pp b/manifests/profile/pacemaker/memcached.pp
deleted file mode 100644
index 9c6a1a3..0000000
--- a/manifests/profile/pacemaker/memcached.pp
+++ /dev/null
@@ -1,61 +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::pacemaker::memcached
-#
-# Memcached Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::memcached (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- include ::tripleo::profile::base::memcached
-
- if $step >= 2 and $pacemaker_master {
- pacemaker::resource::service { $::memcached::params::service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- require => Class['::memcached'],
- }
- }
-
- if $step >= 5 and $pacemaker_master {
- pacemaker::constraint::base { 'memcached-then-openstack-core-constraint':
- constraint_type => 'order',
- first_resource => 'memcached-clone',
- second_resource => 'openstack-core-clone',
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service['memcached'],
- Pacemaker::Resource::Ocf['openstack-core']],
- }
- }
-}
diff --git a/manifests/profile/pacemaker/neutron.pp b/manifests/profile/pacemaker/neutron.pp
deleted file mode 100644
index ccc1401..0000000
--- a/manifests/profile/pacemaker/neutron.pp
+++ /dev/null
@@ -1,213 +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::pacemaker::neutron
-#
-# Neutron server profile for tripleo
-#
-# === Parameters
-#
-# [*enable_dhcp*]
-# (Optional) Whether to include the Neutron DHCP agent pacemaker profile
-# Defaults to hiera('neutron::enable_dhcp_agent', false)
-#
-# [*enable_l3*]
-# (Optional) Whether to include the Neutron L3 agent pacemaker profile
-# Defaults to hiera('neutron::enable_l3_agent', false)
-#
-# [*enable_metadata*]
-# (Optional) Whether to include the Neutron Metadata agent pacemaker profile
-# Defaults to hiera('neutron::enable_metadata_agent', false)
-#
-# [*enable_ovs*]
-# (Optional) Whether to include the Neutron OVS agent pacemaker profile
-# Defaults to hiera('neutron::enable_ovs_agent', false)
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid', undef)
-#
-# [*step*]
-# (Optional) The step in the deployment
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::neutron (
- # We can drop the hiera defaults once the neutron roles are decomposed
- $enable_dhcp = hiera('neutron::enable_dhcp_agent', false),
- $enable_l3 = hiera('neutron::enable_l3_agent', false),
- $enable_metadata = hiera('neutron::enable_metadata_agent', false),
- $enable_ovs = hiera('neutron::enable_ovs_agent', false),
- #Don't drop below this line
- $pacemaker_master = hiera('bootstrap_nodeid', undef),
- $step = hiera('step'),
-) {
- Service <|
- tag == 'neutron-service'
- |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- include ::tripleo::profile::base::neutron
-
- if $step >= 4 {
- include ::neutron::params
-
- # To be removed when puppet-oslo comes into service
- neutron_config {
- 'DEFAULT/notification_driver': value => 'messaging';
- }
- }
-
- if $step >= 5 and $pacemaker_master == downcase($::hostname) {
- if $step == 5 {
- # Neutron
- # NOTE(gfidente): Neutron will try to populate the database with some data
- # as soon as neutron-server is started; to avoid races we want to make this
- # happen only on one node, before normal Pacemaker initialization
- # https://bugzilla.redhat.com/show_bug.cgi?id=1233061
- # NOTE(emilien): we need to run this Exec only at Step 4 otherwise this exec
- # will try to start the service while it's already started by Pacemaker
- # It would result to a deployment failure since systemd would return 1 to Puppet
- # and the overcloud would fail to deploy (6 would be returned).
- # This conditional prevents from a race condition during the deployment.
- # https://bugzilla.redhat.com/show_bug.cgi?id=1290582
- exec { 'neutron-server-systemd-start-sleep' :
- command => 'systemctl start neutron-server && /usr/bin/sleep 5',
- path => '/usr/bin',
- unless => '/sbin/pcs resource show neutron-server',
- } ->
- pacemaker::resource::service { $::neutron::params::server_service:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- require => Pacemaker::Resource::Ocf['openstack-core']
- }
- } else {
- pacemaker::resource::service { $::neutron::params::server_service:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- require => Pacemaker::Resource::Ocf['openstack-core']
- }
- }
-
- pacemaker::constraint::base { 'keystone-to-neutron-server-constraint':
- constraint_type => 'order',
- first_resource => 'openstack-core-clone',
- second_resource => "${::neutron::params::server_service}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Ocf['openstack-core'],
- Pacemaker::Resource::Service[$::neutron::params::server_service]],
- }
-
- if $enable_ovs {
- pacemaker::constraint::base { 'neutron-openvswitch-agent-to-dhcp-agent-constraint':
- constraint_type => 'order',
- first_resource => "${::neutron::params::ovs_agent_service}-clone",
- second_resource => "${::neutron::params::dhcp_agent_service}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service],
- Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]],
- }
- }
-
- if $enable_dhcp and $enable_ovs {
- pacemaker::constraint::base { 'neutron-server-to-openvswitch-agent-constraint':
- constraint_type => 'order',
- first_resource => "${::neutron::params::server_service}-clone",
- second_resource => "${::neutron::params::ovs_agent_service}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::neutron::params::server_service],
- Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
- }
-
- pacemaker::constraint::colocation { 'neutron-openvswitch-agent-to-dhcp-agent-colocation':
- source => "${::neutron::params::dhcp_agent_service}-clone",
- target => "${::neutron::params::ovs_agent_service}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service],
- Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]],
- }
- }
-
- if $enable_dhcp and $enable_l3 {
- pacemaker::constraint::base { 'neutron-dhcp-agent-to-l3-agent-constraint':
- constraint_type => 'order',
- first_resource => "${::neutron::params::dhcp_agent_service}-clone",
- second_resource => "${::neutron::params::l3_agent_service}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
- Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]]
- }
-
- pacemaker::constraint::colocation { 'neutron-dhcp-agent-to-l3-agent-colocation':
- source => "${::neutron::params::l3_agent_service}-clone",
- target => "${::neutron::params::dhcp_agent_service}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
- Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]]
- }
- }
-
- if $enable_l3 and $enable_metadata {
- pacemaker::constraint::base { 'neutron-l3-agent-to-metadata-agent-constraint':
- constraint_type => 'order',
- first_resource => "${::neutron::params::l3_agent_service}-clone",
- second_resource => "${::neutron::params::metadata_agent_service}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service],
- Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]]
- }
- pacemaker::constraint::colocation { 'neutron-l3-agent-to-metadata-agent-colocation':
- source => "${::neutron::params::metadata_agent_service}-clone",
- target => "${::neutron::params::l3_agent_service}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service],
- Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]]
- }
- }
-
- #VSM
- if 'cisco_n1kv' in hiera('neutron::plugins::ml2::mechanism_drivers') {
- pacemaker::resource::ocf { 'vsm-p' :
- ocf_agent_name => 'heartbeat:VirtualDomain',
- resource_params => 'force_stop=true config=/var/spool/cisco/vsm/vsm_primary_deploy.xml',
- require => Class['n1k_vsm'],
- meta_params => 'resource-stickiness=INFINITY',
- }
- if str2bool(hiera('n1k_vsm::pacemaker_control', true)) {
- pacemaker::resource::ocf { 'vsm-s' :
- ocf_agent_name => 'heartbeat:VirtualDomain',
- resource_params => 'force_stop=true config=/var/spool/cisco/vsm/vsm_secondary_deploy.xml',
- require => Class['n1k_vsm'],
- meta_params => 'resource-stickiness=INFINITY',
- }
- pacemaker::constraint::colocation { 'vsm-colocation-contraint':
- source => 'vsm-p',
- target => 'vsm-s',
- score => '-INFINITY',
- require => [Pacemaker::Resource::Ocf['vsm-p'],
- Pacemaker::Resource::Ocf['vsm-s']],
- }
- }
- }
-
- }
-}
diff --git a/manifests/profile/pacemaker/neutron/dhcp.pp b/manifests/profile/pacemaker/neutron/dhcp.pp
deleted file mode 100644
index 2081357..0000000
--- a/manifests/profile/pacemaker/neutron/dhcp.pp
+++ /dev/null
@@ -1,44 +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::pacemaker::neutron::dhcp
-#
-# Neutron DHCP Agent server profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid', undef)
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::neutron::dhcp (
- $pacemaker_master = hiera('bootstrap_nodeid', undef),
- $step = hiera('step'),
-) {
- include ::neutron::params
- include ::tripleo::profile::pacemaker::neutron
- include ::tripleo::profile::base::neutron::dhcp
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
- pacemaker::resource::service { $::neutron::params::dhcp_agent_service:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-}
diff --git a/manifests/profile/pacemaker/neutron/l3.pp b/manifests/profile/pacemaker/neutron/l3.pp
deleted file mode 100644
index b59edc1..0000000
--- a/manifests/profile/pacemaker/neutron/l3.pp
+++ /dev/null
@@ -1,44 +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::pacemaker::neutron::l3
-#
-# Neutron L3 Agent server profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid', undef)
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::neutron::l3 (
- $pacemaker_master = hiera('bootstrap_nodeid', undef),
- $step = hiera('step'),
-) {
- include ::neutron::params
- include ::tripleo::profile::pacemaker::neutron
- include ::tripleo::profile::base::neutron::l3
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
- pacemaker::resource::service { $::neutron::params::l3_agent_service:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-}
diff --git a/manifests/profile/pacemaker/neutron/metadata.pp b/manifests/profile/pacemaker/neutron/metadata.pp
deleted file mode 100644
index 6b0e537..0000000
--- a/manifests/profile/pacemaker/neutron/metadata.pp
+++ /dev/null
@@ -1,44 +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::pacemaker::neutron::metadata
-#
-# Neutron Metadata Agent server profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid', undef)
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::neutron::metadata (
- $pacemaker_master = hiera('bootstrap_nodeid', undef),
- $step = hiera('step'),
-) {
- include ::neutron::params
- include ::tripleo::profile::pacemaker::neutron
- include ::tripleo::profile::base::neutron::metadata
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
- pacemaker::resource::service { $::neutron::params::metadata_agent_service:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-}
diff --git a/manifests/profile/pacemaker/neutron/midonet.pp b/manifests/profile/pacemaker/neutron/midonet.pp
deleted file mode 100644
index 33aed64..0000000
--- a/manifests/profile/pacemaker/neutron/midonet.pp
+++ /dev/null
@@ -1,81 +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::pacemaker::neutron::midonet
-#
-# Neutron Midonet driver Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid', undef)
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::neutron::midonet (
- $pacemaker_master = hiera('bootstrap_nodeid', undef),
- $step = hiera('step'),
-) {
- include ::neutron::params
- include ::tripleo::profile::pacemaker::neutron
- include ::tripleo::profile::base::neutron::midonet
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
-
- pacemaker::resource::service {'tomcat':
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
-
- #midonet-chain chain keystone-->neutron-server-->dhcp-->metadata->tomcat
- pacemaker::constraint::base { 'neutron-server-to-dhcp-agent-constraint':
- constraint_type => 'order',
- first_resource => "${::neutron::params::server_service}-clone",
- second_resource => "${::neutron::params::dhcp_agent_service}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::neutron::params::server_service],
- Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]],
- }
- pacemaker::constraint::base { 'neutron-dhcp-agent-to-metadata-agent-constraint':
- constraint_type => 'order',
- first_resource => "${::neutron::params::dhcp_agent_service}-clone",
- second_resource => "${::neutron::params::metadata_agent_service}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
- Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]],
- }
- pacemaker::constraint::base { 'neutron-metadata-agent-to-tomcat-constraint':
- constraint_type => 'order',
- first_resource => "${::neutron::params::metadata_agent_service}-clone",
- second_resource => 'tomcat-clone',
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service],
- Pacemaker::Resource::Service['tomcat']],
- }
- pacemaker::constraint::colocation { 'neutron-dhcp-agent-to-metadata-agent-colocation':
- source => "${::neutron::params::metadata_agent_service}-clone",
- target => "${::neutron::params::dhcp_agent_service}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
- Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]],
- }
- }
-}
diff --git a/manifests/profile/pacemaker/neutron/ovs.pp b/manifests/profile/pacemaker/neutron/ovs.pp
deleted file mode 100644
index c97cd65..0000000
--- a/manifests/profile/pacemaker/neutron/ovs.pp
+++ /dev/null
@@ -1,88 +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::pacemaker::neutron::ovs
-#
-# Neutron OVS Agent Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid', undef)
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::neutron::ovs (
- $pacemaker_master = hiera('bootstrap_nodeid', undef),
- $step = hiera('step'),
-) {
- include ::neutron::params
- include ::tripleo::profile::pacemaker::neutron
- include ::tripleo::profile::base::neutron::ovs
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
-
- pacemaker::resource::service { $::neutron::params::ovs_agent_service:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
-
- pacemaker::resource::ocf { $::neutron::params::ovs_cleanup_service:
- ocf_agent_name => 'neutron:OVSCleanup',
- clone_params => 'interleave=true',
- }
- pacemaker::resource::ocf { 'neutron-netns-cleanup':
- ocf_agent_name => 'neutron:NetnsCleanup',
- clone_params => 'interleave=true',
- }
-
- # neutron - one chain ovs-cleanup-->netns-cleanup-->ovs-agent
- pacemaker::constraint::base { 'neutron-ovs-cleanup-to-netns-cleanup-constraint':
- constraint_type => 'order',
- first_resource => "${::neutron::params::ovs_cleanup_service}-clone",
- second_resource => 'neutron-netns-cleanup-clone',
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service],
- Pacemaker::Resource::Ocf['neutron-netns-cleanup']],
- }
- pacemaker::constraint::colocation { 'neutron-ovs-cleanup-to-netns-cleanup-colocation':
- source => 'neutron-netns-cleanup-clone',
- target => "${::neutron::params::ovs_cleanup_service}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service],
- Pacemaker::Resource::Ocf['neutron-netns-cleanup']],
- }
- pacemaker::constraint::base { 'neutron-netns-cleanup-to-openvswitch-agent-constraint':
- constraint_type => 'order',
- first_resource => 'neutron-netns-cleanup-clone',
- second_resource => "${::neutron::params::ovs_agent_service}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'],
- Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
- }
- pacemaker::constraint::colocation { 'neutron-netns-cleanup-to-openvswitch-agent-colocation':
- source => "${::neutron::params::ovs_agent_service}-clone",
- target => 'neutron-netns-cleanup-clone',
- score => 'INFINITY',
- require => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'],
- Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
- }
- }
-}
diff --git a/manifests/profile/pacemaker/neutron/plugins/ml2.pp b/manifests/profile/pacemaker/neutron/plugins/ml2.pp
deleted file mode 100644
index aff682a..0000000
--- a/manifests/profile/pacemaker/neutron/plugins/ml2.pp
+++ /dev/null
@@ -1,26 +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::pacemaker::neutron::plugins::ml2
-#
-# Neutron ML2 driver Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-class tripleo::profile::pacemaker::neutron::plugins::ml2
-{
- include ::neutron::params
- include ::tripleo::profile::pacemaker::neutron
- include ::tripleo::profile::base::neutron::plugins::ml2
-}
diff --git a/manifests/profile/pacemaker/neutron/plugins/nuage.pp b/manifests/profile/pacemaker/neutron/plugins/nuage.pp
deleted file mode 100644
index 03cdb7e..0000000
--- a/manifests/profile/pacemaker/neutron/plugins/nuage.pp
+++ /dev/null
@@ -1,24 +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::pacemaker::neutron::plugins::nuage
-#
-# Nuage Neutron profile for tripleo pacemaker
-#
-# === Parameters
-#
-class tripleo::profile::pacemaker::neutron::plugins::nuage
-{
- include ::tripleo::profile::base::neutron::plugins::nuage
-}
diff --git a/manifests/profile/pacemaker/neutron/plugins/opencontrail.pp b/manifests/profile/pacemaker/neutron/plugins/opencontrail.pp
deleted file mode 100644
index 438245a..0000000
--- a/manifests/profile/pacemaker/neutron/plugins/opencontrail.pp
+++ /dev/null
@@ -1,24 +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::pacemaker::neutron::plugins::opencontrail
-#
-# Opencontrail Neutron profile for tripleo pacemaker
-#
-# === Parameters
-#
-class tripleo::profile::pacemaker::neutron::plugins::opencontrail
-{
- include ::tripleo::profile::base::neutron::plugins::opencontrail
-}
diff --git a/manifests/profile/pacemaker/neutron/plugins/plumgrid.pp b/manifests/profile/pacemaker/neutron/plugins/plumgrid.pp
deleted file mode 100644
index 38b2179..0000000
--- a/manifests/profile/pacemaker/neutron/plugins/plumgrid.pp
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2016 PLUMgrid, 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::pacemaker::neutron::plugins::plumgrid
-#
-# PLUMgrid Neutron profile for tripleo pacemaker
-#
-# === Parameters
-#
-class tripleo::profile::pacemaker::neutron::plugins::plumgrid
-{
- include ::tripleo::profile::base::neutron::plugins::plumgrid
-}
diff --git a/manifests/profile/pacemaker/neutron/server.pp b/manifests/profile/pacemaker/neutron/server.pp
deleted file mode 100644
index d817ee7..0000000
--- a/manifests/profile/pacemaker/neutron/server.pp
+++ /dev/null
@@ -1,47 +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::pacemaker::neutron::server
-#
-# Neutron Server Pacemaker profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid', undef)
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::neutron::server (
- $pacemaker_master = hiera('bootstrap_nodeid', undef),
- $step = hiera('step'),
-) {
- include ::neutron::params
- include ::tripleo::profile::pacemaker::neutron
-
- $sync_db = ($::hostname == downcase($pacemaker_master))
- if $step >= 3 and $sync_db {
- include ::neutron::db::mysql
- }
-
- if $step >= 4 or ( $step >= 3 and $sync_db ) {
- include ::neutron::server::notifications
- include ::neutron::server
- }
-
-}
diff --git a/manifests/profile/pacemaker/nova.pp b/manifests/profile/pacemaker/nova.pp
deleted file mode 100644
index 222035e..0000000
--- a/manifests/profile/pacemaker/nova.pp
+++ /dev/null
@@ -1,37 +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::pacemaker::nova
-#
-# Nova base with Pacemaker profile for tripleo
-#
-# === Parameters
-#
-# [*step*]
-# (Optional) The step in the deployment
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::nova (
- $step = hiera('step'),
-) {
- Service <|
- tag == 'nova-service'
- |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
-}
diff --git a/manifests/profile/pacemaker/nova/api.pp b/manifests/profile/pacemaker/nova/api.pp
deleted file mode 100644
index 6724b4d..0000000
--- a/manifests/profile/pacemaker/nova/api.pp
+++ /dev/null
@@ -1,88 +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::pacemaker::nova::api
-#
-# Nova API with Pacemaker profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to downcase(hiera('bootstrap_nodeid'))
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::nova::api (
- $pacemaker_master = downcase(hiera('bootstrap_nodeid')),
- $step = hiera('step'),
-) {
-
- include ::nova::params
- include ::tripleo::profile::pacemaker::nova
-
- Service<| title == 'nova-api' |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- include ::tripleo::profile::base::nova::api
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
- pacemaker::resource::service { $::nova::params::api_service_name:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
-
- pacemaker::constraint::base { 'nova-vncproxy-then-nova-api-constraint':
- constraint_type => 'order',
- first_resource => "${::nova::params::vncproxy_service_name}-clone",
- second_resource => "${::nova::params::api_service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name],
- Pacemaker::Resource::Service[$::nova::params::api_service_name]],
- }
- pacemaker::constraint::colocation { 'nova-api-with-nova-vncproxy-colocation':
- source => "${::nova::params::api_service_name}-clone",
- target => "${::nova::params::vncproxy_service_name}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name],
- Pacemaker::Resource::Service[$::nova::params::api_service_name]],
- }
- pacemaker::constraint::base { 'nova-api-then-nova-scheduler-constraint':
- constraint_type => 'order',
- first_resource => "${::nova::params::api_service_name}-clone",
- second_resource => "${::nova::params::scheduler_service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::nova::params::api_service_name],
- Pacemaker::Resource::Service[$::nova::params::scheduler_service_name]],
- }
- pacemaker::constraint::colocation { 'nova-scheduler-with-nova-api-colocation':
- source => "${::nova::params::scheduler_service_name}-clone",
- target => "${::nova::params::api_service_name}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::nova::params::api_service_name],
- Pacemaker::Resource::Service[$::nova::params::scheduler_service_name]],
- }
-
- }
-
-}
diff --git a/manifests/profile/pacemaker/nova/conductor.pp b/manifests/profile/pacemaker/nova/conductor.pp
deleted file mode 100644
index b7ffe0c..0000000
--- a/manifests/profile/pacemaker/nova/conductor.pp
+++ /dev/null
@@ -1,77 +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::pacemaker::nova::conductor
-#
-# Nova Conductor with Pacemaker profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::nova::conductor (
- $pacemaker_master = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
-
- include ::nova::params
- include ::tripleo::profile::pacemaker::nova
- include ::tripleo::profile::base::nova::conductor
-
- Service<| title == 'nova-conductor' |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
- pacemaker::resource::service { $::nova::params::conductor_service_name:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
-
- pacemaker::constraint::base { 'nova-scheduler-then-nova-conductor-constraint':
- constraint_type => 'order',
- first_resource => "${::nova::params::scheduler_service_name}-clone",
- second_resource => "${::nova::params::conductor_service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::nova::params::scheduler_service_name],
- Pacemaker::Resource::Service[$::nova::params::conductor_service_name]],
- }
- pacemaker::constraint::colocation { 'nova-conductor-with-nova-scheduler-colocation':
- source => "${::nova::params::conductor_service_name}-clone",
- target => "${::nova::params::scheduler_service_name}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::nova::params::scheduler_service_name],
- Pacemaker::Resource::Service[$::nova::params::conductor_service_name]],
- }
-
-
- # If Service['nova-compute'] is in catalog, make sure we start it after
- # nova-conductor pcmk resource.
- # Also make sure to restart nova-compute if nova-conductor pcmk resource changed
- # the state, since nova-compute is deployed at a previous step.
- Pacemaker::Resource::Service[$::nova::params::conductor_service_name] ~> Service<| title == 'nova-compute' |>
- }
-
-}
diff --git a/manifests/profile/pacemaker/nova/consoleauth.pp b/manifests/profile/pacemaker/nova/consoleauth.pp
deleted file mode 100644
index aeec6b4..0000000
--- a/manifests/profile/pacemaker/nova/consoleauth.pp
+++ /dev/null
@@ -1,87 +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::pacemaker::nova::consoleauth
-#
-# Nova Consoleauth with Pacemaker profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::nova::consoleauth (
- $pacemaker_master = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
-
- include ::nova::params
- include ::tripleo::profile::pacemaker::nova
- include ::tripleo::profile::base::nova::consoleauth
-
- Service<| title == 'nova-consoleauth' |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
- pacemaker::resource::service { $::nova::params::consoleauth_service_name:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
-
- pacemaker::constraint::base { 'keystone-then-nova-consoleauth-constraint':
- constraint_type => 'order',
- first_resource => 'openstack-core-clone',
- second_resource => "${::nova::params::consoleauth_service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::nova::params::consoleauth_service_name],
- Pacemaker::Resource::Ocf['openstack-core']],
- }
- pacemaker::constraint::colocation { 'nova-consoleauth-with-openstack-core':
- source => "${::nova::params::consoleauth_service_name}-clone",
- target => 'openstack-core-clone',
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::nova::params::consoleauth_service_name],
- Pacemaker::Resource::Ocf['openstack-core']],
- }
- pacemaker::constraint::base { 'nova-consoleauth-then-nova-vncproxy-constraint':
- constraint_type => 'order',
- first_resource => "${::nova::params::consoleauth_service_name}-clone",
- second_resource => "${::nova::params::vncproxy_service_name}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Service[$::nova::params::consoleauth_service_name],
- Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name]],
- }
- pacemaker::constraint::colocation { 'nova-vncproxy-with-nova-consoleauth-colocation':
- source => "${::nova::params::vncproxy_service_name}-clone",
- target => "${::nova::params::consoleauth_service_name}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Service[$::nova::params::consoleauth_service_name],
- Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name]],
- }
-
- }
-
-}
diff --git a/manifests/profile/pacemaker/nova/scheduler.pp b/manifests/profile/pacemaker/nova/scheduler.pp
deleted file mode 100644
index d4d3dab..0000000
--- a/manifests/profile/pacemaker/nova/scheduler.pp
+++ /dev/null
@@ -1,52 +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::pacemaker::nova::scheduler
-#
-# Nova Scheduler with Pacemaker profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::nova::scheduler (
- $pacemaker_master = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- include ::nova::params
- include ::tripleo::profile::pacemaker::nova
- include ::tripleo::profile::base::nova::scheduler
-
- Service<| title == 'nova-scheduler' |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
- pacemaker::resource::service { $::nova::params::scheduler_service_name:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/nova/vncproxy.pp b/manifests/profile/pacemaker/nova/vncproxy.pp
deleted file mode 100644
index e9a1124..0000000
--- a/manifests/profile/pacemaker/nova/vncproxy.pp
+++ /dev/null
@@ -1,52 +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::pacemaker::nova::vncproxy
-#
-# Nova vncproxy with Pacemaker profile for tripleo
-#
-# === Parameters
-#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::nova::vncproxy (
- $pacemaker_master = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- include ::nova::params
- include ::tripleo::profile::pacemaker::nova
- include ::tripleo::profile::base::nova::vncproxy
-
- Service<| title == 'nova-vncproxy' |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- if $step >= 5 and downcase($::hostname) == $pacemaker_master {
- pacemaker::resource::service { $::nova::params::vncproxy_service_name:
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-
-}
diff --git a/manifests/profile/pacemaker/sahara.pp b/manifests/profile/pacemaker/sahara.pp
deleted file mode 100644
index 07cd882..0000000
--- a/manifests/profile/pacemaker/sahara.pp
+++ /dev/null
@@ -1,37 +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::pacemaker::sahara
-#
-# Sahara Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::sahara (
- $step = hiera('step'),
-) {
- Service <| tag == 'sahara-service' |> {
- hasrestart => true,
- restart => '/bin/true',
- start => '/bin/true',
- stop => '/bin/true',
- }
-
- include ::tripleo::profile::base::sahara
-}
diff --git a/manifests/profile/pacemaker/sahara/api.pp b/manifests/profile/pacemaker/sahara/api.pp
deleted file mode 100644
index 70632d1..0000000
--- a/manifests/profile/pacemaker/sahara/api.pp
+++ /dev/null
@@ -1,50 +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::pacemaker::sahara::api
-#
-# Sahara API Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::sahara::api (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- include ::tripleo::profile::pacemaker::sahara
- include ::tripleo::profile::base::sahara::api
-
- if $step >= 5 and $pacemaker_master {
- # Sahara
- pacemaker::resource::service { $::sahara::params::api_service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-}
diff --git a/manifests/profile/pacemaker/sahara/engine.pp b/manifests/profile/pacemaker/sahara/engine.pp
deleted file mode 100644
index 640acc0..0000000
--- a/manifests/profile/pacemaker/sahara/engine.pp
+++ /dev/null
@@ -1,49 +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::pacemaker::sahara::engine
-#
-# Sahara Engine Pacemaker HA profile for tripleo
-#
-# === Parameters
-#
-# [*bootstrap_node*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
-# [*step*]
-# (Optional) The current step in deployment. See tripleo-heat-templates
-# for more details.
-# Defaults to hiera('step')
-#
-class tripleo::profile::pacemaker::sahara::engine (
- $bootstrap_node = hiera('bootstrap_nodeid'),
- $step = hiera('step'),
-) {
- if $::hostname == downcase($bootstrap_node) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
-
- include ::tripleo::profile::pacemaker::sahara
- include ::tripleo::profile::base::sahara::engine
-
- if $step >= 5 and $pacemaker_master {
- pacemaker::resource::service { $::sahara::params::engine_service_name :
- op_params => 'start timeout=200s stop timeout=200s',
- clone_params => 'interleave=true',
- }
- }
-}