# Groups # Contrail - DB - id: primary-contrail-db type: group role: [primary-contrail-db] tasks: [hiera, globals, setup_repositories, 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, setup_repositories, tools, logging, netconfig, hosts, deploy_start] required_for: [deploy_end] requires: [deploy_start, primary-contrail-db] parameters: strategy: type: one_by_one # # Contrail - Config - id: primary-contrail-config type: group role: [primary-contrail-config] tasks: [hiera, globals, setup_repositories, 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, setup_repositories, tools, logging, netconfig, hosts, deploy_start] required_for: [deploy_end] requires: [deploy_start, primary-contrail-config] parameters: strategy: type: parallel # # Contrail - Analytics - id: primary-contrail-analytics type: group role: [primary-contrail-analytics] tasks: [hiera, globals, setup_repositories, tools, logging, netconfig, hosts, deploy_start] required_for: [deploy_end] requires: [deploy_start, contrail-db, primary-contrail-config] parameters: strategy: type: one_by_one - id: contrail-analytics type: group role: [contrail-analytics] tasks: [hiera, globals, setup_repositories, tools, logging, netconfig, hosts, deploy_start] required_for: [deploy_end] requires: [deploy_start, contrail-db, primary-contrail-analytics] parameters: strategy: type: parallel # # Contrail - Control - id: primary-contrail-control type: group role: [primary-contrail-control] tasks: [hiera, globals, setup_repositories, 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, setup_repositories, tools, logging, netconfig, hosts, deploy_start] required_for: [deploy_end] requires: [deploy_start, primary-contrail-control] parameters: strategy: type: parallel - id: primary-contrail-tsn type: group role: [primary-contrail-tsn] tasks: [hiera, globals, setup_repositories, tools, logging, netconfig, hosts, deploy_start] required_for: [deploy_end] requires: [deploy_start, primary-contrail-control] parameters: strategy: type: parallel - id: contrail-tsn type: group role: [contrail-tsn] tasks: [hiera, globals, setup_repositories, 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, primary-contrail-analytics,contrail-analytics] 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 ############# #1. Install Contrail utils, java ############# - id: contrail-utils type: puppet version: 2.0.0 groups: ["/(primary-)?contrail.*/"] 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 ############# #2. Install Cassandra and wait cluster to bootstrap ############# - id: contrail-db-primary type: puppet version: 2.0.0 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 # This task is a anchor for make dependency between fuel keystone tasks and contrail db setup - id: contrail-keystone type: skipped version: 2.0.0 groups: [primary-controller, controller] required_for: [deploy_end] requires: [primary-keystone, keystone, neutron-keystone, nova-keystone] cross-depended-by: - name: contrail-db-primary ################ #3. Deploy other Cassandra servers ################ - id: contrail-db-all type: puppet version: 2.0.0 groups: [contrail-db] required_for: [deploy_end] requires: [contrail-utils] cross-depends: - name: contrail-db-primary parameters: puppet_manifest: puppet/manifests/contrail-db.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 3600 ############### #4. Install and configure Contrail Config, Contrail WebUI # this task is performed on one node initially to allow discovery service to start up ############### - id: contrail-config-primary type: puppet version: 2.0.0 groups: [primary-contrail-config] required_for: [deploy_end] requires: [contrail-utils, deploy_start] reexecute_on: [deploy_changes] cross-depends: - name: /contrail-db(-primary|-all)/ - name: openstack-haproxy-contrail - name: primary-keystone parameters: puppet_manifest: puppet/manifests/contrail-config.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 1440 ################ #5. Provision Primary Control config ################ - id: contrail-config-provision-primary type: puppet version: 2.0.0 groups: [primary-contrail-config] required_for: [deploy_end] requires: [contrail-config-primary] reexecute_on: [deploy_changes] parameters: puppet_manifest: puppet/manifests/contrail-config-provision.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 1440 ################ #6. Perform same actions on other contrail-config nodes ################ - id: contrail-config-all type: puppet version: 2.0.0 groups: [contrail-config] required_for: [deploy_end] requires: [contrail-utils] reexecute_on: [deploy_changes] cross-depends: - name: contrail-config-primary - name: contrail-config-provision-primary parameters: puppet_manifest: puppet/manifests/contrail-config.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 1440 strategy: type: parallel ############### #7. Provision Contrail Config ############### - id: contrail-config-provision-all type: puppet version: 2.0.0 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 strategy: type: parallel ############### #8. Install Contrail Analytics ############### - id: contrail-analytics-all type: puppet version: 2.0.0 groups: [primary-contrail-analytics,contrail-analytics] required_for: [deploy_end] requires: [contrail-utils, deploy_start] cross-depends: - name: /contrail-config(-primary|-all)/ - name: /contrail-config-provision(-primary|-all)/ parameters: puppet_manifest: puppet/manifests/contrail-analytics.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 1440 ################ #9. Provision Contrail Analytics ################ - id: contrail-analytics-provision-all type: puppet version: 2.0.0 groups: [primary-contrail-analytics,contrail-analytics] required_for: [deploy_end] requires: [contrail-analytics-all] parameters: puppet_manifest: puppet/manifests/contrail-analytics-provision.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 1440 ################ #10. Install and configure Contrail Control Node ################ - id: contrail-control-primary type: puppet version: 2.0.0 groups: [primary-contrail-control] required_for: [deploy_end] requires: [contrail-utils] cross-depends: - name: /contrail-config(-primary|-all)/ - name: /contrail-config-provision(-primary|-all)/ - name: contrail-db-provision-all parameters: puppet_manifest: puppet/manifests/contrail-control.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 1440 ################ #11. Provision Primary Contrail control ################ - id: contrail-control-provision-primary type: puppet version: 2.0.0 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 ############## #12. Install other Contrail Control Nodes ############## - id: contrail-control-all type: puppet version: 2.0.0 groups: [contrail-control] required_for: [deploy_end] requires: [contrail-utils] cross-depends: - name: /contrail-config-provision(-all|-primary)/ - name: contrail-control-primary parameters: puppet_manifest: puppet/manifests/contrail-control.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 1440 strategy: type: parallel ################ #13. Provision Contrail control ################ - id: contrail-control-provision-all type: puppet version: 2.0.0 groups: [contrail-control] required_for: [deploy_end] requires: [contrail-control-all] cross-depends: - name: contrail-control-provision-primary parameters: puppet_manifest: puppet/manifests/contrail-control-provision.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 1440 strategy: type: parallel ############### #14. Provision Control db ############### - id: contrail-db-provision-all type: puppet version: 2.0.0 groups: [primary-contrail-db, contrail-db] required_for: [deploy_end] requires: [contrail-utils] cross-depends: - name: /contrail-config-provision(-all|-primary)/ parameters: puppet_manifest: puppet/manifests/contrail-db-provision.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 1440 strategy: type: parallel ############################################################## # Openstack Controller tasks section ############################################################## ############# # Create overrides for Hiera on Controllers: empty predefined_nets ############# - id: controller-hiera-pre type: puppet version: 2.0.0 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 - id: openstack-haproxy-contrail type: puppet version: 2.0.0 groups: [primary-controller, controller] requires: [deploy_start, primary-cluster-haproxy, cluster-haproxy] required_for: [deploy_end, openstack-haproxy] reexecute_on: [deploy_changes] cross-depended-by: - name: contrail-config-primary parameters: puppet_manifest: puppet/manifests/controller-vip.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 # Skip L2, L3, DHCP and Metadata Neutron agents - id: primary-openstack-network-agents-l3 roles: '*' type: skipped version: 2.0.0 - id: openstack-network-agents-l3 roles: '*' type: skipped version: 2.0.0 - id: primary-openstack-network-plugins-l2 roles: '*' type: skipped version: 2.0.0 - id: openstack-network-plugins-l2 roles: '*' type: skipped version: 2.0.0 - id: primary-openstack-network-agents-dhcp roles: '*' type: skipped version: 2.0.0 - id: openstack-network-agents-dhcp roles: '*' type: skipped version: 2.0.0 - id: primary-openstack-network-agents-metadata roles: '*' type: skipped version: 2.0.0 - id: openstack-network-agents-metadata roles: '*' type: skipped version: 2.0.0 - id: openstack-network-agents-sriov roles: '*' type: skipped version: 2.0.0 # Skip default fuel networks and routers - id: openstack-network-networks roles: '*' type: skipped version: 2.0.0 - id: openstack-network-routers roles: '*' type: skipped version: 2.0.0 - id: openstack-controller-contrail type: puppet version: 2.0.0 groups: [primary-controller, controller] required_for: [deploy_end] requires: [controller_remaining_tasks, controller-hiera-post, primary-heat, heat] 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 version: 2.0.0 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 version: 2.0.0 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 version: 2.0.0 groups: [primary-controller,controller] required_for: [deploy_end] requires: [openstack-network-end] parameters: puppet_manifest: puppet/manifests/controller-hiera-post.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 120 ################# # Create networks for ostf-tests and provision route target ################# - id: openstack-controller-provision type: puppet version: 2.0.0 groups: [primary-controller] required_for: [deploy_end] requires: [controller-hiera-post] cross-depends: - name: /(primary-)?openstack-controller$/ role: self - name: /(primary-)?heat/ role: self - name: /openstack-network-end/ role: self - name: /contrail-common-repo/ role: self - name: contrail-config-all policy: all - name: contrail-config-primary policy: all - name: openstack-controller-contrail policy: all strategy: type: one-by-one parameters: puppet_manifest: puppet/manifests/controller-provision.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 ############################################################## # TSN tasks section ############################################################## # Set proper apt pin for Contrail repository - id: contrail-repository-tsn type: puppet version: 2.0.0 groups: [primary-contrail-tsn] 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 - id: contrail-tsn-network type: puppet version: 2.0.0 role: [primary-contrail-tsn] required_for: [post_deployment_end, contrail-tsn-vrouter] requires: [post_deployment_start] parameters: puppet_manifest: puppet/manifests/contrail-compute-network.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 - id: contrail-tsn-vrouter type: puppet version: 2.0.0 role: [primary-contrail-tsn] requires: [post_deployment_start, contrail-tsn-network] required_for: [reconfigure-contrail-tsn-vrouter] parameters: puppet_manifest: puppet/manifests/contrail-compute-vrouter.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 - id: reconfigure-contrail-tsn-vrouter type: puppet version: 2.0.0 role: [primary-contrail-tsn] requires: [contrail-tsn-vrouter] required_for: [provision-tsn-vrouter] parameters: puppet_manifest: puppet/manifests/reconfigure-contrail-tsn-vrouter.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 - id: provision-tsn-vrouter type: puppet version: 2.0.0 role: [primary-contrail-tsn] required_for: [post_deployment_end] requires: [reconfigure-contrail-tsn-vrouter] cross-depends: - name: /contrail-config-provision(-all|-primary)/ parameters: puppet_manifest: puppet/manifests/contrail-tsn-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 version: 2.0.0 groups: [compute] required_for: [tools] requires: [deploy_start, setup_repositories, globals] parameters: puppet_manifest: puppet/manifests/contrail-compute-repo.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 ################# # Create overrides for Hiera on Computes ################# - id: compute-hiera type: puppet version: 2.0.0 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 # Workaround for #1550450 - id: enable_nova_compute_service groups: [compute] type: skipped version: 2.0.0 # # Set apt pin for packeges that need to be override - id: contrail-override-repository type: puppet version: 2.0.0 groups: [compute] required_for: [deploy_end] requires: [top-role-compute, enable_nova_compute_service, openstack-network-end, compute-hiera] 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 version: 2.0.0 groups: [compute] required_for: [deploy_end] requires: [top-role-compute, enable_nova_compute_service, openstack-network-end, contrail-override-repository] 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 # version: 2.0.0 # groups: [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 version: 2.0.0 groups: [compute] required_for: [deploy_end] requires: [top-role-compute, enable_nova_compute_service, openstack-network-end, contrail-compute-hugepages] parameters: puppet_manifest: puppet/manifests/contrail-compute-provision.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 cross-depends: - name: openstack-controller-provision role: primary-controller strategy: type: one-by-one - id: contrail-compute-network type: puppet version: 2.0.0 groups: [compute] required_for: [deploy_end] requires: [top-role-compute, enable_nova_compute_service, openstack-network-end, contrail-compute-provision] parameters: puppet_manifest: puppet/manifests/contrail-compute-network.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 - id: contrail-compute-nova type: puppet version: 2.0.0 groups: [compute] required_for: [deploy_end] requires: [top-role-compute, enable_nova_compute_service, openstack-network-end, contrail-compute-network] cross-depends: - name: openstack-controller-provision policy: all parameters: puppet_manifest: puppet/manifests/contrail-compute-nova.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 - id: contrail-compute-firewall type: puppet version: 2.0.0 groups: [compute] required_for: [deploy_end] requires: [top-role-compute, enable_nova_compute_service, openstack-network-end, contrail-compute-nova] parameters: puppet_manifest: puppet/manifests/contrail-compute-firewall.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 - id: contrail-compute-vrouter type: puppet version: 2.0.0 groups: [compute] required_for: [deploy_end] requires: [top-role-compute, enable_nova_compute_service, openstack-network-end, contrail-compute-firewall] 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 version: 2.0.0 groups: [compute] required_for: [deploy_end] requires: [top-role-compute, enable_nova_compute_service, openstack-network-end, contrail-compute-vrouter] 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: [contrail-compute-aggregate] parameters: cmd: if [ -f /tmp/contrail-reboot-require ]; then nohup /sbin/shutdown -r +1 &> /dev/null & fi timeout: 720 - id: sahara type: skipped - id: sahara-contrail type: puppet version: 2.0.0 role: [primary-controller, controller] condition: "settings:additional_components.sahara.value == true" required_for: [post_deployment_end] requires: [openstack-controller-provision] parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/sahara/sahara.pp puppet_modules: /etc/puppet/modules timeout: 3600 test_pre: cmd: ruby /etc/puppet/modules/osnailyfacter/modular/sahara/sahara_pre.rb test_post: cmd: ruby /etc/puppet/modules/osnailyfacter/modular/sahara/sahara_post.rb