Adding support for FPB 3.0.0 and Fuel 8.0

Change-Id: Ibc36e9371d6eba33b1ababbebe859414d5c7ed84
This commit is contained in:
Aviram Bar-Haim 2016-01-24 18:59:21 +02:00
parent c86e56b70a
commit c43afd462b
5 changed files with 73 additions and 57 deletions

View File

@ -21,12 +21,13 @@ function fail_on_error() {
}
# Verify distrobution
( [ -f /etc/redhat-release ] && grep -q "release 6" /etc/redhat-release ) ||
fail_on_error "Mellanox plugin build script supports only Redhat/CentOS 6"
( [ -f /etc/redhat-release ] ) ||
fail_on_error "Mellanox plugin build script supports only Redhat/CentOS"
readonly TOP_DIR=`dirname $0`
readonly TMP_DIR='/tmp'
readonly PLUGIN_BUILDER_DIR="$TMP_DIR/fuel-plugins/"
readonly FUEL_PLUGIN_VERSION=`cat metadata.yaml | grep package_version | awk '{print $2}' | head -c 2 | tail -c 1`
readonly PLUGIN_BUILDER_PACKAGE_DIR="$PLUGIN_BUILDER_DIR/dist"
pushd $TOP_DIR > /dev/null
@ -51,7 +52,8 @@ git clone https://github.com/stackforge/fuel-plugins.git $TMP_DIR/fuel-plugins |
fail_on_error "Failed cloning fuel-plugin-builder git repository"
# Append bootstrap post install to the spec
cat specs/post.spec >> $PLUGIN_BUILDER_DIR/fuel_plugin_builder/templates/v2/build/plugin_rpm.spec.mako
plugin_template=$PLUGIN_BUILDER_DIR/fuel_plugin_builder/templates/v$FUEL_PLUGIN_VERSION
sed -i '/%post/r specs/post.spec' $plugin_template/build/plugin_rpm.spec.mako
# Install plugin builder
pushd $PLUGIN_BUILDER_DIR > /dev/null

View File

@ -1,5 +1,6 @@
# Log a notice about pre_deployment start
- role: '*'
- id: init_mlnx_logs
role: '*'
stage: pre_deployment
type: shell
parameters:
@ -9,7 +10,8 @@
# 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.
- role: '*'
- id: link_astute_file
role: '*'
stage: pre_deployment
type: shell
parameters:
@ -17,14 +19,16 @@
timeout: 5
# Add relevant settings for Mellanox manifests to mellanox plugin section in
# Hiera, to make the data easily accessible and independent of astute.yaml
- role: '*'
- id: customize_mellanox_hiera
role: '*'
stage: pre_deployment
type: shell
parameters:
cmd: ./mellanox_settings.py
timeout: 10
# Verify kernel-devel packages are installed (if CentOS)
- role: '*'
- id: validate_kernel_devel
role: '*'
stage: pre_deployment
type: puppet
parameters:
@ -32,14 +36,16 @@
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 200
# Install OFED + FW upgrade
- role: '*'
- id: install_mlnx_ofed
role: '*'
stage: pre_deployment
type: shell
parameters:
cmd: ./install_ofed.sh
timeout: 3600
# add VXLAN offloading parameters
- role: '*'
- id: configure_vxlan_offload
role: '*'
stage: pre_deployment
type: shell
parameters:
@ -47,14 +53,16 @@
timeout: 60
# Configure number of VFs according to the user decision:
# change modprobe file + IOMMU in grub file + change VFs num in FW
- role: '*'
- id: configure_sriov
role: '*'
stage: pre_deployment
type: shell
parameters:
cmd: ./sriov.sh configure
timeout: 60
# if VXLAN is not required. Rename iSER interface for Eth mode
- role: '*'
- id: rename_iser_probe_vf
role: '*'
stage: pre_deployment
type: puppet
parameters:
@ -62,48 +70,55 @@
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 60
# Reboot due to OFED installation / IOMMU configuration
- role: '*'
- id: reboot_after_ofed
role: '*'
stage: pre_deployment
type: reboot
parameters:
timeout: 420
# change modprobe file + IOMMU in grub file + change VFs num in FW
- role: '*'
- id: validate_sriov
role: '*'
stage: pre_deployment
type: shell
parameters:
cmd: ./sriov.sh validate
timeout: 60
# This is a workaround: disable wrong rules in CentOS IBP #1458832.
- role: '*'
- id: remove_blocking_iptable_roles
role: '*'
stage: pre_deployment
type: shell
parameters:
cmd: ./blocking_iptables_rules.sh
timeout: 20
# Log a notice about post_deployment start
- role: '*'
- id: print_stage_post_deployment
role: '*'
stage: post_deployment
type: shell
parameters:
cmd: ./log_stage.sh post_deployment
timeout: 5
# Execute post_deployment manifest for each role
- role: ['controller', 'primary-controller']
- id: configure_mellanox_controller
role: ['controller', 'primary-controller']
stage: post_deployment
type: puppet
parameters:
puppet_manifest: puppet/manifests/controller.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 360
- role: ['compute']
- id: configure_mellanox_compute
role: ['compute']
stage: post_deployment
type: puppet
parameters:
puppet_manifest: puppet/manifests/compute.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 360
- role: ['cinder']
- id: configure_mellanox_cinder
role: ['cinder']
stage: post_deployment
type: puppet
parameters:
@ -112,7 +127,8 @@
timeout: 360
# Set storage network configurations on the IB child
# if exists
- role: '*'
- id: configure_mlnx_iser_ib
role: '*'
stage: post_deployment
type: puppet
parameters:
@ -121,16 +137,19 @@
timeout: 120
# Move Ubuntu iSER conigurations to /etc/network/interfaces
# For MLNX_OFED drivers
- role: '*'
- id: move_ib_interfaces_to_persistent
role: '*'
stage: post_deployment
type: shell
parameters:
cmd: ./move_ubuntu_ib_interfaces_conf.sh
timeout: 60
# Override the testvm with Mellanox Cirros TestVM
- role: ['primary-controller']
- id: replace_cirros_sriov
role: ['primary-controller']
stage: post_deployment
type: shell
parameters:
cmd: ./replace_cirros.sh
cmd: source /root/openrc; ./replace_cirros.sh
timeout: 180
retries: 10

