fuel-plugin-lma-collector/deployment_tasks.yaml

184 lines
5.3 KiB
YAML

# Tasks definitions for the deployment
# ####################################
# The OCF script should exist before any nodes try to configure the
# collector services with Pacemaker.
- id: install-ocf-script
type: puppet
version: 2.0.0
groups: ["/(primary-)?(controller|standalone-database|standalone-rabbitmq)/"]
requires: [fuel_pkgs]
# Required for the cluster tasks when the environment is scaled up
required_for: [primary-cluster, cluster]
parameters:
puppet_manifest: puppet/manifests/install_ocf_script.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 120
# Tasks definitions for the post-deployment
# #########################################
# 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: '*'
parameters:
puppet_manifest: puppet/manifests/base.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]
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]
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]
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-main-ceph-osd
type: puppet
version: 2.0.0
requires: [lma-base]
required_for: [lma-aggregator]
role: [ceph-osd]
parameters:
puppet_manifest: puppet/manifests/ceph_osd.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]
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
- id: lma-backends
type: puppet
version: 2.0.0
requires: [lma-base]
required_for: [lma-cleanup-apt-config]
role:
- primary-elasticsearch_kibana
- elasticsearch_kibana
- primary-influxdb_grafana
- influxdb_grafana
parameters:
puppet_manifest: puppet/manifests/lma_backends.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