38ec02fe46
This removes duplication of code and limitations we had to deal with because the collectd Puppet resources don't play well when they are created at different times from several manifests. Change-Id: I52fabb1fb5795a33f552168553a148b1520fc496
156 lines
4.7 KiB
YAML
156 lines
4.7 KiB
YAML
# The Hiera data needs to be populated first so that other plugins (eg LMA
|
|
# Infrastructure Alerting) can use it
|
|
- id: lma-hiera-override
|
|
type: puppet
|
|
version: 2.0.0
|
|
requires: [post_deployment_start]
|
|
required_for: [post_deployment_end]
|
|
role: '*'
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/hiera_override.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 600
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
- id: lma-configure-apt
|
|
type: puppet
|
|
version: 2.0.0
|
|
# We use upload_nodes_info as an anchor to order the post-deployment tasks executed
|
|
# by this plugin and the InfluxDB & Elasticsearch plugins. The dependency chain is:
|
|
# Other plugins tasks -> upload_nodes_info -> (LMA collector tasks)
|
|
requires: [post_deployment_start, upload_nodes_info, lma-hiera-override]
|
|
required_for: [post_deployment_end]
|
|
role: '*'
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/configure_apt.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 600
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
- id: lma-base
|
|
type: puppet
|
|
version: 2.0.0
|
|
requires: [lma-configure-apt]
|
|
required_for: [post_deployment_end]
|
|
role: '*'
|
|
# lma-configure-apt ships the OCF script so the task should wait for the
|
|
# script to be available on all the necessary nodes otherwise Pacemaker may
|
|
# fail to start the resource and keep it in failed state forever.
|
|
# See https://bugs.launchpad.net/lma-toolchain/+bug/1593137 for details
|
|
cross-depends:
|
|
- name: lma-configure-apt
|
|
role: /.*/
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/base.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 600
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
- id: lma-collectd
|
|
type: puppet
|
|
version: 2.0.0
|
|
requires: [lma-base]
|
|
required_for: [post_deployment_end]
|
|
role: '*'
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/collectd.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 600
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
# All tasks lma-main-* must be executed before lma-aggregator. So we don't
|
|
# need to add a requirement to post_deployment_end because it is implied
|
|
# by the one to lma-aggregator.
|
|
- id: lma-main-controller
|
|
type: puppet
|
|
version: 2.0.0
|
|
requires: [lma-base, lma-collectd]
|
|
required_for: [lma-aggregator]
|
|
role: [controller, primary-controller]
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/controller.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 600
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
- id: lma-main-compute
|
|
type: puppet
|
|
version: 2.0.0
|
|
requires: [lma-base, lma-collectd]
|
|
required_for: [lma-aggregator]
|
|
role: [compute]
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/compute.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 600
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
- id: lma-main-cinder
|
|
type: puppet
|
|
version: 2.0.0
|
|
requires: [lma-base, lma-collectd]
|
|
required_for: [lma-aggregator]
|
|
role: [cinder]
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/cinder.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 600
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
- id: lma-aggregator
|
|
type: puppet
|
|
version: 2.0.0
|
|
requires: [lma-base, lma-collectd]
|
|
required_for: [post_deployment_end]
|
|
role: '*'
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/aggregator.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 600
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
- id: lma-configure-afd-filters
|
|
type: puppet
|
|
version: 2.0.0
|
|
requires: [lma-aggregator]
|
|
# Required for post_deployment_end is induced by lma-cleanup-apt-config
|
|
required_for: [lma-cleanup-apt-config]
|
|
role: '*'
|
|
# The AFD filters shouldn't send data before the aggregator service is
|
|
# configured on all the controllers, hence the cross-depends parameter that
|
|
# is required when running in a task-based deployment mode.
|
|
cross-depends:
|
|
- name: lma-aggregator
|
|
role: [primary-controller, controller]
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/configure_afd_filters.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 600
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
|
|
# This task must be executed at the very end of the deployment.
|
|
- id: lma-cleanup-apt-config
|
|
type: puppet
|
|
version: 2.0.0
|
|
# We use update_hosts as an anchor to order the post-deployment tasks
|
|
# executed by the LMA infrastructure plugin. The dependency chain is:
|
|
# LMA collector tasks -> update_hosts -> (LMA Infrastructure Alerting tasks)
|
|
required_for: [post_deployment_end, update_hosts]
|
|
role: '*'
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/cleanup_apt_config.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 600
|
|
reexecute_on:
|
|
- deploy_changes
|