fuel-plugin-contrail/deployment_tasks.yaml

530 lines
16 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
#
# 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
#Overrides for generating vmware keypair
- id: copy_keys
type: copy_files
role: '*'
required_for: [pre_deployment_end]
requires: [generate_keys]
parameters:
files:
- src: /var/lib/fuel/keys/{CLUSTER_ID}/neutron/neutron.pub
dst: /var/lib/astute/neutron/neutron.pub
- src: /var/lib/fuel/keys/{CLUSTER_ID}/neutron/neutron
dst: /var/lib/astute/neutron/neutron
- src: /var/lib/fuel/keys/{CLUSTER_ID}/nova/nova.pub
dst: /var/lib/astute/nova/nova.pub
- src: /var/lib/fuel/keys/{CLUSTER_ID}/nova/nova
dst: /var/lib/astute/nova/nova
- src: /var/lib/fuel/keys/{CLUSTER_ID}/mysql/mysql.pub
dst: /var/lib/astute/mysql/mysql.pub
- src: /var/lib/fuel/keys/{CLUSTER_ID}/mysql/mysql
dst: /var/lib/astute/mysql/mysql
- src: /var/lib/fuel/keys/{CLUSTER_ID}/mongodb/mongodb.key
dst: /var/lib/astute/mongodb/mongodb.key
- src: /var/lib/fuel/keys/{CLUSTER_ID}/vmware/vmware
dst: /var/lib/astute/vmware/vmware
- src: /var/lib/fuel/keys/{CLUSTER_ID}/vmware/vmware.pub
dst: /var/lib/astute/vmware/vmware.pub
permissions: '0600'
dir_permissions: '0700'
cwd: /
- id: generate_keys
type: shell
role: master
requires: [pre_deployment_start]
required_for: [copy_keys]
parameters:
cmd: sh /etc/puppet/modules/osnailyfacter/modular/astute/generate_keys.sh -i {CLUSTER_ID} -o 'mongodb' -s 'neutron nova mysql vmware' -p /var/lib/fuel/keys/
timeout: 180
cwd: /
# 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
# 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
# Configure default route on contrail nodes
- id: contrail-default-route
type: puppet
role: [primary-contrail-db, contrail-db,
primary-contrail-config,contrail-config,
primary-contrail-control,contrail-control]
requires: [post_deployment_start]
required_for: [contrail-dns-client]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/netconfig/configure_default_route.pp
puppet_modules: /etc/puppet/modules
timeout: 3600
cwd: /
# Configure resolver on contrail nodes
- id: contrail-dns-client
type: puppet
role: [primary-contrail-db, contrail-db,
primary-contrail-config,contrail-config,
primary-contrail-control,contrail-control]
requires: [contrail-default-route]
required_for: [contrail-ntp-client]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/dns/dns-client.pp
puppet_modules: /etc/puppet/modules
timeout: 3600
cwd: /
# Configure ntp client on contrail nodes
- id: contrail-ntp-client
type: puppet
role: [primary-contrail-db, contrail-db,
primary-contrail-config,contrail-config,
primary-contrail-control,contrail-control]
requires: [contrail-dns-client]
required_for: [post_deployment_end]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ntp/ntp-client.pp
puppet_modules: /etc/puppet/modules
timeout: 3600
cwd: /
##############################################################
# Openstack Controller tasks section
##############################################################
# Create overrides for Hiera on Controllers: empty predefined_nets
- id: controller-hiera-pre
type: puppet
groups: [primary-controller,controller]
required_for: [openstack-network]
requires: [deploy_start, globals]
parameters:
puppet_manifest: puppet/manifests/controller-hiera-pre.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 120
# 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
# Configuration for Nova, Neutron, Heat, Ceilometer on OpenStack Controllers
- id: openstack-controller-contrail
type: puppet
groups: [primary-controller, controller]
required_for: [deploy_end]
requires: [controller_remaining_tasks]
parameters:
puppet_manifest: puppet/manifests/controller-config.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
# Congirures DPDK and SR-IOV filters in nova-scheduler
- id: controller-scheduler
type: puppet
groups: [primary-controller, controller]
required_for: [deploy_end]
requires: [openstack-controller-contrail]
parameters:
puppet_manifest: puppet/manifests/controller-scheduler.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 120
# Creates aggregate for DPDK
- id: contrail-controller-aggregate
type: puppet
groups: [primary-controller]
required_for: [deploy_end]
requires: [controller-scheduler]
parameters:
puppet_manifest: puppet/manifests/contrail-controller-aggregate.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 120
# 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
# Configure vmware integration
- id: openstack-controller-vmware-primary
type: puppet
role: [primary-controller]
required_for: [post_deployment_end]
requires: [controller-hiera-post]
parameters:
puppet_manifest: puppet/manifests/controller-vmware.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
# Create networks for ostf-tests and provision route target
- id: openstack-controller-provision
type: puppet
role: [primary-controller]
required_for: [post_deployment_end]
requires: [controller-hiera-post]
parameters:
puppet_manifest: puppet/manifests/controller-provision.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 720
##############################################################
# Compute tasks section
##############################################################
# 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
# 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
# Deploy contrail vCenter plugin
- id: contrail-compute-vmware
type: puppet
role: [compute-vmware]
required_for: [post_deployment_end]
requires: [post_deployment_start]
parameters:
puppet_manifest: puppet/manifests/contrail-compute-vmware.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
# Adds node to nova 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