204 lines
6.0 KiB
YAML
204 lines
6.0 KiB
YAML
# Setup standard repositories for MLNX_OFED installation
|
|
- role: '*'
|
|
id: hiera_mlnx
|
|
parameters:
|
|
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/hiera/hiera.pp
|
|
puppet_modules: /etc/puppet/modules
|
|
timeout: 3600
|
|
required_for: [setup_repositories_mlnx]
|
|
requires: [pre_deployment_start]
|
|
type: puppet
|
|
version: 2.0.0
|
|
- role: '*'
|
|
id: setup_repositories_mlnx
|
|
parameters:
|
|
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/fuel_pkgs/setup_repositories.pp
|
|
puppet_modules: /etc/puppet/modules
|
|
timeout: 600
|
|
requires: [hiera_mlnx]
|
|
required_for: [pre_deployment_end]
|
|
type: puppet
|
|
version: 2.0.0
|
|
# Log a notice about pre_deployment start
|
|
- id: init_mlnx_logs
|
|
role: '*'
|
|
required_for: [link_astute_file]
|
|
requires: [setup_repositories_mlnx]
|
|
type: shell
|
|
parameters:
|
|
cmd: ./log_stage.sh mlnx_deployment_start
|
|
timeout: 10
|
|
# This is a workaround: during the plugin pre_deployment stage
|
|
# there is no symbolic link from astute.yaml to <role>.yaml.
|
|
# Since the data that the plugin uses is common to all <role>.yaml files,
|
|
# this script links astute.yaml to any <role>.yaml on each node.
|
|
- id: link_astute_file
|
|
role: '*'
|
|
required_for: [customize_mellanox_hiera]
|
|
requires: [init_mlnx_logs]
|
|
type: shell
|
|
parameters:
|
|
cmd: ./link_astute_file.sh
|
|
timeout: 10
|
|
# Add relevant settings for Mellanox manifests to mellanox plugin section in
|
|
# Hiera, to make the data easily accessible and independent of astute.yaml
|
|
- id: customize_mellanox_hiera
|
|
role: '*'
|
|
required_for: [validate_kernel_devel]
|
|
requires: [link_astute_file]
|
|
type: shell
|
|
parameters:
|
|
cmd: ./mellanox_settings.py
|
|
timeout: 20
|
|
# Verify kernel-devel packages are installed (if CentOS)
|
|
- id: validate_kernel_devel
|
|
role: '*'
|
|
required_for: [install_mlnx_ofed]
|
|
requires: [customize_mellanox_hiera]
|
|
type: puppet
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/verify_kernel_devel.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 200
|
|
# Install OFED + FW upgrade
|
|
- id: install_mlnx_ofed
|
|
role: '*'
|
|
required_for: [configure_vxlan_offload]
|
|
requires: [validate_kernel_devel]
|
|
type: shell
|
|
parameters:
|
|
cmd: ./install_ofed.sh
|
|
timeout: 3600
|
|
# add VXLAN offloading parameters
|
|
- id: configure_vxlan_offload
|
|
role: '*'
|
|
required_for: [configure_sriov]
|
|
requires: [install_mlnx_ofed]
|
|
type: shell
|
|
parameters:
|
|
cmd: ./vxlan_offloading.sh configure
|
|
timeout: 120
|
|
# Configure number of VFs according to the user decision:
|
|
# change modprobe file + IOMMU in grub file + change VFs num in FW
|
|
- id: configure_sriov
|
|
role: '*'
|
|
required_for: [rename_iser_probe_vf]
|
|
requires: [configure_vxlan_offload]
|
|
type: shell
|
|
parameters:
|
|
cmd: ./sriov.sh configure
|
|
timeout: 200
|
|
# if VXLAN is not required. Rename iSER interface for Eth mode
|
|
- id: rename_iser_probe_vf
|
|
role: '*'
|
|
required_for: [reboot_after_ofed]
|
|
requires: [configure_sriov]
|
|
type: puppet
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/iser_rename.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 200
|
|
# Reboot due to OFED installation / IOMMU configuration
|
|
- id: reboot_after_ofed
|
|
role: '*'
|
|
required_for: [validate_sriov]
|
|
requires: [rename_iser_probe_vf]
|
|
type: reboot
|
|
parameters:
|
|
timeout: 500
|
|
# Check number of VFs
|
|
- id: validate_sriov
|
|
role: '*'
|
|
required_for: [modprobe_vfio]
|
|
requires: [reboot_after_ofed]
|
|
type: shell
|
|
parameters:
|
|
cmd: ./sriov.sh validate
|
|
timeout: 200
|
|
# Load required kmods for SR-IOV
|
|
- id: modprobe_vfio
|
|
role: ['compute']
|
|
required_for: [remove_blocking_iptable_roles]
|
|
requires: [validate_sriov]
|
|
type: shell
|
|
parameters:
|
|
cmd: ./vfio.sh
|
|
timeout: 200
|
|
# This is a workaround: disable wrong rules in CentOS IBP #1458832.
|
|
- id: remove_blocking_iptable_roles
|
|
role: '*'
|
|
required_for: [pre_deployment_end]
|
|
requires: [modprobe_vfio]
|
|
type: shell
|
|
parameters:
|
|
cmd: ./blocking_iptables_rules.sh
|
|
timeout: 200
|
|
# Log a notice about post_deployment start
|
|
- id: print_stage_post_deployment
|
|
role: '*'
|
|
required_for: [post_deployment_end]
|
|
requires: [post_deployment_start]
|
|
type: shell
|
|
parameters:
|
|
cmd: ./log_stage.sh post_deployment
|
|
timeout: 20
|
|
# Execute post_deployment manifest for each role
|
|
- id: configure_mellanox_controller
|
|
role: ['controller', 'primary-controller']
|
|
required_for: [configure_mlnx_iser_ib]
|
|
requires: [print_stage_post_deployment]
|
|
type: puppet
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/controller.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 2000
|
|
- id: configure_mellanox_compute
|
|
role: ['compute']
|
|
required_for: [configure_mlnx_iser_ib]
|
|
requires: [print_stage_post_deployment]
|
|
type: puppet
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/compute.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 500
|
|
- id: configure_mellanox_cinder
|
|
role: ['cinder']
|
|
required_for: [configure_mlnx_iser_ib]
|
|
requires: [print_stage_post_deployment]
|
|
type: puppet
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/cinder.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 500
|
|
# Set storage network configurations on the IB child
|
|
# if exists
|
|
- id: configure_mlnx_iser_ib
|
|
role: '*'
|
|
required_for: [move_ib_interfaces_to_persistent]
|
|
requires: [post_deployment_start]
|
|
type: puppet
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/configure_iser_child.pp
|
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
timeout: 200
|
|
# Move Ubuntu iSER conigurations to /etc/network/interfaces
|
|
# For MLNX_OFED drivers
|
|
- id: move_ib_interfaces_to_persistent
|
|
role: '*'
|
|
required_for: [cp_sriov_user_scripts]
|
|
requires: [configure_mlnx_iser_ib]
|
|
type: shell
|
|
parameters:
|
|
cmd: ./move_ubuntu_ib_interfaces_conf.sh
|
|
timeout: 120
|
|
# Copy SR-IOV user scripts to controllers
|
|
- id: cp_sriov_user_scripts
|
|
role: ['controller', 'primary-controller']
|
|
required_for: [post_deployment_end]
|
|
requires: [move_ib_interfaces_to_persistent]
|
|
type: shell
|
|
parameters:
|
|
cmd: cp -r ./user_scripts/* /sbin/
|
|
timeout: 180
|
|
retries: 10
|