diff --git a/deployment_tasks.yaml b/deployment_tasks.yaml index fe9259443..fc73b4eed 100644 --- a/deployment_tasks.yaml +++ b/deployment_tasks.yaml @@ -1,2 +1,151 @@ ---- -[] +# 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 + +- id: lma-check-configuration + type: puppet + version: 2.0.0 + requires: [post_deployment_start] + required_for: [post_deployment_end] + role: [primary-controller] + parameters: + puppet_manifest: puppet/manifests/check_environment_configuration.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 300 + +- id: lma-configure-apt + type: puppet + version: 2.0.0 + requires: [post_deployment_start] + required_for: [post_deployment_end] + role: '*' + parameters: + puppet_manifest: puppet/manifests/configure_apt.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 600 + +- id: lma-base + type: puppet + version: 2.0.0 + requires: [lma-hiera-override, 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 + +# 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +# The influxdb-configuration task is declared by the influxdb-grafana plugin. +# The elasticsearch-kibana-configuration task is declared by the +# elasticsearch-kibana plugin. +- id: lma-backends + type: puppet + version: 2.0.0 + requires: [lma-base, influxdb-configuration, elasticsearch-kibana-configuration] + 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 + +# This task must be executed at the very end of the deployment. +- id: lma-cleanup-apt-config + type: puppet + version: 2.0.0 + required_for: [post_deployment_end] + role: '*' + parameters: + puppet_manifest: puppet/manifests/cleanup_apt_config.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 600 + diff --git a/tasks.yaml b/tasks.yaml index ed207e7f7..fe51488c7 100644 --- a/tasks.yaml +++ b/tasks.yaml @@ -1,108 +1 @@ -# This task is executed before any real deployment task -- role: ['primary-controller'] - stage: post_deployment/8000 - type: puppet - parameters: - puppet_manifest: puppet/manifests/check_environment_configuration.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 300 - -# The Hiera data needs to be populated first so that other plugins (eg LMA -# Infrastructure Alerting) can use it -- role: '*' - stage: post_deployment/8000 - type: puppet - parameters: - puppet_manifest: puppet/manifests/hiera_override.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 600 - -# The following tasks are executed in the order they are declared - -# We need to control what is deployed when we install a new package. So -# we need to prevent the installation of recommended packages. -# See https://bugs.launchpad.net/fuel-plugins/+bug/1494186 -- role: '*' - stage: post_deployment/8200 - type: puppet - parameters: - puppet_manifest: puppet/manifests/configure_apt.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 600 - -- role: '*' - stage: post_deployment/8200 - type: puppet - parameters: - puppet_manifest: puppet/manifests/base.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 600 - -- role: '*' - stage: post_deployment/8200 - type: puppet - parameters: - puppet_manifest: puppet/manifests/aggregator.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 600 - -- role: ['controller', 'primary-controller'] - stage: post_deployment/8200 - type: puppet - parameters: - puppet_manifest: puppet/manifests/controller.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 600 - -- role: [ 'compute' ] - stage: post_deployment/8200 - type: puppet - parameters: - puppet_manifest: puppet/manifests/compute.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 600 - -- role: ['cinder'] - stage: post_deployment/8200 - type: puppet - parameters: - puppet_manifest: puppet/manifests/cinder.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 600 - -- role: ['ceph-osd'] - stage: post_deployment/8200 - type: puppet - parameters: - puppet_manifest: puppet/manifests/ceph_osd.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 600 - -- role: '*' - stage: post_deployment/8200 - type: puppet - parameters: - puppet_manifest: puppet/manifests/configure_afd_filters.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 600 - -- role: - - primary-elasticsearch_kibana - - elasticsearch_kibana - - primary-influxdb_grafana - - influxdb_grafana - stage: post_deployment/8200 - type: puppet - parameters: - puppet_manifest: puppet/manifests/lma_backends.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 600 - -- role: '*' - stage: post_deployment/8200 - type: puppet - parameters: - puppet_manifest: puppet/manifests/cleanup_apt_config.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 600 - +[]