fuel-plugin-lma-collector/deployment_tasks.yaml
Simon Pasquier 38ec02fe46 Add a dedicated manifest to configure collectd
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
2016-08-26 15:59:04 +02:00

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