fuel-plugin-contrail/deployment_tasks.yaml

467 lines
14 KiB
YAML

# Groups
# Contrail - DB
- id: primary-contrail-db
type: group
role: [primary-contrail-db]
tasks: [hiera, globals, tools, logging, netconfig, hosts, deploy_start]
required_for: [deploy_end]
requires: [deploy_start]
parameters:
strategy:
type: one_by_one
- id: contrail-db
type: group
role: [contrail-db]
tasks: [hiera, globals, tools, logging, netconfig, hosts, deploy_start]
required_for: [deploy_end]
requires: [deploy_start, primary-contrail-db]
parameters:
strategy:
type: parallel
#
# Contrail - Config
- id: primary-contrail-config
type: group
role: [primary-contrail-config]
tasks: [hiera, globals, tools, logging, netconfig, hosts, deploy_start]
required_for: [deploy_end]
requires: [deploy_start, contrail-db, primary-controller]
parameters:
strategy:
type: one_by_one
- id: contrail-config
type: group
role: [contrail-config]
tasks: [hiera, globals, tools, logging, netconfig, hosts, deploy_start]
required_for: [deploy_end]
requires: [deploy_start, primary-contrail-config]
parameters:
strategy:
type: parallel
#
# Contrail - Control
- id: primary-contrail-control
type: group
role: [primary-contrail-control]
tasks: [hiera, globals, tools, logging, netconfig, hosts, deploy_start]
required_for: [deploy_end]
requires: [deploy_start, contrail-config]
parameters:
strategy:
type: one_by_one
- id: contrail-control
type: group
role: [contrail-control]
tasks: [hiera, globals, tools, logging, netconfig, hosts, deploy_start]
required_for: [deploy_end]
requires: [deploy_start, primary-contrail-control]
parameters:
strategy:
type: parallel
#
# Group for post-deployment tasks
- id: contrail-post-deploy
type: group
role: [primary-contrail-db, contrail-db,
primary-contrail-config,contrail-config,
primary-contrail-control,contrail-control]
tasks: [configure_default_route, dns-client, ntp-client]
required_for: [post_deployment_end]
requires: [post_deployment_start]
parameters:
strategy:
type: parallel
#
# Compute dpdk feature
- id: dpdk
type: group
role: [dpdk]
tasks: []
required_for: [deploy_end]
requires: [deploy_start]
parameters:
strategy:
type: parallel
#
# Compute sriov feature
- id: sriov
type: group
role: [sriov]
tasks: []
required_for: [deploy_end]
requires: [deploy_start]
parameters:
strategy:
type: parallel
# Tasks
# Install Contrail utils, java
- id: contrail-utils
type: puppet
groups: [primary-contrail-db, contrail-db,
primary-contrail-config,contrail-config,
primary-contrail-control,contrail-control]
required_for: [deploy_end]
requires: [deploy_start, hosts]
parameters:
puppet_manifest: puppet/manifests/contrail-utils.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
# Install Cassandra and wait cluster to bootstrap
- id: contrail-db-seed
type: puppet
groups: [primary-contrail-db]
required_for: [deploy_end]
requires: [contrail-utils]
parameters:
puppet_manifest: puppet/manifests/contrail-db.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 3600
# deploy other Cassandra servers
- id: contrail-db-bootstrap
type: puppet
groups: [contrail-db]
required_for: [deploy_end]
requires: [contrail-utils]
parameters:
puppet_manifest: puppet/manifests/contrail-db.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 3600
# Configure haproxy on OpenStack Controllers
- id: openstack-haproxy-contrail
type: puppet
groups: [primary-controller, controller]
required_for: [deploy_end]
requires: [deploy_start, openstack-haproxy, rabbitmq]
parameters:
puppet_manifest: puppet/manifests/controller-vip.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
# Install and configure Contrail Config, Contrail Analytics, Contrail WebUI
# this task is performed on one node initially to allow discovery service to start up
- id: contrail-config-primary
type: puppet
groups: [primary-contrail-config]
required_for: [deploy_end]
requires: [contrail-utils]
parameters:
puppet_manifest: puppet/manifests/contrail-config.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1440
# Provision Primary Control config
- id: contrail-config-provision-primary
type: puppet
groups: [primary-contrail-config]
required_for: [deploy_end]
requires: [contrail-config-primary]
parameters:
puppet_manifest: puppet/manifests/contrail-config-provision.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1440
# Perform same actions on other contrail-config nodes
- id: contrail-config-all
type: puppet
groups: [contrail-config]
required_for: [deploy_end]
requires: [contrail-utils]
parameters:
puppet_manifest: puppet/manifests/contrail-config.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1440
# Provision Control config
- id: contrail-config-provision
type: puppet
groups: [contrail-config]
required_for: [deploy_end]
requires: [contrail-config-all]
parameters:
puppet_manifest: puppet/manifests/contrail-config-provision.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1440
# Install and configure Contrail Control Node
- id: contrail-control-primary
type: puppet
groups: [primary-contrail-control]
required_for: [deploy_end]
requires: [contrail-utils]
parameters:
puppet_manifest: puppet/manifests/contrail-control.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1440
# Provision Primary Contrail control
- id: contrail-control-provision-primary
type: puppet
groups: [primary-contrail-control]
required_for: [deploy_end]
requires: [contrail-control-primary]
parameters:
puppet_manifest: puppet/manifests/contrail-control-provision.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1440
# Install other Contrail Control Nodes
- id: contrail-control-all
type: puppet
groups: [contrail-control]
required_for: [deploy_end]
requires: [contrail-utils]
parameters:
puppet_manifest: puppet/manifests/contrail-control.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1440
# Provision Contrail control
- id: contrail-control-provision
type: puppet
groups: [contrail-control]
required_for: [deploy_end]
requires: [contrail-control-all]
parameters:
puppet_manifest: puppet/manifests/contrail-control-provision.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1440
# Provision Control db
- id: contrail-db-provision
type: puppet
role: [primary-contrail-db,contrail-db]
required_for: [post_deployment_end]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/contrail-db-provision.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1440
# Set proper apt pin for Contrail repository
- id: contrail-repository
type: puppet
groups: [compute]
required_for: [tools]
requires: [deploy_start, globals]
parameters:
puppet_manifest: puppet/manifests/contrail-compute-repo.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
# Create overrides for Hiera on Controllers: empty predefined_nets
- id: controller-hiera-pre
type: puppet
groups: [primary-controller,controller]
required_for: [openstack-network-start]
requires: [deploy_start, globals]
parameters:
puppet_manifest: puppet/manifests/controller-hiera-pre.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 120
#
# Create overrides for Hiera on Computes
- id: compute-hiera
type: puppet
groups: [compute]
required_for: [netconfig]
requires: [deploy_start, globals]
parameters:
puppet_manifest: puppet/manifests/compute-hiera.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 120
# Skip L2, L3, DHCP and Metadata Neutron agents
- id: primary-openstack-network-agents-l3
type: skipped
- id: openstack-network-agents-l3
type: skipped
- id: primary-openstack-network-plugins-l2
type: skipped
- id: openstack-network-plugins-l2
type: skipped
- id: primary-openstack-network-agents-dhcp
type: skipped
- id: openstack-network-agents-dhcp
type: skipped
- id: primary-openstack-network-agents-metadata
type: skipped
- id: openstack-network-agents-metadata
type: skipped
# Skip default fuel networks and routers
- id: openstack-network-networks
type: skipped
- id: openstack-network-routers
type: skipped
# Create overrides for Hiera on Controllers: contrail-specific predefined_nets
- id: controller-hiera-post
type: puppet
role: [primary-controller,controller]
required_for: [post_deployment_end]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/controller-hiera-post.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 120
# Congirures DPDK and SR-IOV filters in nova-scheduler
- id: controller-scheduler
type: puppet
role: [primary-controller, controller]
required_for: [post_deployment_end]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/controller-scheduler.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 120
# Configuration for Neutron and Heat on Primary OpenStack Controller
- id: openstack-controller-contrail-primary
type: puppet
role: [primary-controller]
required_for: [post_deployment_end]
requires: [controller-hiera-post]
parameters:
puppet_manifest: puppet/manifests/controller-config.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
# Create networks for ostf-tests, provision route target
- id: openstack-controller-provision
type: puppet
role: [primary-controller]
required_for: [post_deployment_end]
requires: [openstack-controller-contrail-primary]
parameters:
puppet_manifest: puppet/manifests/controller-provision.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
# Configure other OpenStack Controllers
- id: openstack-controller-contrail
type: puppet
role: [controller]
required_for: [post_deployment_end]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/controller-config.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
# Workaround for #1550450
- id: enable_nova_compute_service
type: skipped
# Set apt pin for packeges that need to be override
- id: contrail-override-repository
type: puppet
role: [compute]
required_for: [post_deployment_end, contrail-compute-hugepages]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/contrail-compute-override.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
# Configures hugepages kernel settings if dpdk is enabled
- id: contrail-compute-hugepages
type: puppet
role: [compute]
required_for: [post_deployment_end, contrail-compute-provision]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/contrail-compute-hugepages.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
# Configures sriov
- id: contrail-compute-sriov
type: puppet
role: [compute]
required_for: [post_deployment_end, contrail-compute-provision]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/contrail-compute-sriov.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
- id: contrail-compute-provision
type: puppet
role: [compute]
required_for: [post_deployment_end, contrail-compute-network]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/contrail-compute-provision.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
- id: contrail-compute-network
type: puppet
role: [compute]
required_for: [post_deployment_end, contrail-compute-nova]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/contrail-compute-network.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
- id: contrail-compute-nova
type: puppet
role: [compute]
required_for: [post_deployment_end, contrail-compute-firewall]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/contrail-compute-nova.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
- id: contrail-compute-firewall
type: puppet
role: [compute]
required_for: [post_deployment_end, contrail-compute-vrouter]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/contrail-compute-firewall.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
- id: contrail-compute-vrouter
type: puppet
role: [compute]
required_for: [post_deployment_end, contrail-compute-aggregate]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/contrail-compute-vrouter.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
# Creates aggregate for DPDK
- id: contrail-compute-aggregate
type: puppet
role: [compute]
required_for: [post_deployment_end, compute-reboot]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/contrail-compute-aggregate.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 120
# Reboot compute nodes, if it need.
- id: compute-reboot
type: shell
role: [compute]
required_for: [post_deployment_end]
requires: [configure_default_route]
parameters:
cmd: if [ -f /tmp/contrail-reboot-require ]; then /sbin/reboot; fi
timeout: 720