View File

@ -1,22 +1,29 @@
attributes:
prerequisites:
weight: 5
type: "hidden"
value: true
metadata:
group: 'other'
notes:
type: "textarea"
label: "Important notes:"
description: |
To use Mellanox High Performance features, you have to complete the following prerequisites prior to the deployment:
- For Ethernet deployment:
* Configure the Switch ports to Ethernet mode.
* Configure the desired VLANs for each port.
- For InfiniBand deployment:
* Configure the Switch ports to InfiniBand mode.
* Configure a Subnet Manager (SM) on the switch or on a node in the cluster, as described in the User manual.
* Reboot bootstrap nodes using the "reboot_bootstrap_nodes" script, from the Fuel master, in order to load eIPoIB hardware discovery support.
- After the interfaces discovery, perform the following:
* Set the relevant networks to work over Mellanox interfaces, in the interfaces configuration in the Nodes tab.
* Run network verification, after configuring the desired network subnets and VLAN segmentations.
- For more information: https://community.mellanox.com/docs/DOC-2374
weight: 5
extra_priority: null
value: |
To use Mellanox High Performance features,
you have to complete the following prerequisites prior to the deployment:
- For Ethernet deployment:
* Configure the Switch ports to Ethernet mode.
* Configure the desired VLANs for each port.
- For InfiniBand deployment:
* Configure the Switch ports to InfiniBand mode.
* Configure a Subnet Manager (SM) on the switch or on a node in the cluster,
as described in the User manual.
* Reboot bootstrap nodes using the 'reboot_bootstrap_nodes' script, from
the Fuel master, in order to load eIPoIB hardware discovery support.
- After the interfaces discovery, perform the following:
* Set the relevant networks to work over Mellanox interfaces, in the
interfaces configuration in the Nodes tab.
* Run network verification, after configuring the desired network subnets
and VLAN segmentations.
description: "For more information: https://community.mellanox.com/docs/DOC-2374"
iser:
value: false
label: "iSER protocol for volumes (Cinder)"
@ -28,10 +35,10 @@ attributes:
message: "For iSER support in Cinder, Cinder LVM over iSCSI should be enabled and hypervisor type should be KVM."
sriov:
value: false
label: "Neutron SR-IOV plugin"
label: "Neutron SR-IOV Mechanism driver"
weight: 60
type: "checkbox"
description: "If selected, Mellanox network acceleration (Neutron) plugin will be installed, to enable SR-IOV capabilities."
description: "If selected, Neutron SRIOV mechanism driver will be configured, to enable SR-IOV capabilities."
restrictions:
- condition: "settings:common.libvirt_type.value != 'kvm' or not (cluster:net_provider == 'neutron' and networking_parameters:segmentation_type == 'vlan')"
message: "For Mellanox SR-IOV support in neutron, hypervisor type should be KVM and the environment networking should be based on Neutron with VLAN segmentation."

View File

@ -5,13 +5,13 @@ name: mellanox-plugin
title: Mellanox Openstack features
# Plugin version
version: 2.0.14
version: 2.0.15
# Description
description: Enable features over Mellanox hardware
# Required fuel version
fuel_version: ['6.1', '7.0', '8.0']
fuel_version: ['7.0', '8.0']
# Specify license of your plugin
licenses: ['Apache License Version 2.0']
@ -27,26 +27,16 @@ groups: ['storage::cinder', 'hypervisor']
# The plugin is compatible with releases in the list
releases:
- os: ubuntu
version: 2014.2-6.1
mode: ['ha']
deployment_scripts_path: deployment_scripts/
repository_path: repositories/ubuntu
- os: centos
version: 2014.2-6.1
mode: ['ha']
deployment_scripts_path: deployment_scripts/
repository_path: repositories/centos
- os: ubuntu
version: 2015.1.0-7.0
mode: ['ha']
deployment_scripts_path: deployment_scripts/
repository_path: repositories/ubuntu
- os: ubuntu
version: 2015.2.0-8.0
version: 2015.1.0-8.0
mode: ['ha']
deployment_scripts_path: deployment_scripts/
repository_path: repositories/ubuntu
# Version of plugin package
package_version: '2.0.0'
package_version: '3.0.0'

View File

@ -1,6 +1,4 @@
#%%post
FUEL_BOOTSTRAP_DIR="/var/www/nailgun/bootstrap/"
PLUGINS_DIR="/var/www/nailgun/plugins/"
BOOTSTRAP_BACKUP_DIR="/opt/old_bootstrap_initrd/"