Update to task based deployment
MOS 9 comes with a new orchestration engine (so-called v2 or task-based deployement) which reduces greatly the time necessary to deploy new environments. This change updates the deployment tasks to be fully compatible with the v2 engine since when a deployment mixes v1 and v2 tasks, the engine falls back to the v1 (slower) mode. Note that we need to keep the backward compatibility with MOS 8 so the deployment tasks still define the v1 attributes like 'requires' and 'required_for'. Related-bug: #1558669 Change-Id: I92ede3808ad0b2bc9a39d4ec6560b1cc7ae256c3
This commit is contained in:
parent
e24330ef53
commit
a6ff1ac1ab
@ -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
|
||||||
|
|
||||||
|
109
tasks.yaml
109
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
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user