530 lines
16 KiB
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
|