aboutsummaryrefslogtreecommitdiffstats
path: root/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'puppet')
-rw-r--r--puppet/all-nodes-config.yaml2
-rw-r--r--puppet/ceph-storage-post-puppet.yaml6
-rw-r--r--puppet/ceph-storage-puppet.yaml4
-rw-r--r--puppet/cinder-storage-post.yaml3
-rw-r--r--puppet/cinder-storage-puppet.yaml3
-rw-r--r--puppet/compute-post-puppet.yaml6
-rw-r--r--puppet/compute-puppet.yaml4
-rw-r--r--puppet/controller-post-puppet.yaml10
-rw-r--r--puppet/controller-puppet.yaml3
-rw-r--r--puppet/hieradata/RedHat.yaml7
-rw-r--r--puppet/hieradata/controller.yaml7
-rw-r--r--puppet/manifests/overcloud_controller.pp1
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp30
-rw-r--r--puppet/swift-storage-post.yaml8
-rw-r--r--puppet/swift-storage-puppet.yaml4
15 files changed, 82 insertions, 16 deletions
diff --git a/puppet/all-nodes-config.yaml b/puppet/all-nodes-config.yaml
index c50d6820..060f4c81 100644
--- a/puppet/all-nodes-config.yaml
+++ b/puppet/all-nodes-config.yaml
@@ -78,6 +78,8 @@ resources:
- {get_param: ceph_storage_hosts}
hiera:
datafiles:
+ RedHat:
+ raw_data: {get_file: hieradata/RedHat.yaml}
all_nodes:
mapped_data:
controller_node_ips:
diff --git a/puppet/ceph-storage-post-puppet.yaml b/puppet/ceph-storage-post-puppet.yaml
index eb62ba1e..1b5b944d 100644
--- a/puppet/ceph-storage-post-puppet.yaml
+++ b/puppet/ceph-storage-post-puppet.yaml
@@ -6,6 +6,10 @@ description: >
parameters:
servers:
type: json
+ NodeConfigIdentifiers:
+ type: json
+ description: Value which changes if the node configuration may need to be re-applied
+
resources:
CephStoragePuppetConfig:
@@ -22,6 +26,8 @@ resources:
properties:
servers: {get_param: servers}
config: {get_resource: CephStoragePuppetConfig}
+ input_values:
+ update_identifier: {get_param: NodeConfigIdentifiers}
# Note, this should come last, so use depends_on to ensure
# this is created after any other resources.
diff --git a/puppet/ceph-storage-puppet.yaml b/puppet/ceph-storage-puppet.yaml
index 2250f429..245d8ebb 100644
--- a/puppet/ceph-storage-puppet.yaml
+++ b/puppet/ceph-storage-puppet.yaml
@@ -157,3 +157,7 @@ outputs:
storage_mgmt_ip_address:
description: IP address of the server in the storage_mgmt network
value: {get_attr: [StorageMgmtPort, ip_address]}
+ config_identifier:
+ description: identifier which changes if the node configuration may need re-applying
+ value: {get_attr: [CephStorageDeployment, deploy_stdout]}
+
diff --git a/puppet/cinder-storage-post.yaml b/puppet/cinder-storage-post.yaml
index f17a1567..24d2b8a3 100644
--- a/puppet/cinder-storage-post.yaml
+++ b/puppet/cinder-storage-post.yaml
@@ -4,6 +4,9 @@ description: 'OpenStack cinder storage post deployment for Puppet'
parameters:
servers:
type: json
+ NodeConfigIdentifiers:
+ type: json
+ description: Value which changes if the node configuration may need to be re-applied
resources:
diff --git a/puppet/cinder-storage-puppet.yaml b/puppet/cinder-storage-puppet.yaml
index a368ffd1..cc8d17c4 100644
--- a/puppet/cinder-storage-puppet.yaml
+++ b/puppet/cinder-storage-puppet.yaml
@@ -295,3 +295,6 @@ outputs:
storage_mgmt_ip_address:
description: IP address of the server in the storage_mgmt network
value: {get_attr: [StorageMgmtPort, ip_address]}
+ config_identifier:
+ description: identifier which changes if the node configuration may need re-applying
+ value: {get_attr: [BlockStorageDeployment, deploy_stdout]}
diff --git a/puppet/compute-post-puppet.yaml b/puppet/compute-post-puppet.yaml
index ca5eb649..b4a6126b 100644
--- a/puppet/compute-post-puppet.yaml
+++ b/puppet/compute-post-puppet.yaml
@@ -6,6 +6,10 @@ description: >
parameters:
servers:
type: json
+ NodeConfigIdentifiers:
+ type: json
+ description: Value which changes if the node configuration may need to be re-applied
+
resources:
@@ -23,6 +27,8 @@ resources:
properties:
servers: {get_param: servers}
config: {get_resource: ComputePuppetConfig}
+ input_values:
+ update_identifier: {get_param: NodeConfigIdentifiers}
# Note, this should come last, so use depends_on to ensure
# this is created after any other resources.
diff --git a/puppet/compute-puppet.yaml b/puppet/compute-puppet.yaml
index b34e7a6f..7e49bc22 100644
--- a/puppet/compute-puppet.yaml
+++ b/puppet/compute-puppet.yaml
@@ -516,3 +516,7 @@ outputs:
description: Heat resource handle for the Nova compute server
value:
{get_resource: NovaCompute}
+ config_identifier:
+ description: identifier which changes if the node configuration may need re-applying
+ value: {get_attr: [NovaComputeDeployment, deploy_stdout]}
+
diff --git a/puppet/controller-post-puppet.yaml b/puppet/controller-post-puppet.yaml
index 373daba2..e88561e6 100644
--- a/puppet/controller-post-puppet.yaml
+++ b/puppet/controller-post-puppet.yaml
@@ -6,6 +6,10 @@ description: >
parameters:
servers:
type: json
+ NodeConfigIdentifiers:
+ type: json
+ description: Value which changes if the node configuration may need to be re-applied
+
resources:
@@ -23,6 +27,7 @@ resources:
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 1
+ update_identifier: {get_param: NodeConfigIdentifiers}
actions: ['CREATE'] # no need for two passes on an UPDATE
ControllerServicesBaseDeployment_Step2:
@@ -33,6 +38,7 @@ resources:
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 2
+ update_identifier: {get_param: NodeConfigIdentifiers}
actions: ['CREATE'] # no need for two passes on an UPDATE
ControllerRingbuilderPuppetConfig:
@@ -54,6 +60,8 @@ resources:
properties:
servers: {get_param: servers}
config: {get_resource: ControllerRingbuilderPuppetConfig}
+ input_values:
+ update_identifier: {get_param: NodeConfigIdentifiers}
ControllerOvercloudServicesDeployment_Step4:
type: OS::Heat::StructuredDeployments
@@ -63,6 +71,7 @@ resources:
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 3
+ update_identifier: {get_param: NodeConfigIdentifiers}
ControllerOvercloudServicesDeployment_Step5:
type: OS::Heat::StructuredDeployments
@@ -72,6 +81,7 @@ resources:
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 4
+ update_identifier: {get_param: NodeConfigIdentifiers}
# Note, this should come last, so use depends_on to ensure
# this is created after any other resources.
diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml
index 3d7ecd58..1e563331 100644
--- a/puppet/controller-puppet.yaml
+++ b/puppet/controller-puppet.yaml
@@ -1070,3 +1070,6 @@ outputs:
template: "IP:11211"
params:
IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
+ config_identifier:
+ description: identifier which changes if the controller configuration may need re-applying
+ value: {get_attr: [ControllerDeployment, deploy_stdout]}
diff --git a/puppet/hieradata/RedHat.yaml b/puppet/hieradata/RedHat.yaml
index f42c7159..25902828 100644
--- a/puppet/hieradata/RedHat.yaml
+++ b/puppet/hieradata/RedHat.yaml
@@ -1,2 +1,9 @@
# RedHat specific overrides go here
rabbitmq::package_provider: 'yum'
+
+# The Galera package should work in cluster and
+# non-cluster modes based on the config file.
+# We set the package name here explicitly so
+# that it matches what we pre-install
+# in tripleo-puppet-elements.
+mysql::server::package_name: 'mariadb-galera-server'
diff --git a/puppet/hieradata/controller.yaml b/puppet/hieradata/controller.yaml
index d0cbe890..3de9bd91 100644
--- a/puppet/hieradata/controller.yaml
+++ b/puppet/hieradata/controller.yaml
@@ -48,7 +48,6 @@ swift::proxy::pipeline:
- 'tempurl'
- 'formpost'
- 'staticweb'
- - 'ceilometer'
- 'authtoken'
- 'keystone'
- 'proxy-logging'
@@ -90,13 +89,9 @@ pacemaker::corosync::manage_fw: false
horizon::allowed_hosts: '*'
horizon::django_session_engine: 'django.contrib.sessions.backends.cache'
-
+# mysql
mysql::server::manage_config_file: true
-mysql::server::package_name: mariadb-galera-server
-
-tripleo::loadbalancer::galera_master_ip: "%{hiera('bootstrap_nodeid_ip')}"
-tripleo::loadbalancer::galera_master_hostname: "%{hiera('bootstrap_nodeid')}"
tripleo::loadbalancer::keystone_admin: true
tripleo::loadbalancer::keystone_public: true
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 19ed97fb..bc20bad5 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -364,7 +364,6 @@ if hiera('step') >= 3 {
include ::swift::proxy::keystone
include ::swift::proxy::authtoken
include ::swift::proxy::staticweb
- include ::swift::proxy::ceilometer
include ::swift::proxy::ratelimit
include ::swift::proxy::catch_errors
include ::swift::proxy::tempurl
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index 8ad7239f..3d693313 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -56,6 +56,7 @@ if hiera('step') >= 1 {
controller_hosts => $controller_node_ips,
controller_hosts_names => $controller_node_names,
manage_vip => false,
+ mysql_clustercheck => true,
haproxy_service_manage => false,
}
@@ -156,6 +157,7 @@ if hiera('step') >= 1 {
config_file => $mysql_config_file,
override_options => $mysqld_options,
service_manage => false,
+ service_enabled => false,
}
}
@@ -227,6 +229,7 @@ if hiera('step') >= 2 {
# NOTE (spredzy) : The replset can only be run
# once all the nodes have joined the cluster.
mongodb_conn_validator { $mongo_node_ips_with_port :
+ timeout => '600',
require => Pacemaker::Resource::Service[$::mongodb::params::service_name],
before => Mongodb_replset[$mongodb_replset],
}
@@ -1119,6 +1122,15 @@ if hiera('step') >= 4 {
clone_params => 'interleave=true',
resource_params => 'startdelay=10',
}
+ pacemaker::constraint::base { 'keystone-then-ceilometer-central-constraint':
+ constraint_type => 'order',
+ first_resource => "${::keystone::params::service_name}-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::Service[$::keystone::params::service_name]],
+ }
pacemaker::constraint::base { 'ceilometer-central-then-ceilometer-collector-constraint':
constraint_type => 'order',
first_resource => "${::ceilometer::params::agent_central_service_name}-clone",
@@ -1228,15 +1240,6 @@ if hiera('step') >= 4 {
require => [Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name],
Pacemaker::Resource::Ip['vip-redis']],
}
- pacemaker::constraint::base { 'keystone-then-ceilometer-central-constraint':
- constraint_type => 'order',
- first_resource => "${::keystone::params::service_name}-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::Service[$::keystone::params::service_name]],
- }
# Heat
pacemaker::resource::service { $::heat::params::api_service_name :
@@ -1251,6 +1254,15 @@ if hiera('step') >= 4 {
pacemaker::resource::service { $::heat::params::engine_service_name :
clone_params => 'interleave=true',
}
+ pacemaker::constraint::base { 'keystone-then-heat-api-constraint':
+ constraint_type => 'order',
+ first_resource => "${::keystone::params::service_name}-clone",
+ second_resource => "${::heat::params::api_service_name}-clone",
+ first_action => 'start',
+ second_action => 'start',
+ require => [Pacemaker::Resource::Service[$::heat::params::api_service_name],
+ Pacemaker::Resource::Service[$::keystone::params::service_name]],
+ }
pacemaker::constraint::base { 'heat-api-then-heat-api-cfn-constraint':
constraint_type => 'order',
first_resource => "${::heat::params::api_service_name}-clone",
diff --git a/puppet/swift-storage-post.yaml b/puppet/swift-storage-post.yaml
index 7a3c1abb..ee50c86a 100644
--- a/puppet/swift-storage-post.yaml
+++ b/puppet/swift-storage-post.yaml
@@ -4,6 +4,10 @@ description: 'OpenStack swift storage node post deployment for Puppet'
parameters:
servers:
type: json
+ NodeConfigIdentifiers:
+ type: json
+ description: Value which changes if the node configuration may need to be re-applied
+
resources:
@@ -21,6 +25,8 @@ resources:
properties:
servers: {get_param: servers}
config: {get_resource: StoragePuppetConfig}
+ input_values:
+ update_identifier: {get_param: NodeConfigIdentifiers}
StorageRingbuilderPuppetConfig:
type: OS::Heat::SoftwareConfig
@@ -37,6 +43,8 @@ resources:
properties:
servers: {get_param: servers}
config: {get_resource: StorageRingbuilderPuppetConfig}
+ input_values:
+ update_identifier: {get_param: NodeConfigIdentifiers}
# Note, this should come last, so use depends_on to ensure
# this is created after any other resources.
diff --git a/puppet/swift-storage-puppet.yaml b/puppet/swift-storage-puppet.yaml
index 15481032..82922a87 100644
--- a/puppet/swift-storage-puppet.yaml
+++ b/puppet/swift-storage-puppet.yaml
@@ -216,3 +216,7 @@ outputs:
storage_mgmt_ip_address:
description: IP address of the server in the storage_mgmt network
value: {get_attr: [StorageMgmtPort, ip_address]}
+ config_identifier:
+ description: identifier which changes if the node configuration may need re-applying
+ value: {get_attr: [SwiftStorageHieraDeploy, deploy_stdout]}
+