summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xci/deploy.sh161
-rw-r--r--docs/release/installation/img/addnodes.pngbin24089 -> 0 bytes
-rw-r--r--docs/release/installation/img/compute.pngbin25978 -> 0 bytes
-rw-r--r--docs/release/installation/img/computelist.pngbin67975 -> 0 bytes
-rw-r--r--docs/release/installation/img/fuelconsole1.pngbin8269 -> 0 bytes
-rw-r--r--docs/release/installation/img/fuelmenu1.pngbin24730 -> 0 bytes
-rw-r--r--docs/release/installation/img/fuelmenu2.pngbin26118 -> 0 bytes
-rw-r--r--docs/release/installation/img/fuelmenu3.pngbin25739 -> 0 bytes
-rw-r--r--docs/release/installation/img/fuelmenu4.pngbin24365 -> 0 bytes
-rw-r--r--docs/release/installation/img/fuelmenu5.pngbin26661 -> 0 bytes
-rw-r--r--docs/release/installation/img/fuelmenu6.pngbin27230 -> 0 bytes
-rw-r--r--docs/release/installation/img/grub-1.pngbin464529 -> 0 bytes
-rw-r--r--docs/release/installation/img/health.pngbin51840 -> 0 bytes
-rw-r--r--docs/release/installation/img/interfaceconf.pngbin25676 -> 0 bytes
-rw-r--r--docs/release/installation/img/interfaces.pngbin58851 -> 0 bytes
-rw-r--r--docs/release/installation/img/network.pngbin55423 -> 0 bytes
-rw-r--r--docs/release/installation/img/neutronl3.pngbin40478 -> 0 bytes
-rw-r--r--docs/release/installation/img/newenv.pngbin37483 -> 0 bytes
-rw-r--r--docs/release/installation/img/nodes.pngbin9155 -> 0 bytes
-rw-r--r--docs/release/installation/img/offloadingmodes.pngbin23017 -> 0 bytes
-rw-r--r--docs/release/installation/img/other.pngbin41526 -> 0 bytes
-rw-r--r--docs/release/installation/img/plugin_install.pngbin17431 -> 0 bytes
-rw-r--r--docs/release/installation/img/plugins.pngbin52382 -> 0 bytes
-rw-r--r--docs/release/installation/img/verifynet.pngbin33162 -> 0 bytes
-rw-r--r--docs/release/installation/installation.instruction.rst665
-rw-r--r--mcp/config/labs/local/idf-pod1.yaml12
-rw-r--r--mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml1
-rwxr-xr-xmcp/config/states/maas4
-rwxr-xr-xmcp/config/states/opendaylight1
-rw-r--r--mcp/patches/0001-opendaylight-formula-neutron.patch42
-rw-r--r--mcp/patches/patches.list1
-rw-r--r--mcp/patches/patches_neutron.list1
-rw-r--r--mcp/patches/pharos/0001-Add-IDF-mappings-to-installer-adapter.patch27
-rw-r--r--mcp/patches/reclass-system-salt-model/0001-Bring-in-opendaylight-support.patch17
-rw-r--r--mcp/reclass/classes/cluster/all-mcp-ocata-common/aarch64/init.yml6
-rw-r--r--mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/runtime.yml.template11
-rw-r--r--mcp/reclass/classes/cluster/all-mcp-ocata-common/x86_64/init.yml6
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/config.yml6
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml5
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml5
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml15
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/opendaylight/control.yml9
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/benchmark.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml9
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/control.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/dashboard.yml4
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/database.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/message_queue.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/proxy.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/telemetry.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/config.yml6
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml5
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/kvm.yml5
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/maas.yml15
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/benchmark.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/compute.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/control.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/dashboard.yml4
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/database.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/message_queue.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/proxy.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/telemetry.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml6
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml5
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml5
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml15
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/benchmark.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/control.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/dashboard.yml4
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/database.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/message_queue.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/proxy.yml7
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/telemetry.yml7
-rw-r--r--mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_compute.yml4
-rw-r--r--mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_control.yml1
-rw-r--r--mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_gateway.yml1
-rw-r--r--mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/opendaylight/control.yml2
-rw-r--r--mcp/salt-formulas/maas/pxe_route.sls2
-rw-r--r--mcp/salt-formulas/opendaylight/files/jetty.xml114
-rw-r--r--mcp/salt-formulas/opendaylight/map.jinja4
-rw-r--r--mcp/salt-formulas/opendaylight/server.sls7
-rw-r--r--mcp/scripts/globals.sh21
-rw-r--r--mcp/scripts/lib.sh8
-rwxr-xr-xmcp/scripts/log.sh2
-rw-r--r--mcp/scripts/net_mcpcontrol.xml.template4
m---------mcp/scripts/pharos0
-rwxr-xr-xmcp/scripts/salt.sh5
88 files changed, 607 insertions, 786 deletions
diff --git a/ci/deploy.sh b/ci/deploy.sh
index dc5f77427..f6c3591d2 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -33,11 +33,15 @@ $(notify "$(basename "$0"): Deploy the Fuel@OPNFV MCP stack" 3)
$(notify "USAGE:" 2)
$(basename "$0") -b base-uri -l lab-name -p pod-name -s deploy-scenario \\
[-B PXE Bridge [-B Mgmt Bridge [-B Internal Bridge [-B Public Bridge]]]] \\
- [-S storage-dir] [-L /path/to/log/file.tar.gz]
+ [-S storage-dir] [-L /path/to/log/file.tar.gz] [-f] [-F] [-e] [-d]
$(notify "OPTIONS:" 2)
-b Base-uri for the stack-configuration structure
-B Bridge(s): 1st usage = PXE, 2nd = Mgmt, 3rd = Internal, 4th = Public
+ -d Dry-run
+ -e Do not launch environment deployment
+ -f Deploy on existing Salt master
+ -F Do only create a Salt master
-h Print this message and exit
-l Lab-name
-p Pod-name
@@ -45,14 +49,6 @@ $(notify "OPTIONS:" 2)
-S Storage dir for VM images
-L Deployment log path and file name
-$(notify "DISABLED OPTIONS (not yet supported with MCP):" 3)
- -d (disabled) Dry-run
- -e (disabled) Do not launch environment deployment
- -f (disabled) Deploy on existing Salt master
- -F (disabled) Do only create a Salt master
- -i (disabled) iso url
- -T (disabled) Timeout, in minutes, for the deploy.
-
$(notify "Description:" 2)
Deploys the Fuel@OPNFV stack on the indicated lab resource.
@@ -77,6 +73,10 @@ $(notify "Input parameters to the build script are:" 2)
For baremetal deploys, PXE bridge is used for baremetal node provisioning,
while "mcpcontrol" is used to provision the infrastructure VMs only.
The default is 'pxebr'.
+-d Dry-run - Produce deploy config files, but do not execute deploy
+-e Do not launch environment deployment
+-f Deploy on existing Salt master
+-F Do only create a Salt master
-h Print this message and exit
-L Deployment log path and name, eg. -L /home/jenkins/job.log.tar.gz
-l Lab name as defined in the configuration directory, e.g. lf
@@ -85,16 +85,6 @@ $(notify "Input parameters to the build script are:" 2)
has to be defined in config directory (e.g. os-odl-nofeature-ha).
-S Storage dir for VM images, default is mcp/deploy/images
-$(notify "Disabled input parameters (not yet supported with MCP):" 3)
--d (disabled) Dry-run - Produce deploy config files, but do not execute deploy
--f (disabled) Deploy on existing Salt master
--e (disabled) Do not launch environment deployment
--F (disabled) Do only create a Salt master
--T (disabled) Timeout, in minutes, for the deploy.
- It defaults to using the DEPLOY_TIMEOUT environment variable when defined.
--i (disabled) .iso image to be deployed (needs to be provided in a URI
- style, it can be a local resource: file:// or a remote resource http(s)://)
-
$(notify "[NOTE] sudo & virsh priviledges are needed for this script to run" 3)
Example:
@@ -144,30 +134,14 @@ OPNFV_BRIDGES=('pxebr' 'mgmt' 'internal' 'public')
URI_REGEXP='(file|https?|ftp)://.*'
BASE_CONFIG_URI="file://${REPO_ROOT_PATH}/mcp/config"
-export SSH_KEY=${SSH_KEY:-"/var/lib/opnfv/mcp.rsa"}
-export SALT_MASTER=${INSTALLER_IP:-10.20.0.2}
-export SALT_MASTER_USER=${SALT_MASTER_USER:-ubuntu}
-export MAAS_IP=${MAAS_IP:-${SALT_MASTER%.*}.3}
-export MAAS_PXE_NETWORK=${MAAS_PXE_NETWORK:-192.168.11.0}
+# Customize deploy workflow
+DRY_RUN=${DRY_RUN:-0}
+USE_EXISTING_INFRA=${USE_EXISTING_INFRA:-0}
+INFRA_CREATION_ONLY=${INFRA_CREATION_ONLY:-0}
+NO_DEPLOY_ENVIRONMENT=${NO_DEPLOY_ENVIRONMENT:-0}
-# Derivated from above global vars
-export MCP_CTRL_NETWORK_ROOTSTR=${SALT_MASTER%.*}
-export MAAS_PXE_NETWORK_ROOTSTR=${MAAS_PXE_NETWORK%.*}
-export SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${SSH_KEY}"
-export SSH_SALT="${SALT_MASTER_USER}@${SALT_MASTER}"
+source "${DEPLOY_DIR}/globals.sh"
-# Variables below are disabled for now, to be re-introduced or removed later
-set +x
-USE_EXISTING_FUEL=''
-FUEL_CREATION_ONLY=''
-NO_DEPLOY_ENVIRONMENT=''
-DRY_RUN=0
-if ! [ -z "${DEPLOY_TIMEOUT}" ]; then
- DEPLOY_TIMEOUT="-dt ${DEPLOY_TIMEOUT}"
-else
- DEPLOY_TIMEOUT=""
-fi
-set -x
#
# END of variables to customize
##############################################################################
@@ -177,7 +151,7 @@ set -x
#
set +x
OPNFV_BRIDGE_IDX=0
-while getopts "b:B:dfFl:L:p:s:S:T:i:he" OPTION
+while getopts "b:B:dfFl:L:p:s:S:he" OPTION
do
case $OPTION in
b)
@@ -201,20 +175,16 @@ do
IFS=${OIFS}
;;
d)
- notify '' 3 "${OPTION}"; continue
DRY_RUN=1
;;
f)
- notify '' 3 "${OPTION}"; continue
- USE_EXISTING_FUEL='-nf'
+ USE_EXISTING_INFRA=1
;;
F)
- notify '' 3 "${OPTION}"; continue
- FUEL_CREATION_ONLY='-fo'
+ INFRA_CREATION_ONLY=1
;;
e)
- notify '' 3 "${OPTION}"; continue
- NO_DEPLOY_ENVIRONMENT='-nde'
+ NO_DEPLOY_ENVIRONMENT=1
;;
l)
TARGET_LAB=${OPTARG}
@@ -236,19 +206,6 @@ do
STORAGE_DIR="${OPTARG}"
fi
;;
- T)
- notify '' 3 "${OPTION}"; continue
- DEPLOY_TIMEOUT="-dt ${OPTARG}"
- ;;
- i)
- notify '' 3 "${OPTION}"; continue
- ISO=${OPTARG}
- if [[ ! $ISO =~ ${URI_REGEXP} ]]; then
- notify "[ERROR] -i $ISO - invalid URI\n"
- usage
- exit 1
- fi
- ;;
h)
usage
exit 0
@@ -311,7 +268,9 @@ make -C "${REPO_ROOT_PATH}/mcp/patches" deepclean patches-import
PHAROS_GEN_CONFIG_SCRIPT="./pharos/config/utils/generate_config.py"
PHAROS_INSTALLER_ADAPTER="./pharos/config/installers/fuel/pod_config.yml.j2"
BASE_CONFIG_PDF="${BASE_CONFIG_URI}/labs/${TARGET_LAB}/${TARGET_POD}.yaml"
+BASE_CONFIG_IDF="${BASE_CONFIG_URI}/labs/${TARGET_LAB}/idf-${TARGET_POD}.yaml"
LOCAL_PDF="${STORAGE_DIR}/$(basename "${BASE_CONFIG_PDF}")"
+LOCAL_IDF="${STORAGE_DIR}/$(basename "${BASE_CONFIG_IDF}")"
LOCAL_PDF_RECLASS="${STORAGE_DIR}/pod_config.yml"
if ! curl --create-dirs -o "${LOCAL_PDF}" "${BASE_CONFIG_PDF}"; then
if [ "${DEPLOY_TYPE}" = 'baremetal' ]; then
@@ -320,6 +279,8 @@ if ! curl --create-dirs -o "${LOCAL_PDF}" "${BASE_CONFIG_PDF}"; then
else
notify "[WARN] Could not retrieve PDF (Pod Descriptor File)!\n" 3
fi
+elif ! curl -o "${LOCAL_IDF}" "${BASE_CONFIG_IDF}"; then
+ notify "[WARN] POD has no IDF (Installer Descriptor File)!\n" 3
elif ! "${PHAROS_GEN_CONFIG_SCRIPT}" -y "${LOCAL_PDF}" \
-j "${PHAROS_INSTALLER_ADAPTER}" > "${LOCAL_PDF_RECLASS}"; then
notify "[ERROR] Could not convert PDF to reclass model input!\n" 1>&2
@@ -345,9 +306,12 @@ if [ ! -f "${SCENARIO_DIR}/defaults-$(uname -i).yaml" ]; then
fi
# Get required infra deployment data
+set +x
source lib.sh
eval "$(parse_yaml "${SCENARIO_DIR}/defaults-$(uname -i).yaml")"
eval "$(parse_yaml "${SCENARIO_DIR}/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml")"
+eval "$(parse_yaml "${LOCAL_PDF_RECLASS}")"
+set -x
export CLUSTER_DOMAIN=${cluster_domain}
@@ -361,27 +325,66 @@ done
# Expand reclass and virsh network templates
for tp in "${RECLASS_CLUSTER_DIR}/all-mcp-ocata-common/opnfv/"*.template \
- net_*.template; do envsubst < "${tp}" > "${tp%.template}"; done
+ net_*.template; do
+ eval "cat <<-EOF
+ $(<"${tp}")
+ EOF" 2> /dev/null > "${tp%.template}"
+done
-# Infra setup
-generate_ssh_key
-prepare_vms virtual_nodes "${base_image}" "${STORAGE_DIR}"
-create_networks OPNFV_BRIDGES
-create_vms virtual_nodes virtual_nodes_ram virtual_nodes_vcpus \
- OPNFV_BRIDGES "${STORAGE_DIR}"
-update_mcpcontrol_network
-start_vms virtual_nodes
-check_connection
+# Map PDF networks 'admin', 'mgmt', 'private' and 'public' to bridge names
+BR_NAMES=('admin' 'mgmt' 'private' 'public')
+BR_NETS=( \
+ "${parameters__param_opnfv_maas_pxe_address}" \
+ "${parameters__param_opnfv_infra_config_address}" \
+ "${parameters__param_opnfv_openstack_compute_node01_tenant_address}" \
+ "${parameters__param_opnfv_openstack_compute_node01_external_address}" \
+)
+for ((i = 0; i < ${#BR_NETS[@]}; i++)); do
+ br_jump=$(eval echo "\$parameters__param_opnfv_jump_bridge_${BR_NAMES[i]}")
+ if [ -n "${br_jump}" ] && [ "${br_jump}" != 'None' ] && \
+ [ -d "/sys/class/net/${br_jump}/bridge" ]; then
+ notify "[OK] Bridge found for '${BR_NAMES[i]}': ${br_jump}\n" 2
+ OPNFV_BRIDGES[${i}]="${br_jump}"
+ elif [ -n "${BR_NETS[i]}" ]; then
+ bridge=$(ip addr | awk "/${BR_NETS[i]%.*}./ {print \$NF; exit}")
+ if [ -n "${bridge}" ] && [ -d "/sys/class/net/${bridge}/bridge" ]; then
+ notify "[OK] Bridge found for net ${BR_NETS[i]%.*}.0: ${bridge}\n" 2
+ OPNFV_BRIDGES[${i}]="${bridge}"
+ fi
+ fi
+done
+notify "[NOTE] Using bridges: ${OPNFV_BRIDGES[*]}\n" 2
-./salt.sh "${LOCAL_PDF_RECLASS}"
+# Infra setup
+if [ ${DRY_RUN} -eq 1 ]; then
+ notify "Dry run, skipping all deployment tasks\n" 2 1>&2
+ exit 0
+elif [ ${USE_EXISTING_INFRA} -eq 1 ]; then
+ notify "Use existing infra\n" 2 1>&2
+ check_connection
+else
+ generate_ssh_key
+ prepare_vms virtual_nodes "${base_image}" "${STORAGE_DIR}"
+ create_networks OPNFV_BRIDGES
+ create_vms virtual_nodes virtual_nodes_ram virtual_nodes_vcpus \
+ OPNFV_BRIDGES "${STORAGE_DIR}"
+ update_mcpcontrol_network
+ start_vms virtual_nodes
+ check_connection
+ ./salt.sh "${LOCAL_PDF_RECLASS}"
+fi
# Openstack cluster setup
-for state in "${cluster_states[@]}"; do
- notify "STATE: ${state}\n" 2
- # shellcheck disable=SC2086,2029
- ssh ${SSH_OPTS} "ubuntu@${SALT_MASTER}" \
- sudo "/root/fuel/mcp/config/states/${state} || true"
-done
+if [ ${INFRA_CREATION_ONLY} -eq 1 ] || [ ${NO_DEPLOY_ENVIRONMENT} -eq 1 ]; then
+ notify "Skip openstack cluster setup\n" 2
+else
+ for state in "${cluster_states[@]}"; do
+ notify "STATE: ${state}\n" 2
+ # shellcheck disable=SC2086,2029
+ ssh ${SSH_OPTS} "${SSH_SALT}" \
+ sudo "/root/fuel/mcp/config/states/${state} || true"
+ done
+fi
./log.sh "${DEPLOY_LOG}"
diff --git a/docs/release/installation/img/addnodes.png b/docs/release/installation/img/addnodes.png
deleted file mode 100644
index b62405692..000000000
--- a/docs/release/installation/img/addnodes.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/compute.png b/docs/release/installation/img/compute.png
deleted file mode 100644
index fc1cf0f22..000000000
--- a/docs/release/installation/img/compute.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/computelist.png b/docs/release/installation/img/computelist.png
deleted file mode 100644
index 474196536..000000000
--- a/docs/release/installation/img/computelist.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/fuelconsole1.png b/docs/release/installation/img/fuelconsole1.png
deleted file mode 100644
index 61703cab1..000000000
--- a/docs/release/installation/img/fuelconsole1.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/fuelmenu1.png b/docs/release/installation/img/fuelmenu1.png
deleted file mode 100644
index 4b5097ff4..000000000
--- a/docs/release/installation/img/fuelmenu1.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/fuelmenu2.png b/docs/release/installation/img/fuelmenu2.png
deleted file mode 100644
index 42cd75f62..000000000
--- a/docs/release/installation/img/fuelmenu2.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/fuelmenu3.png b/docs/release/installation/img/fuelmenu3.png
deleted file mode 100644
index 174cb5004..000000000
--- a/docs/release/installation/img/fuelmenu3.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/fuelmenu4.png b/docs/release/installation/img/fuelmenu4.png
deleted file mode 100644
index 0e218fca7..000000000
--- a/docs/release/installation/img/fuelmenu4.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/fuelmenu5.png b/docs/release/installation/img/fuelmenu5.png
deleted file mode 100644
index b1063d576..000000000
--- a/docs/release/installation/img/fuelmenu5.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/fuelmenu6.png b/docs/release/installation/img/fuelmenu6.png
deleted file mode 100644
index 16d641e9f..000000000
--- a/docs/release/installation/img/fuelmenu6.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/grub-1.png b/docs/release/installation/img/grub-1.png
deleted file mode 100644
index 113178948..000000000
--- a/docs/release/installation/img/grub-1.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/health.png b/docs/release/installation/img/health.png
deleted file mode 100644
index 57bd8cf70..000000000
--- a/docs/release/installation/img/health.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/interfaceconf.png b/docs/release/installation/img/interfaceconf.png
deleted file mode 100644
index e00b03f03..000000000
--- a/docs/release/installation/img/interfaceconf.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/interfaces.png b/docs/release/installation/img/interfaces.png
deleted file mode 100644
index 291e434f6..000000000
--- a/docs/release/installation/img/interfaces.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/network.png b/docs/release/installation/img/network.png
deleted file mode 100644
index 7bef05064..000000000
--- a/docs/release/installation/img/network.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/neutronl3.png b/docs/release/installation/img/neutronl3.png
deleted file mode 100644
index 36291ef87..000000000
--- a/docs/release/installation/img/neutronl3.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/newenv.png b/docs/release/installation/img/newenv.png
deleted file mode 100644
index d6bc2827f..000000000
--- a/docs/release/installation/img/newenv.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/nodes.png b/docs/release/installation/img/nodes.png
deleted file mode 100644
index 771e4813d..000000000
--- a/docs/release/installation/img/nodes.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/offloadingmodes.png b/docs/release/installation/img/offloadingmodes.png
deleted file mode 100644
index 5b3cb17bc..000000000
--- a/docs/release/installation/img/offloadingmodes.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/other.png b/docs/release/installation/img/other.png
deleted file mode 100644
index c088488dc..000000000
--- a/docs/release/installation/img/other.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/plugin_install.png b/docs/release/installation/img/plugin_install.png
deleted file mode 100644
index ff50633ed..000000000
--- a/docs/release/installation/img/plugin_install.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/plugins.png b/docs/release/installation/img/plugins.png
deleted file mode 100644
index 8f7ea596f..000000000
--- a/docs/release/installation/img/plugins.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/img/verifynet.png b/docs/release/installation/img/verifynet.png
deleted file mode 100644
index e675562c0..000000000
--- a/docs/release/installation/img/verifynet.png
+++ /dev/null
Binary files differ
diff --git a/docs/release/installation/installation.instruction.rst b/docs/release/installation/installation.instruction.rst
index bc1b913e8..fbf22d168 100644
--- a/docs/release/installation/installation.instruction.rst
+++ b/docs/release/installation/installation.instruction.rst
@@ -6,81 +6,42 @@
Abstract
========
-This document describes how to install the Danube release of
+This document describes how to install the Euphrates release of
OPNFV when using Fuel as a deployment tool, covering its usage,
limitations, dependencies and required system resources.
+This is an unified documentation for both x86_64 and aarch64
+architectures. All information is common for both architectures
+except when explicitly stated.
============
Introduction
============
This document provides guidelines on how to install and
-configure the Danube release of OPNFV when using Fuel as a
+configure the Euphrates release of OPNFV when using Fuel as a
deployment tool, including required software and hardware configurations.
-Although the available installation options give a high degree of
-freedom in how the system is set-up, including architecture, services
+Although the available installation options provide a high de.g.ee of
+freedom in how the system is set up, including architecture, services
and features, etc., said permutations may not provide an OPNFV
-compliant reference architecture. This instruction provides a
-step-by-step guide that results in an OPNFV Danube compliant
+compliant reference architecture. This document provides a
+step-by-step guide that results in an OPNFV Euphrates compliant
deployment.
-The audience of this document is assumed to have good knowledge in
+The audience of this document is assumed to have good knowledge of
networking and Unix/Linux administration.
=======
Preface
=======
-Before starting the installation of the Danube release of
+Before starting the installation of the Euphrates release of
OPNFV, using Fuel as a deployment tool, some planning must be
done.
-Retrieving the ISO image
-========================
-
-First of all, the Fuel deployment ISO image needs to be retrieved, the
-Fuel .iso image of the Danube release can be found at `OPNFV Downloads <https://www.opnfv.org/software/download>`_.
-
-Building the ISO image
-======================
-
-Alternatively, you may build the Fuel .iso from source by cloning the
-opnfv/fuel git repository. To retrieve the repository for the Danube
-release use the following command:
-
-.. code-block:: bash
-
- $ git clone https://gerrit.opnfv.org/gerrit/fuel
-
-Check-out the Danube release tag to set the HEAD to the
-baseline required to replicate the Danube release:
-
-.. code-block:: bash
-
- $ git checkout danube.2.0
-
-Go to the fuel directory and build the .iso:
-
-.. code-block:: bash
-
- $ cd fuel/build; make all
-
-For more information on how to build, please see :ref:`Build instruction for Fuel\@OPNFV <fuel-development-overview-build-label>`
-
-Other preparations
+Preparations
==================
-Next, familiarize yourself with Fuel by reading the following documents:
-
-- `Fuel Installation Guide <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-install-guide.html>`_
-
-- `Fuel User Guide <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide.html>`_
-
-- `Fuel Developer Guide <http://docs.openstack.org/developer/fuel-docs/devdocs/develop.html>`_
-
-- `Fuel Plugin Developers Guide <http://docs.openstack.org/developer/fuel-docs/plugindocs/fuel-plugin-sdk-guide.html>`_
-
Prior to installation, a number of deployment specific parameters must be collected, those are:
#. Provider sub-net and gateway information
@@ -103,44 +64,74 @@ Prior to installation, a number of deployment specific parameters must be collec
This information will be needed for the configuration procedures
provided in this document.
-=====================
-Hardware requirements
-=====================
-
-The following minimum hardware requirements must be met for the
-installation of Danube using Fuel:
-
-+--------------------+------------------------------------------------------+
-| **HW Aspect** | **Requirement** |
-| | |
-+====================+======================================================+
-| **# of nodes** | Minimum 5 (3 for non redundant deployment): |
-| | |
-| | - 1 Fuel deployment master (may be virtualized) |
-| | |
-| | - 3(1) Controllers (1 colocated mongo/ceilometer |
-| | role, 2 Ceph-OSD roles) |
-| | |
-| | - 1 Compute (1 co-located Ceph-OSD role) |
-| | |
-+--------------------+------------------------------------------------------+
-| **CPU** | Minimum 1 socket x86_AMD64 with Virtualization |
-| | support |
-+--------------------+------------------------------------------------------+
-| **RAM** | Minimum 16GB/server (Depending on VNF work load) |
-| | |
-+--------------------+------------------------------------------------------+
-| **Disk** | Minimum 256GB 10kRPM spinning disks |
-| | |
-+--------------------+------------------------------------------------------+
-| **Networks** | 4 Tagged VLANs (PUBLIC, MGMT, STORAGE, PRIVATE) |
-| | |
-| | 1 Un-Tagged VLAN for PXE Boot - ADMIN Network |
-| | |
-| | Note: These can be allocated to a single NIC - |
-| | or spread out over multiple NICs as your hardware |
-| | supports. |
-+--------------------+------------------------------------------------------+
+=========================================
+Hardware requirements for virtual deploys
+=========================================
+
+The following minimum hardware requirements must be met for the virtual
+installation of Euphrates using Fuel:
+
++----------------------------+--------------------------------------------------------+
+| **HW Aspect** | **Requirement** |
+| | |
++============================+========================================================+
+| **1 Jumpserver** | A physical node (also called Foundation Node) that |
+| | hosts a Salt Master VM and each of the VM nodes in |
+| | the virtual deploy |
++----------------------------+--------------------------------------------------------+
+| **CPU** | Minimum 1 socket with Virtualization support |
++----------------------------+--------------------------------------------------------+
+| **RAM** | Minimum 32GB/server (Depending on VNF work load) |
++----------------------------+--------------------------------------------------------+
+| **Disk** | Minimum 100GB (SSD or SCSI (15krpm) highly recommended |
++----------------------------+--------------------------------------------------------+
+
+
+===========================================
+Hardware requirements for baremetal deploys
+===========================================
+
+The following minimum hardware requirements must be met for the baremetal
+installation of Euphrates using Fuel:
+
++-------------------------+------------------------------------------------------+
+| **HW Aspect** | **Requirement** |
+| | |
++=========================+======================================================+
+| **# of nodes** | Minimum 5 |
+| | |
+| | - 3 KVM servers which will run all the controller |
+| | services |
+| | |
+| | - 2 Compute nodes |
+| | |
++-------------------------+------------------------------------------------------+
+| **CPU** | Minimum 1 socket with Virtualization support |
++-------------------------+------------------------------------------------------+
+| **RAM** | Minimum 16GB/server (Depending on VNF work load) |
++-------------------------+------------------------------------------------------+
+| **Disk** | Minimum 256GB 10kRPM spinning disks |
++-------------------------+------------------------------------------------------+
+| **Networks** | 4 VLANs (PUBLIC, MGMT, STORAGE, PRIVATE) - can be |
+| | a mix of tagged/native |
+| | |
+| | 1 Un-Tagged VLAN for PXE Boot - ADMIN Network |
+| | |
+| | Note: These can be allocated to a single NIC - |
+| | or spread out over multiple NICs |
++-------------------------+------------------------------------------------------+
+| **1 Jumpserver** | A physical node (also called Foundation Node) that |
+| | hosts the Salt Master and MaaS VMs |
++-------------------------+------------------------------------------------------+
+| **Power management** | All targets need to have power management tools that |
+| | allow rebooting the hardware and setting the boot |
+| | order (e.g. IPMI) |
++-------------------------+------------------------------------------------------+
+
+**NOTE:** All nodes including the Jumpserver must have the same architecture (either x86_64 or aarch64).
+
+**NOTE:** For aarch64 deployments an UEFI compatible firmware with PXE support is needed (e.g. EDK2).
+
===============================
Help with Hardware Requirements
@@ -153,7 +144,7 @@ For information on compatible hardware types available for use, please see `Fuel
When choosing the hardware on which you will deploy your OpenStack
environment, you should think about:
-- CPU -- Consider the number of virtual machines that you plan to deploy in your cloud environment and the CPU per virtual machine.
+- CPU -- Consider the number of virtual machines that you plan to deploy in your cloud environment and the CPUs per virtual machine.
- Memory -- Depends on the amount of RAM assigned per virtual machine and the controller node.
@@ -182,7 +173,7 @@ the Fuel OPNFV reference platform. All the networks involved in the OPNFV
infrastructure as well as the provider networks and the private tenant
VLANs needs to be manually configured.
-Manual configuration of the Danube hardware platform should
+Manual configuration of the Euphrates hardware platform should
be carried out according to the `OPNFV Pharos Specification
<https://wiki.opnfv.org/display/pharos/Pharos+Specification>`_.
@@ -190,432 +181,118 @@ be carried out according to the `OPNFV Pharos Specification
OPNFV Software installation and deployment
==========================================
-This section describes the installation of the OPNFV installation
-server (Fuel master) as well as the deployment of the full OPNFV
-reference platform stack across a server cluster.
-
-Install Fuel master
-===================
-
-#. Mount the Danube Fuel ISO file/media as a boot device to the jump host server.
-
-#. Reboot the jump host to establish the Fuel server.
-
- - The system now boots from the ISO image.
-
- - Select "Fuel Install (Static IP)" (See figure below)
-
- - Press [Enter].
-
- .. figure:: img/grub-1.png
-
-#. Wait until the Fuel setup screen is shown (Note: This can take up to 30 minutes).
-
-#. In the "Fuel User" section - Confirm/change the default password (See figure below)
-
- - Enter "admin" in the Fuel password input
-
- - Enter "admin" in the Confirm password input
-
- - Select "Check" and press [Enter]
-
- .. figure:: img/fuelmenu1.png
-
-#. In the "Network Setup" section - Configure DHCP/Static IP information for your FUEL node - For example, ETH0 is 10.20.0.2/24 for FUEL booting and ETH1 is DHCP in your corporate/lab network (see figure below).
-
- - Configure eth1 or other network interfaces here as well (if you have them present on your FUEL server).
-
- .. figure:: img/fuelmenu2.png
-
-#. In the "PXE Setup" section (see figure below) - Change the following fields to appropriate values (example below):
-
- - DHCP Pool Start 10.20.0.4
-
- - DHCP Pool End 10.20.0.254
-
- - DHCP Pool Gateway 10.20.0.2 (IP address of Fuel node)
-
- .. figure:: img/fuelmenu3.png
-
-#. In the "DNS & Hostname" section (see figure below) - Change the following fields to appropriate values:
-
- - Hostname
-
- - Domain
-
- - Search Domain
-
- - External DNS
-
- - Hostname to test DNS
-
- - Select <Check> and press [Enter]
-
- .. figure:: img/fuelmenu4.png
-
-
-#. OPTION TO ENABLE PROXY SUPPORT - In the "Bootstrap Image" section (see figure below), edit the following fields to define a proxy. (**NOTE:** cannot be used in tandem with local repository support)
-
- - Navigate to "HTTP proxy" and enter your http proxy address
-
- - Select <Check> and press [Enter]
-
- .. figure:: img/fuelmenu5.png
-
-#. In the "Time Sync" section (see figure below) - Change the following fields to appropriate values:
-
- - NTP Server 1 <Customer NTP server 1>
-
- - NTP Server 2 <Customer NTP server 2>
-
- - NTP Server 3 <Customer NTP server 3>
-
- .. figure:: img/fuelmenu6.png
-
-#. Start the installation.
-
- - Select Quit Setup and press Save and Quit.
-
- - The installation will now start, wait until the login screen is shown.
-
-Boot the Node Servers
-=====================
-
-After the Fuel Master node has rebooted from the above steps and is at
-the login prompt, you should boot the Node Servers (Your
-Compute/Control/Storage blades, nested or real) with a PXE booting
-scheme so that the FUEL Master can pick them up for control.
-
-#. Enable PXE booting
-
- - For every controller and compute server: enable PXE Booting as the first boot device in the BIOS boot order menu, and hard disk as the second boot device in the same menu.
-
-#. Reboot all the control and compute blades.
-
-#. Wait for the availability of nodes showing up in the Fuel GUI.
-
- - Connect to the FUEL UI via the URL provided in the Console (default: https://10.20.0.2:8443)
-
- - Wait until all nodes are displayed in top right corner of the Fuel GUI: Total nodes and Unallocated nodes (see figure below).
-
- .. figure:: img/nodes.png
-
-Install additional Plugins/Features on the FUEL node
-====================================================
-
-#. SSH to your FUEL node (e.g. root@10.20.0.2 pwd: r00tme)
-
-#. Select wanted plugins/features from the /opt/opnfv/ directory.
-
-#. Install the wanted plugin with the command
-
- .. code-block:: bash
-
- $ fuel plugins --install /opt/opnfv/<plugin-name>-<version>.<arch>.rpm
-
- Expected output (see figure below):
-
- .. code-block:: bash
-
- Plugin ....... was successfully installed.
-
- .. figure:: img/plugin_install.png
-
-Create an OpenStack Environment
-===============================
-
-#. Connect to Fuel WEB UI with a browser (default: https://10.20.0.2:8443) (login: admin/admin)
-
-#. Create and name a new OpenStack environment, to be installed.
-
- .. figure:: img/newenv.png
-
-#. Select "<Mitaka on Ubuntu 14.04>" and press <Next>
-
-#. Select "compute virtulization method".
-
- - Select "QEMU-KVM as hypervisor" and press <Next>
-
-#. Select "network mode".
-
- - Select "Neutron with ML2 plugin"
-
- - Select "Neutron with tunneling segmentation" (Required when using the ODL or ONOS plugins)
-
- - Press <Next>
+This section describes the process of installing all the components needed to
+deploy the full OPNFV reference platform stack across a server cluster.
-#. Select "Storage Back-ends".
+The installation is done with Mirantis Cloud Platform (MCP), which is based on
+a reclass model. This model provides the formula inputs to Salt, to make the deploy
+automatic based on deployment scenario.
+The reclass model covers:
- - Select "Ceph for block storage" and press <Next>
+ - Infrastucture node definition: Salt Master node (cfg01) and MaaS node (mas01)
+ - Openstack node defition: Controler nodes (ctl01, ctl02, ctl03) and Compute nodes (cmp001, cmp002)
+ - Infrastructure components to install (software packages, services etc.)
+ - Openstack components and services (rabbitmq, galera etc.), as well as all configuration for them
-#. Select "additional services" you wish to install.
- - Check option "Install Ceilometer and Aodh" and press <Next>
+Automatic Installation of a Virtual POD
+=======================================
-#. Create the new environment.
+For virtual deploys all the targets are VMs on the Jumpserver. The deploy script will:
- - Click <Create> Button
+ - Create a Salt Master VM on the Jumpserver which will drive the installation
+ - Create the bridges for networking with virsh (only if a real bridge does not already exists for a given network)
+ - Install Openstack on the targets
+ - Leverage Salt to install & configure Openstack services
-Configure the network environment
-=================================
-#. Open the environment you previously created.
+Automatic Installation of a Baremetal POD
+=========================================
-#. Open the networks tab and select the "default" Node Networks group to on the left pane (see figure below).
+The baremetal installation process can be done by editing the information about
+hardware and enviroment in the reclass files, or by using a Pod Descriptor File (PDF).
+This file contains all the information about the hardware and network of the deployment
+the will be fed to the reclass model during deployment.
- .. figure:: img/network.png
+The installation is done automatically with the deploy script, which will:
-#. Update the Public network configuration and change the following fields to appropriate values:
+ - Create a Salt Master VM on the Jumpserver which will drive the installation
+ - Create a MaaS Node VM on the Jumpserver which will provision the targets
+ - Install Openstack on the targets
+ - Leverage MaaS to provision baremetal nodes with the operating system
+ - Leverage Salt to configure the operatign system on the baremetal nodes
+ - Leverage Salt to install & configure Openstack services
- - CIDR to <CIDR for Public IP Addresses>
- - IP Range Start to <Public IP Address start>
+Steps to start the automatic deploy
+===================================
- - IP Range End to <Public IP Address end>
+These steps are common both for virtual and baremetal deploys.
- - Gateway to <Gateway for Public IP Addresses>
+#. Clone the Fuel code from gerrit
- - Check <VLAN tagging>.
+ For x86_64
- - Set appropriate VLAN id.
+ .. code-block:: bash
-#. Update the Storage Network Configuration
+ $ git clone https://git.opnfv.org/fuel
+ $ cd fuel
- - Set CIDR to appropriate value (default 192.168.1.0/24)
+ For aarch64
- - Set IP Range Start to appropriate value (default 192.168.1.1)
+ .. code-block:: bash
- - Set IP Range End to appropriate value (default 192.168.1.254)
+ $ git clone https://git.opnfv.org/armband
+ $ cd armband
- - Set vlan to appropriate value (default 102)
+#. Checkout the Euphrates release
-#. Update the Management network configuration.
+ .. code-block:: bash
- - Set CIDR to appropriate value (default 192.168.0.0/24)
+ $ git checkout 5.0.0
- - Set IP Range Start to appropriate value (default 192.168.0.1)
+#. Start the deploy script
- - Set IP Range End to appropriate value (default 192.168.0.254)
+ .. code-block:: bash
- - Check <VLAN tagging>.
+ $ ci/deploy.sh -l <lab_name> \
+ -p <pod_name> \
+ -b <URI to the PDF file> \
+ -s <scenario> \
+ -B <list of admin, public and management bridges>
- - Set appropriate VLAN id. (default 101)
+Examples
+--------
+#. Virtual deploy
-#. Update the Private Network Information
+ .. code-block:: bash
- - Set CIDR to appropriate value (default 192.168.2.0/24
+ $ ci/deploy.sh -b file:///home/jenkins/tmpdir/securedlab \
+ -l ericsson \
+ -p virtual_kvm \
+ -s os-nosdn-nofeature-noha \
- - Set IP Range Start to appropriate value (default 192.168.2.1)
+#. Baremetal deploy
- - Set IP Range End to appropriate value (default 192.168.2.254)
+A x86 deploy on pod1 from Ericsson lab
- - Check <VLAN tagging>.
+ .. code-block:: bash
- - Set appropriate VLAN tag (default 103)
+ $ ci/deploy.sh -b file:///home/jenkins/tmpdir/securedlab \
+ -l ericsson \
+ -p pod1 \
+ -s os-nosdn-nofeature-ha \
+ -B pxebr
-#. Select the "Neutron L3" Node Networks group on the left pane.
+An aarch64 deploy on pod5 from Arm lab
- .. figure:: img/neutronl3.png
+ .. code-block:: bash
-#. Update the Floating Network configuration.
-
- - Set the Floating IP range start (default 172.16.0.130)
-
- - Set the Floating IP range end (default 172.16.0.254)
-
- - Set the Floating network name (default admin_floating_net)
-
-#. Update the Internal Network configuration.
-
- - Set Internal network CIDR to an appropriate value (default 192.168.111.0/24)
-
- - Set Internal network gateway to an appropriate value
-
- - Set the Internal network name (default admin_internal_net)
-
-#. Update the Guest OS DNS servers.
-
- - Set Guest OS DNS Server values appropriately
-
-#. Save Settings.
-
-#. Select the "Other" Node Networks group on the left pane (see figure below).
-
- .. figure:: img/other.png
-
-#. Update the Public network assignment.
-
- - Check the box for "Assign public network to all nodes" (Required by OpenDaylight)
-
-#. Update Host OS DNS Servers.
-
- - Provide the DNS server settings
-
-#. Update Host OS NTP Servers.
-
- - Provide the NTP server settings
-
-Select Hypervisor type
-======================
-
-#. In the FUEL UI of your Environment, click the "Settings" Tab
-
-#. Select "Compute" on the left side pane (see figure below)
-
- - Check the KVM box and press "Save settings"
-
- .. figure:: img/compute.png
-
-Enable Plugins
-==============
-
-#. In the FUEL UI of your Environment, click the "Settings" Tab
-
-#. Select Other on the left side pane (see figure below)
-
- - Enable and configure the plugins of your choice
-
- .. figure:: img/plugins.png
-
-Allocate nodes to environment and assign functional roles
-=========================================================
-
-#. Click on the "Nodes" Tab in the FUEL WEB UI (see figure below).
-
- .. figure:: img/addnodes.png
-
-#. Assign roles (see figure below).
-
- - Click on the <+Add Nodes> button
-
- - Check <Controller>, <Telemetry - MongoDB> and optionally an SDN Controller role (OpenDaylight controller/ONOS) in the "Assign Roles" Section.
-
- - Check one node which you want to act as a Controller from the bottom half of the screen
-
- - Click <Apply Changes>.
-
- - Click on the <+Add Nodes> button
-
- - Check the <Controller> and <Storage - Ceph OSD> roles.
-
- - Check the two next nodes you want to act as Controllers from the bottom half of the screen
-
- - Click <Apply Changes>
-
- - Click on <+Add Nodes> button
-
- - Check the <Compute> and <Storage - Ceph OSD> roles.
-
- - Check the Nodes you want to act as Computes from the bottom half of the screen
-
- - Click <Apply Changes>.
-
- .. figure:: img/computelist.png
-
-#. Configure interfaces (see figure below).
-
- - Check Select <All> to select all allocated nodes
-
- - Click <Configure Interfaces>
-
- - Assign interfaces (bonded) for mgmt-, admin-, private-, public- and storage networks
-
- - Click <Apply>
-
- .. figure:: img/interfaceconf.png
-
-
-Target specific configuration
-=============================
-
-#. Set up targets for provisioning with non-default "Offloading Modes"
-
- Some target nodes may require additional configuration after they are
- PXE booted (bootstrapped); the most frequent changes are in defaults
- for ethernet devices' "Offloading Modes" settings (e.g. some targets'
- ethernet drivers may strip VLAN traffic by default).
-
- If your target ethernet drivers have wrong "Offloading Modes" defaults,
- in "Configure interfaces" page (described above), expand affected
- interface's "Offloading Modes" and [un]check the relevant settings
- (see figure below):
-
- .. figure:: img/offloadingmodes.png
-
-#. Set up targets for "Verify Networks" with non-default "Offloading Modes"
-
- **NOTE**: Check *Reference 15* for an updated and comprehensive list of
- known issues and/or limitations, including "Offloading Modes" not being
- applied during "Verify Networks" step.
-
- Setting custom "Offloading Modes" in Fuel GUI will only apply those settings
- during provisiong and **not** during "Verify Networks", so if your targets
- need this change, you have to apply "Offloading Modes" settings by hand
- to bootstrapped nodes.
-
- **E.g.**: Our driver has "rx-vlan-filter" default "on" (expected "off") on
- the Openstack interface(s) "eth1", preventing VLAN traffic from passing
- during "Verify Networks".
-
- - From Fuel master console identify target nodes admin IPs (see figure below):
-
- .. code-block:: bash
-
- $ fuel nodes
-
- .. figure:: img/fuelconsole1.png
-
- - SSH into each of the target nodes and disable "rx-vlan-filter" on the
- affected physical interface(s) allocated for OpenStack traffic (eth1):
-
- .. code-block:: bash
-
- $ ssh root@10.20.0.6 ethtool -K eth1 rx-vlan-filter off
-
- - Repeat the step above for all affected nodes/interfaces in the POD.
-
-Verify Networks
-===============
-
-It is important that the Verify Networks action is performed as it will verify
-that communicate works for the networks you have setup, as well as check that
-packages needed for a successful deployment can be fetched.
-
-#. From the FUEL UI in your Environment, Select the Networks Tab and select "Connectivity check" on the left pane (see figure below)
-
- - Select <Verify Networks>
-
- - Continue to fix your topology (physical switch, etc) until the "Verification Succeeded" and "Your network is configured correctly" message is shown
-
- .. figure:: img/verifynet.png
-
-Deploy Your Environment
-=======================
-
-#. Deploy the environment.
-
- - In the Fuel GUI, click on the "Dashboard" Tab.
-
- - Click on <Deploy Changes> in the "Ready to Deploy?" section
-
- - Examine any information notice that pops up and click <Deploy>
-
- Wait for your deployment to complete, you can view the "Dashboard"
- Tab to see the progress and status of your deployment.
-
-=========================
-Installation health-check
-=========================
-
-#. Perform system health-check (see figure below)
-
- - Click the "Health Check" tab inside your Environment in the FUEL Web UI
-
- - Check <Select All> and Click <Run Tests>
-
- - Allow tests to run and investigate results where appropriate
-
- .. figure:: img/health.png
+ $ ci/deploy.sh -b file:///home/jenkins/tmpdir/securedlab \
+ -l arm \
+ -p pod5 \
+ -s os-nosdn-nofeature-ha \
+ -B pxebr \
=============
@@ -628,22 +305,30 @@ Please refer to the :ref:`Release Notes <fuel-release-notes-label>` article.
References
==========
+OPNFV
+
+1) `OPNFV Home Page <http://www.opnfv.org>`_
+2) `OPNFV documentation <http://docs.opnfv.org>`_
+3) `Software downloads <https://www.opnfv.org/software/download>`_
+
OpenStack
-3) `OpenStack Newton Release Artifacts <http://www.openstack.org/software/newton>`_
-4) `OpenStack Documentation <http://docs.openstack.org>`_
+4) `OpenStack Ocata Release Artifacts <http://www.openstack.org/software/ocata>`_
+5) `OpenStack Documentation <http://docs.openstack.org>`_
OpenDaylight
-5) `OpenDaylight Artifacts <http://www.opendaylight.org/software/downloads>`_
+6) `OpenDaylight Artifacts <http://www.opendaylight.org/software/downloads>`_
Fuel
-6) `The Fuel OpenStack Project <https://wiki.openstack.org/wiki/Fuel>`_
-7) `Fuel Documentation Overview <http://docs.openstack.org/developer/fuel-docs>`_
-8) `Fuel Installation Guide <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-install-guide.html>`_
-9) `Fuel User Guide <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide.html>`_
-10) `Fuel Developer Guide <http://docs.openstack.org/developer/fuel-docs/devdocs/develop.html>`_
-11) `Fuel Plugin Developers Guide <http://docs.openstack.org/developer/fuel-docs/plugindocs/fuel-plugin-sdk-guide.html>`_
-12) `Fuel OpenStack Hardware Compatibility List <https://www.mirantis.com/software/hardware-compatibility/>`_
+7) `Mirantis Cloud Platform Documentation <https://docs.mirantis.com/mcp/latest>`_
+
+Salt
+
+8) `Saltstack Documentation <https://docs.saltstack.com/en/latest/topics>`_
+9) `Saltstack Formulas <http://salt-formulas.readthedocs.io/en/latest/develop/overview-reclass.html>`_
+
+Reclass
+10) `Reclass model <http://reclass.pantsfullofunix.net>`_
diff --git a/mcp/config/labs/local/idf-pod1.yaml b/mcp/config/labs/local/idf-pod1.yaml
new file mode 100644
index 000000000..7932f8896
--- /dev/null
+++ b/mcp/config/labs/local/idf-pod1.yaml
@@ -0,0 +1,12 @@
+---
+### LF POD 2 installer descriptor file ###
+
+idf:
+ version: 0.1
+ fuel:
+ jumphost:
+ bridges:
+ admin: 'pxebr'
+ mgmt: 'br-ctl'
+ private: ''
+ public: ''
diff --git a/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml b/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml
index f558f0a4b..6eb1e33ce 100644
--- a/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml
+++ b/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml
@@ -5,6 +5,7 @@ cluster:
- maas
- dpdk
- openstack_ha
+ - neutron_compute
- networks
virtual:
nodes:
diff --git a/mcp/config/states/maas b/mcp/config/states/maas
index aa17e9d4d..67ef6d559 100755
--- a/mcp/config/states/maas
+++ b/mcp/config/states/maas
@@ -117,7 +117,3 @@ wait_for 10 "! salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' state.apply linux,ntp |
wait_for 10 "salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' ssh.set_auth_key ${SUDO_USER} \
$(awk 'NR==1{print $2}' "$(eval echo "~${SUDO_USER}/.ssh/authorized_keys")")"
-
-# Get the latest packages for openstack nodes
-wait_for 10 "! salt -C 'E@^(?!cfg01|mas01|kvm).*' pkg.upgrade refresh=False | " \
- "tee /dev/stderr | fgrep -q 'Not connected'"
diff --git a/mcp/config/states/opendaylight b/mcp/config/states/opendaylight
index bee4c8586..e1ec1982f 100755
--- a/mcp/config/states/opendaylight
+++ b/mcp/config/states/opendaylight
@@ -3,4 +3,5 @@ set -x
salt -I 'opendaylight:server' state.sls opendaylight
salt -I 'opendaylight:client' state.sls opendaylight.client
+salt -I 'opendaylight:client' cmd.run 'neutron-odl-ovs-hostconfig --noovs_dpdk'
salt -I 'neutron:server' state.sls opendaylight.client
diff --git a/mcp/patches/0001-opendaylight-formula-neutron.patch b/mcp/patches/0001-opendaylight-formula-neutron.patch
index e52d315a5..7afbc30e5 100644
--- a/mcp/patches/0001-opendaylight-formula-neutron.patch
+++ b/mcp/patches/0001-opendaylight-formula-neutron.patch
@@ -26,23 +26,32 @@ index d327e64..ba5f933 100644
# Allows for serving metadata requests coming from a dedicated metadata access network whose CIDR is 169.254.169.254/16 (or larger prefix),
# and is connected to a Neutron router from which the VMs send metadata:1 request. In this case DHCP Option 121 will not be injected in VMs,
diff --git a/neutron/files/ocata/ml2_conf.ini b/neutron/files/ocata/ml2_conf.ini
-index 0d48951..347eb15 100644
+index 5ecafe3..48cec1f 100644
--- a/neutron/files/ocata/ml2_conf.ini
+++ b/neutron/files/ocata/ml2_conf.ini
-@@ -269,3 +269,11 @@ enable_security_group = True
+@@ -131,7 +131,7 @@ tenant_network_types = {{ server.backend.tenant_network_types }}
+ # An ordered list of networking mechanism driver entrypoints to be loaded from
+ # the neutron.ml2.mechanism_drivers namespace. (list value)
+ #mechanism_drivers =
+-mechanism_drivers ={%- for backend_name, mechanism in server.backend.get('mechanism', {}).iteritems() %}{{ mechanism.driver }},{%- endfor %}l2population
++mechanism_drivers ={%- for backend_name, mechanism in server.backend.get('mechanism', {}).iteritems() %}{{ mechanism.driver }}{%- endfor %}{%- if server.backend.engine == "ml2" %},l2population{%- endif %}
+
+ # An ordered list of extension driver entrypoints to be loaded from the
+ # neutron.ml2.extension_drivers namespace. For example: extension_drivers =
+@@ -272,3 +272,11 @@ enable_security_group = True
# Use ipset to speed-up the iptables based security groups. Enabling ipset
# support requires that ipset is installed on L2 agent node. (boolean value)
#enable_ipset = true
+
+{%- if server.backend.engine == "opendaylight" %}
+[ml2_odl]
-+port_binding_controller = network-topology
++port_binding_controller = pseudo-agentdb-binding
+url = http://{{ server.backend.host }}:{{ server.backend.rest_api_port }}/controller/nb/v2/neutron
+username = {{ server.backend.user }}
+password = {{ server.backend.password }}
+{%- endif %}
diff --git a/neutron/files/ocata/neutron-generic.conf.Debian b/neutron/files/ocata/neutron-generic.conf.Debian
-index 0dde78f..05ac805 100644
+index 123386d..eeaa3f4 100644
--- a/neutron/files/ocata/neutron-generic.conf.Debian
+++ b/neutron/files/ocata/neutron-generic.conf.Debian
@@ -33,11 +33,11 @@ state_path = /var/lib/neutron
@@ -59,7 +68,7 @@ index 0dde78f..05ac805 100644
{% endif %}
-@@ -2073,3 +2073,8 @@ heartbeat_rate = 2
+@@ -2092,3 +2092,8 @@ heartbeat_rate = 2
# Sets the list of available ciphers. value should be a string in the OpenSSL
# cipher list format. (string value)
#ciphers = <None>
@@ -72,7 +81,7 @@ diff --git a/neutron/files/ocata/neutron-server b/neutron/files/ocata/neutron-se
index 54f6ceb..1682ee0 100644
--- a/neutron/files/ocata/neutron-server
+++ b/neutron/files/ocata/neutron-server
-@@ -7,7 +7,7 @@
+@@ -7,10 +7,10 @@
# neutron.conf
#NEUTRON_PLUGIN_CONFIG="/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini"
@@ -81,8 +90,13 @@ index 54f6ceb..1682ee0 100644
NEUTRON_PLUGIN_CONFIG="/etc/neutron/plugins/ml2/ml2_conf.ini"
{%- endif %}
+ {%- if server.backend.engine == "contrail" %}
+ NEUTRON_PLUGIN_CONFIG="/etc/neutron/plugins/opencontrail/ContrailPlugin.ini"
+-{%- endif %}
+\ No newline at end of file
++{%- endif %}
diff --git a/neutron/files/ocata/neutron-server.conf.Debian b/neutron/files/ocata/neutron-server.conf.Debian
-index 229d342..ac8bdff 100644
+index 049544b..4e68567 100644
--- a/neutron/files/ocata/neutron-server.conf.Debian
+++ b/neutron/files/ocata/neutron-server.conf.Debian
@@ -39,11 +39,11 @@ api_extensions_path = extensions:/usr/lib/python2.7/dist-packages/neutron_plugin
@@ -97,9 +111,9 @@ index 229d342..ac8bdff 100644
-service_plugins =neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,neutron.services.metering.metering_plugin.MeteringPlugin
+service_plugins = {{ server.backend.get('router', 'router')}},metering
{%- if server.lbaas is defined -%},lbaasv2{%- endif -%}
+ {%- if fwaas.get('enabled', False) -%},{{ fwaas[fwaas.api_version]['service_plugin'] }}{%- endif -%}
{%- if server.get('qos', 'True') -%},neutron.services.qos.qos_plugin.QoSPlugin{%- endif -%}
- {%- if server.get('vlan_aware_vms', False) -%},trunk{%- endif -%}
-@@ -835,7 +835,7 @@ allow_headers = {{ server.cors.allow_headers }}
+@@ -838,7 +838,7 @@ allow_headers = {{ server.cors.allow_headers }}
# Deprecated group/name - [DEFAULT]/sql_connection
# Deprecated group/name - [DATABASE]/sql_connection
# Deprecated group/name - [sql]/connection
@@ -108,7 +122,7 @@ index 229d342..ac8bdff 100644
connection = {{ server.database.engine }}+pymysql://{{ server.database.user }}:{{ server.database.password }}@{{ server.database.host }}/{{ server.database.name }}?charset=utf8
{% else %}
connection = sqlite:////var/lib/neutron/neutron.sqlite
-@@ -2198,3 +2198,8 @@ service_provider = LOADBALANCERV2:Opencontrail:neutron_plugin_contrail.plugins.o
+@@ -2217,3 +2217,8 @@ service_provider = LOADBALANCERV2:Opencontrail:neutron_plugin_contrail.plugins.o
{% include "neutron/files/"+server.version+"/ContrailPlugin.ini" %}
{% endif %}
@@ -118,10 +132,10 @@ index 229d342..ac8bdff 100644
+ovsdb_connection = {{ server.backend.ovsdb_connection }}
+{%- endif %}
diff --git a/neutron/gateway.sls b/neutron/gateway.sls
-index a6e6586..ab4bb85 100644
+index 96d7e9f..65386b4 100644
--- a/neutron/gateway.sls
+++ b/neutron/gateway.sls
-@@ -27,6 +27,7 @@ neutron_gateway_packages:
+@@ -32,6 +32,7 @@ neutron_gateway_packages:
/etc/neutron/dhcp_agent.ini:
file.managed:
- source: salt://neutron/files/{{ gateway.version }}/dhcp_agent.ini
@@ -130,10 +144,10 @@ index a6e6586..ab4bb85 100644
- pkg: neutron_gateway_packages
diff --git a/neutron/server.sls b/neutron/server.sls
-index 0b3a6be..7a6bd23 100644
+index eff9fb8..cb9d622 100644
--- a/neutron/server.sls
+++ b/neutron/server.sls
-@@ -64,7 +64,7 @@ neutron_server_service:
+@@ -72,7 +72,7 @@ neutron_server_service:
{%- endif %}
diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
index 4140adb67..e20a34179 100644
--- a/mcp/patches/patches.list
+++ b/mcp/patches/patches.list
@@ -1,4 +1,3 @@
-/usr/share/salt-formulas/env: 0001-opendaylight-formula-neutron.patch
/usr/share/salt-formulas/env: 0002-maas-region-skip-credentials-update.patch
/usr/share/salt-formulas/env: 0003-maas-region-force-artifact-download.patch
/usr/share/salt-formulas/env: 0004-maas-region-use-authorized_keys-1st-entry.patch
diff --git a/mcp/patches/patches_neutron.list b/mcp/patches/patches_neutron.list
new file mode 100644
index 000000000..e80d7617d
--- /dev/null
+++ b/mcp/patches/patches_neutron.list
@@ -0,0 +1 @@
+/usr/share/salt-formulas/env: 0001-opendaylight-formula-neutron.patch
diff --git a/mcp/patches/pharos/0001-Add-IDF-mappings-to-installer-adapter.patch b/mcp/patches/pharos/0001-Add-IDF-mappings-to-installer-adapter.patch
new file mode 100644
index 000000000..59a0e975a
--- /dev/null
+++ b/mcp/patches/pharos/0001-Add-IDF-mappings-to-installer-adapter.patch
@@ -0,0 +1,27 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Tue, 3 Oct 2017 02:41:41 +0200
+Subject: [PATCH] Add IDF mappings to installer adapter
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ config/installers/fuel/pod_config.yml.j2 | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/config/installers/fuel/pod_config.yml.j2 b/config/installers/fuel/pod_config.yml.j2
+index 99434f9..676ead3 100644
+--- a/config/installers/fuel/pod_config.yml.j2
++++ b/config/installers/fuel/pod_config.yml.j2
+@@ -26,6 +26,13 @@
+ parameters:
+ _param:
+
++{%- if conf.idf is defined %}
++ opnfv_jump_bridge_admin: {{ conf['idf']['fuel']['jumphost']['bridges']['admin'] }}
++ opnfv_jump_bridge_mgmt: {{ conf['idf']['fuel']['jumphost']['bridges']['mgmt'] }}
++ opnfv_jump_bridge_private: {{ conf['idf']['fuel']['jumphost']['bridges']['private'] }}
++ opnfv_jump_bridge_public: {{ conf['idf']['fuel']['jumphost']['bridges']['public'] }}
++{%- endif %}
++
+ opnfv_infra_config_address: {{ net_mgmt | ipaddr_index('100') }}
+ opnfv_infra_maas_node01_address: {{ net_mgmt | ipaddr_index('3') }}
+ opnfv_infra_maas_node01_deploy_address: {{ net_admin | ipaddr_index('3') }}
diff --git a/mcp/patches/reclass-system-salt-model/0001-Bring-in-opendaylight-support.patch b/mcp/patches/reclass-system-salt-model/0001-Bring-in-opendaylight-support.patch
index adf07eb81..353854c1b 100644
--- a/mcp/patches/reclass-system-salt-model/0001-Bring-in-opendaylight-support.patch
+++ b/mcp/patches/reclass-system-salt-model/0001-Bring-in-opendaylight-support.patch
@@ -3,30 +3,17 @@ Date: Thu, 29 Jun 2017 12:22:42 +0400
Subject: [PATCH] Bring in opendaylight support
Change-Id: I3efec9a8b586a6c75b1c1635ad2a7024d73d9ad2
----
- neutron/control/opendaylight/cluster.yml | 19 +++++++++++++++++++
- neutron/control/opendaylight/single.yml | 16 ++++++++++++++++
- neutron/gateway/opendaylight/single.yml | 8 ++++++++
- opendaylight/server/single.yml | 2 ++
- .../storage/system/opendaylight_control_single.yml | 13 +++++++++++++
- 5 files changed, 58 insertions(+)
- create mode 100644 neutron/control/opendaylight/cluster.yml
- create mode 100644 neutron/control/opendaylight/single.yml
- create mode 100644 neutron/gateway/opendaylight/single.yml
- create mode 100644 opendaylight/server/single.yml
- create mode 100644 reclass/storage/system/opendaylight_control_single.yml
diff --git a/neutron/control/opendaylight/cluster.yml b/neutron/control/opendaylight/cluster.yml
new file mode 100644
-index 0000000..4133650
+index 0000000..81dd5f9
--- /dev/null
+++ b/neutron/control/opendaylight/cluster.yml
-@@ -0,0 +1,19 @@
+@@ -0,0 +1,18 @@
+classes:
+- service.keepalived.cluster.single
+- service.haproxy.proxy.single
+- service.neutron.control.cluster
-+- system.haproxy.proxy.listen.openstack.neutron
+- system.neutron.control.openvswitch.cluster
+parameters:
+ neutron:
diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/aarch64/init.yml b/mcp/reclass/classes/cluster/all-mcp-ocata-common/aarch64/init.yml
index 4fb2adf55..b9bb4ad31 100644
--- a/mcp/reclass/classes/cluster/all-mcp-ocata-common/aarch64/init.yml
+++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/aarch64/init.yml
@@ -14,3 +14,9 @@ parameters:
# NOTE(armband): Only x86 VCP VMs spawned via salt.control names differ
opnfv_vcp_vm_primary_interface: ${_param:opnfv_fn_vm_primary_interface}
opnfv_vcp_vm_secondary_interface: ${_param:opnfv_fn_vm_secondary_interface}
+
+ # Baremetal interface names (target nodes)
+ opnfv_baremetal_primary_nic: eth0
+ opnfv_baremetal_secondary_nic: eth1
+ opnfv_baremetal_tertiary_nic: eth2 # not used in current reclass model
+ opnfv_baremetal_quaternary_nic: eth3 # not used in current reclass model
diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/runtime.yml.template b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/runtime.yml.template
index b07ae13bd..1488da271 100644
--- a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/runtime.yml.template
+++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/runtime.yml.template
@@ -1,9 +1,10 @@
parameters:
_param:
reclass_config_master: ${SALT_MASTER}
-
opnfv_maas_mcp_address: ${MAAS_IP}
- opnfv_maas_pxe_network: ${MAAS_PXE_NETWORK}
- opnfv_maas_pxe_address: ${MAAS_PXE_NETWORK_ROOTSTR}.3
- opnfv_maas_pxe_iprange_start: ${MAAS_PXE_NETWORK_ROOTSTR}.5
- opnfv_maas_pxe_iprange_end: ${MAAS_PXE_NETWORK_ROOTSTR}.250
+
+ # These should be moved to pod_config.yml and read based on PDF admin net
+ opnfv_maas_pxe_network_address: ${MAAS_PXE_NETWORK}
+ opnfv_maas_pxe_address: ${MAAS_PXE_NETWORK%.*}.3
+ opnfv_maas_pxe_start_address: ${MAAS_PXE_NETWORK%.*}.5
+ opnfv_maas_pxe_end_address: ${MAAS_PXE_NETWORK%.*}.250
diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/x86_64/init.yml b/mcp/reclass/classes/cluster/all-mcp-ocata-common/x86_64/init.yml
index d7d3945aa..72a1e5be1 100644
--- a/mcp/reclass/classes/cluster/all-mcp-ocata-common/x86_64/init.yml
+++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/x86_64/init.yml
@@ -14,3 +14,9 @@ parameters:
# NOTE(armband): Only x86 VCP VMs spawned via salt.control names differ
opnfv_vcp_vm_primary_interface: ens2
opnfv_vcp_vm_secondary_interface: ens3
+
+ # Baremetal interface names (target nodes)
+ opnfv_baremetal_primary_nic: enp6s0
+ opnfv_baremetal_secondary_nic: enp7s0
+ opnfv_baremetal_tertiary_nic: enp8s0
+ opnfv_baremetal_quaternary_nic: enp9s0 # not used in current reclass model
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/config.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/config.yml
index 15202f11b..33f2804e0 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/config.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/config.yml
@@ -31,11 +31,13 @@ parameters:
salt_master_host: ${_param:infra_config_deploy_address}
# yamllint disable rule:line-length
salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
+ dhcp_nic: ${_param:opnfv_fn_vm_primary_interface}
+ single_nic: ${_param:opnfv_fn_vm_secondary_interface}
linux:
network:
interface:
- ens3: ${_param:linux_dhcp_interface}
- ens4: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
salt:
master:
accept_policy: open_mode
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml
index 58c562799..4f8f87a2b 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml
@@ -9,6 +9,7 @@ parameters:
_param:
apt_mk_version: nightly
mcp_repo_version: 1.1
+ salt_version: 2016.11
cluster_name: baremetal-mcp-ocata-odl-ha
cluster_domain: ${_param:cluster_name}.local
# stacklight_environment: ${_param:cluster_domain}
@@ -44,14 +45,18 @@ parameters:
storage:
node:
name: default
+ dhcp_nic: ${_param:opnfv_vcp_vm_primary_interface}
+ single_nic: ${_param:opnfv_vcp_vm_secondary_interface}
linux_dhcp_interface:
enabled: true
type: eth
proto: dhcp
+ name: ${_param:dhcp_nic}
linux_single_interface:
enabled: true
type: eth
proto: static
+ name: ${_param:single_nic}
address: ${_param:single_address}
netmask: 255.255.255.0
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml
index da26254a7..c9b3bc1e0 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- service.keepalived.cluster.single
- system.glusterfs.server.volume.glance
- system.glusterfs.server.volume.keystone
@@ -26,7 +25,7 @@ parameters:
cluster_node03_address: ${_param:infra_kvm_node03_address}
keepalived_vip_interface: br-ctl
keepalived_vip_virtual_router_id: 69
- deploy_nic: enp6s0
+ deploy_nic: ${_param:opnfv_baremetal_primary_nic}
salt:
control:
size: # RAM 4096,8192,16384,32768,65536
@@ -141,7 +140,7 @@ parameters:
linux:
network:
interface:
- eth3:
+ deploy:
enabled: true
type: eth
proto: manual
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml
index 0900b6524..260da225d 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml
@@ -1,14 +1,13 @@
---
classes:
- - system.linux.system.repo.saltstack.xenial
- system.maas.region.single
- service.maas.cluster.single
- cluster.baremetal-mcp-ocata-odl-ha.infra
parameters:
_param:
- dhcp_interface: ens3
- primary_interface: ens4
- pxe_interface: ens5
+ dhcp_interface: ${_param:opnfv_fn_vm_primary_interface}
+ primary_interface: ${_param:opnfv_fn_vm_secondary_interface}
+ pxe_interface: ${_param:opnfv_fn_vm_tertiary_interface}
interface_mtu: 1500
# MaaS has issues using MTU > 1500 for PXE interface
pxe_interface_mtu: 1500
@@ -34,12 +33,12 @@ parameters:
default_min_hwe_kernel: 'hwe-16.04'
subnets:
opnfv_maas_pxe:
- name: ${_param:opnfv_maas_pxe_network}/24
- cidr: ${_param:opnfv_maas_pxe_network}/24
+ name: ${_param:opnfv_maas_pxe_network_address}/24
+ cidr: ${_param:opnfv_maas_pxe_network_address}/24
gateway_ip: ${_param:single_address}
iprange:
- start: ${_param:opnfv_maas_pxe_iprange_start}
- end: ${_param:opnfv_maas_pxe_iprange_end}
+ start: ${_param:opnfv_maas_pxe_start_address}
+ end: ${_param:opnfv_maas_pxe_end_address}
type: dynamic
vlans:
untagged:
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/opendaylight/control.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/opendaylight/control.yml
index d473a07b4..b68eb3db5 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/opendaylight/control.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/opendaylight/control.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.opendaylight.server.single
- cluster.baremetal-mcp-ocata-odl-ha
parameters:
@@ -11,12 +10,7 @@ parameters:
linux:
network:
interface:
- ens3:
- enabled: true
- type: eth
- proto: static
- address: ${_param:single_address}
- netmask: 255.255.255.0
+ single: ${_param:linux_single_interface}
opendaylight:
server:
odl_bind_ip: ${_param:single_address}
@@ -29,5 +23,6 @@ parameters:
- odl-restconf-all
- odl-aaa-authn
- odl-dlux-all
+ - odl-mdsal-apidocs
netvirt:
- odl-netvirt-openstack
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/benchmark.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/benchmark.yml
index 160d0bd62..758fa3ffc 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/benchmark.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/benchmark.yml
@@ -2,8 +2,11 @@
classes:
- cluster.baremetal-mcp-ocata-odl-ha
parameters:
+ _param:
+ dhcp_nic: eth0
+ single_nic: eth1
linux:
network:
interface:
- eth0: ${_param:linux_dhcp_interface}
- eth1: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml
index ba0f385e7..032dd8452 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.linux.storage.loopback
- system.glusterfs.client.cluster
- system.nova.compute.cluster
@@ -25,14 +24,14 @@ parameters:
cluster_node03_hostname: ctl03
cluster_node03_address: ${_param:openstack_control_node03_address}
nova_vncproxy_url: https://${_param:cluster_public_host}:6080
- mgmt_nic: enp6s0
- tenant_nic: enp7s0
- linux_system_codename: xenial
- external_nic: enp8s0
+ mgmt_nic: ${_param:opnfv_baremetal_primary_nic}
+ tenant_nic: ${_param:opnfv_baremetal_secondary_nic}
+ external_nic: ${_param:opnfv_baremetal_tertiary_nic}
interface_mtu: 1500
keepalived_vip_interface: br-ctl
keepalived_vip_virtual_router_id: 69
loopback_device_size: 20
+ linux_system_codename: xenial
neutron_agents:
- neutron-dhcp-agent
- neutron-metadata-agent
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/control.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/control.yml
index 9b72199ef..9da1f03da 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/control.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/control.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.ceilometer.client
- system.memcached.server.single
- system.keystone.server.cluster
@@ -24,7 +23,7 @@ classes:
- cluster.baremetal-mcp-ocata-odl-ha.infra
parameters:
_param:
- keepalived_vip_interface: ens3
+ keepalived_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 50
cluster_vip_address: ${_param:openstack_control_address}
cluster_local_address: ${_param:single_address}
@@ -38,8 +37,8 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
keystone:
server:
cacert: /etc/ssl/certs/mcp_os_cacert
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/dashboard.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/dashboard.yml
index ddcc196ae..e70aab514 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/dashboard.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/dashboard.yml
@@ -8,5 +8,5 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/database.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/database.yml
index e59c479ee..fc783d1b4 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/database.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/database.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.galera.server.cluster
- system.galera.server.database.aodh
- system.galera.server.database.ceilometer
@@ -17,7 +16,7 @@ classes:
- cluster.baremetal-mcp-ocata-odl-ha
parameters:
_param:
- keepalived_vip_interface: ens3
+ keepalived_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 80
galera_server_cluster_name: openstack_cluster
galera_max_connections: 3072
@@ -33,5 +32,5 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/message_queue.yml
index 3c6427ca0..f740e2904 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/message_queue.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/message_queue.yml
@@ -2,13 +2,12 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.rabbitmq.server.cluster
- system.rabbitmq.server.vhost.openstack
- cluster.baremetal-mcp-ocata-odl-ha
parameters:
_param:
- keepalived_vip_interface: ens3
+ keepalived_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 90
cluster_vip_address: ${_param:openstack_message_queue_address}
cluster_local_address: ${_param:single_address}
@@ -21,5 +20,5 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/proxy.yml
index 446157d41..83a4be3fb 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/proxy.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/proxy.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.nginx.server.single
- system.nginx.server.proxy.openstack_api
- system.nginx.server.proxy.openstack_vnc
@@ -18,7 +17,7 @@ classes:
# - cluster.baremetal-mcp-ocata-odl-ha.stacklight.proxy
parameters:
_param:
- keepalived_vip_interface: ens3
+ keepalived_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 240
nginx_proxy_ssl:
enabled: true
@@ -30,8 +29,8 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
system:
package:
libapache2-mod-wsgi:
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/telemetry.yml
index e1c969cf1..4b14f7beb 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/telemetry.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/telemetry.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.mongodb.server.cluster
- system.mongodb.server.database.ceilometer
- system.ceilometer.server.backend.mongodb
@@ -13,7 +12,7 @@ classes:
- cluster.baremetal-mcp-ocata-odl-ha.infra
parameters:
_param:
- keepalived_openstack_telemetry_vip_interface: ens3
+ keepalived_openstack_telemetry_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 230
cluster_vip_address: ${_param:openstack_telemetry_address}
cluster_local_address: ${_param:single_address}
@@ -26,8 +25,8 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
mongodb:
server:
logging:
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/config.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/config.yml
index 9d53193be..cd7083040 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/config.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/config.yml
@@ -30,11 +30,13 @@ parameters:
salt_master_host: ${_param:infra_config_deploy_address}
# yamllint disable rule:line-length
salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
+ dhcp_nic: ${_param:opnfv_fn_vm_primary_interface}
+ single_nic: ${_param:opnfv_fn_vm_secondary_interface}
linux:
network:
interface:
- ens3: ${_param:linux_dhcp_interface}
- ens4: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
salt:
master:
accept_policy: open_mode
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml
index 8aadd7a6a..f68d48452 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml
@@ -9,6 +9,7 @@ parameters:
_param:
apt_mk_version: nightly
mcp_repo_version: 1.1
+ salt_version: 2016.11
cluster_name: baremetal-mcp-ocata-ovs-dpdk-ha
cluster_domain: ${_param:cluster_name}.local
# stacklight_environment: ${_param:cluster_domain}
@@ -44,14 +45,18 @@ parameters:
storage:
node:
name: default
+ dhcp_nic: ${_param:opnfv_vcp_vm_primary_interface}
+ single_nic: ${_param:opnfv_vcp_vm_secondary_interface}
linux_dhcp_interface:
enabled: true
type: eth
proto: dhcp
+ name: ${_param:dhcp_nic}
linux_single_interface:
enabled: true
type: eth
proto: static
+ name: ${_param:single_nic}
address: ${_param:single_address}
netmask: 255.255.255.0
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/kvm.yml
index 72e6ac2ed..d5f2e92d1 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/kvm.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/kvm.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- service.keepalived.cluster.single
- system.glusterfs.server.volume.glance
- system.glusterfs.server.volume.keystone
@@ -26,7 +25,7 @@ parameters:
cluster_node03_address: ${_param:infra_kvm_node03_address}
keepalived_vip_interface: br-ctl
keepalived_vip_virtual_router_id: 69
- deploy_nic: enp6s0
+ deploy_nic: ${_param:opnfv_baremetal_primary_nic}
salt:
control:
size: # RAM 4096,8192,16384,32768,65536
@@ -130,7 +129,7 @@ parameters:
linux:
network:
interface:
- eth3:
+ deploy:
enabled: true
type: eth
proto: manual
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/maas.yml
index ee1dfdaf3..9c76526a3 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/maas.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/maas.yml
@@ -1,14 +1,13 @@
---
classes:
- - system.linux.system.repo.saltstack.xenial
- system.maas.region.single
- service.maas.cluster.single
- cluster.baremetal-mcp-ocata-ovs-dpdk-ha.infra
parameters:
_param:
- dhcp_interface: ens3
- primary_interface: ens4
- pxe_interface: ens5
+ dhcp_interface: ${_param:opnfv_fn_vm_primary_interface}
+ primary_interface: ${_param:opnfv_fn_vm_secondary_interface}
+ pxe_interface: ${_param:opnfv_fn_vm_tertiary_interface}
interface_mtu: 1500
# MaaS has issues using MTU > 1500 for PXE interface
pxe_interface_mtu: 1500
@@ -34,12 +33,12 @@ parameters:
default_min_hwe_kernel: 'hwe-16.04'
subnets:
opnfv_maas_pxe:
- name: ${_param:opnfv_maas_pxe_network}/24
- cidr: ${_param:opnfv_maas_pxe_network}/24
+ name: ${_param:opnfv_maas_pxe_network_address}/24
+ cidr: ${_param:opnfv_maas_pxe_network_address}/24
gateway_ip: ${_param:single_address}
iprange:
- start: ${_param:opnfv_maas_pxe_iprange_start}
- end: ${_param:opnfv_maas_pxe_iprange_end}
+ start: ${_param:opnfv_maas_pxe_start_address}
+ end: ${_param:opnfv_maas_pxe_end_address}
type: dynamic
vlans:
untagged:
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/benchmark.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/benchmark.yml
index 54fe3d793..083a2df68 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/benchmark.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/benchmark.yml
@@ -2,8 +2,11 @@
classes:
- cluster.baremetal-mcp-ocata-ovs-dpdk-ha
parameters:
+ _param:
+ dhcp_nic: eth0
+ single_nic: eth1
linux:
network:
interface:
- eth0: ${_param:linux_dhcp_interface}
- eth1: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/compute.yml
index 696c5a5bb..e8fc0870f 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/compute.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/compute.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.linux.storage.loopback
- system.glusterfs.client.cluster
- system.nova.compute.cluster
@@ -25,13 +24,13 @@ parameters:
cluster_node03_hostname: ctl03
cluster_node03_address: ${_param:openstack_control_node03_address}
nova_vncproxy_url: https://${_param:cluster_public_host}:6080
- mgmt_nic: enp6s0
- linux_system_codename: xenial
- external_nic: enp8s0
+ mgmt_nic: ${_param:opnfv_baremetal_primary_nic}
+ external_nic: ${_param:opnfv_baremetal_tertiary_nic}
interface_mtu: 1500
keepalived_vip_interface: br-ctl
keepalived_vip_virtual_router_id: 69
loopback_device_size: 20
+ linux_system_codename: xenial
neutron:
gateway:
dpdk: 'True'
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/control.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/control.yml
index fb9f54e03..1aba5242a 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/control.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/control.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.ceilometer.client
- system.memcached.server.single
- system.keystone.server.cluster
@@ -24,7 +23,7 @@ classes:
- cluster.baremetal-mcp-ocata-ovs-dpdk-ha.infra
parameters:
_param:
- keepalived_vip_interface: ens3
+ keepalived_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 50
cluster_vip_address: ${_param:openstack_control_address}
cluster_local_address: ${_param:single_address}
@@ -42,8 +41,8 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
keystone:
server:
cacert: /etc/ssl/certs/mcp_os_cacert
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/dashboard.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/dashboard.yml
index 9e44d62b1..1b3c5c5a9 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/dashboard.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/dashboard.yml
@@ -8,5 +8,5 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/database.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/database.yml
index c7d81c85e..9ecf7e923 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/database.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/database.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.galera.server.cluster
- system.galera.server.database.aodh
- system.galera.server.database.ceilometer
@@ -17,7 +16,7 @@ classes:
- cluster.baremetal-mcp-ocata-ovs-dpdk-ha
parameters:
_param:
- keepalived_vip_interface: ens3
+ keepalived_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 80
galera_server_cluster_name: openstack_cluster
galera_max_connections: 3072
@@ -33,5 +32,5 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/message_queue.yml
index d9215c53f..ba9e0656f 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/message_queue.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/message_queue.yml
@@ -2,13 +2,12 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.rabbitmq.server.cluster
- system.rabbitmq.server.vhost.openstack
- cluster.baremetal-mcp-ocata-ovs-dpdk-ha
parameters:
_param:
- keepalived_vip_interface: ens3
+ keepalived_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 90
cluster_vip_address: ${_param:openstack_message_queue_address}
cluster_local_address: ${_param:single_address}
@@ -21,5 +20,5 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/proxy.yml
index 11f0e05a4..16c4a0968 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/proxy.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/proxy.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.nginx.server.single
- system.nginx.server.proxy.openstack_api
- system.nginx.server.proxy.openstack_vnc
@@ -18,7 +17,7 @@ classes:
# - cluster.baremetal-mcp-ocata-ovs-dpdk-ha.stacklight.proxy
parameters:
_param:
- keepalived_vip_interface: ens3
+ keepalived_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 240
nginx_proxy_ssl:
enabled: true
@@ -30,8 +29,8 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
system:
package:
libapache2-mod-wsgi:
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/telemetry.yml
index 28a27b076..38267218c 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/telemetry.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/telemetry.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.mongodb.server.cluster
- system.mongodb.server.database.ceilometer
- system.ceilometer.server.backend.mongodb
@@ -13,7 +12,7 @@ classes:
- cluster.baremetal-mcp-ocata-ovs-dpdk-ha.infra
parameters:
_param:
- keepalived_openstack_telemetry_vip_interface: ens3
+ keepalived_openstack_telemetry_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 230
cluster_vip_address: ${_param:openstack_telemetry_address}
cluster_local_address: ${_param:single_address}
@@ -26,8 +25,8 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
mongodb:
server:
logging:
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml
index 3966dae6c..75c20f4b4 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml
@@ -30,11 +30,13 @@ parameters:
salt_master_host: ${_param:infra_config_deploy_address}
# yamllint disable rule:line-length
salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
+ dhcp_nic: ${_param:opnfv_fn_vm_primary_interface}
+ single_nic: ${_param:opnfv_fn_vm_secondary_interface}
linux:
network:
interface:
- ens3: ${_param:linux_dhcp_interface}
- ens4: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
salt:
master:
accept_policy: open_mode
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml
index b4cc054a2..7c250a30e 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml
@@ -9,6 +9,7 @@ parameters:
_param:
apt_mk_version: nightly
mcp_repo_version: 1.1
+ salt_version: 2016.11
cluster_name: baremetal-mcp-ocata-ovs-ha
cluster_domain: ${_param:cluster_name}.local
# stacklight_environment: ${_param:cluster_domain}
@@ -44,14 +45,18 @@ parameters:
storage:
node:
name: default
+ dhcp_nic: ${_param:opnfv_vcp_vm_primary_interface}
+ single_nic: ${_param:opnfv_vcp_vm_secondary_interface}
linux_dhcp_interface:
enabled: true
type: eth
proto: dhcp
+ name: ${_param:dhcp_nic}
linux_single_interface:
enabled: true
type: eth
proto: static
+ name: ${_param:single_nic}
address: ${_param:single_address}
netmask: 255.255.255.0
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml
index 9e023e33d..eb73e1cca 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- service.keepalived.cluster.single
- system.glusterfs.server.volume.glance
- system.glusterfs.server.volume.keystone
@@ -26,7 +25,7 @@ parameters:
cluster_node03_address: ${_param:infra_kvm_node03_address}
keepalived_vip_interface: br-ctl
keepalived_vip_virtual_router_id: 69
- deploy_nic: enp6s0
+ deploy_nic: ${_param:opnfv_baremetal_primary_nic}
salt:
control:
size: # RAM 4096,8192,16384,32768,65536
@@ -131,7 +130,7 @@ parameters:
linux:
network:
interface:
- eth3:
+ deploy:
enabled: true
type: eth
proto: manual
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml
index bf5783703..1ec662d93 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml
@@ -1,14 +1,13 @@
---
classes:
- - system.linux.system.repo.saltstack.xenial
- system.maas.region.single
- service.maas.cluster.single
- cluster.baremetal-mcp-ocata-ovs-ha.infra
parameters:
_param:
- dhcp_interface: ens3
- primary_interface: ens4
- pxe_interface: ens5
+ dhcp_interface: ${_param:opnfv_fn_vm_primary_interface}
+ primary_interface: ${_param:opnfv_fn_vm_secondary_interface}
+ pxe_interface: ${_param:opnfv_fn_vm_tertiary_interface}
interface_mtu: 1500
# MaaS has issues using MTU > 1500 for PXE interface
pxe_interface_mtu: 1500
@@ -34,12 +33,12 @@ parameters:
default_min_hwe_kernel: 'hwe-16.04'
subnets:
opnfv_maas_pxe:
- name: ${_param:opnfv_maas_pxe_network}/24
- cidr: ${_param:opnfv_maas_pxe_network}/24
+ name: ${_param:opnfv_maas_pxe_network_address}/24
+ cidr: ${_param:opnfv_maas_pxe_network_address}/24
gateway_ip: ${_param:single_address}
iprange:
- start: ${_param:opnfv_maas_pxe_iprange_start}
- end: ${_param:opnfv_maas_pxe_iprange_end}
+ start: ${_param:opnfv_maas_pxe_start_address}
+ end: ${_param:opnfv_maas_pxe_end_address}
type: dynamic
vlans:
untagged:
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/benchmark.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/benchmark.yml
index 23a8d46f3..7d5eb80c3 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/benchmark.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/benchmark.yml
@@ -2,8 +2,11 @@
classes:
- cluster.baremetal-mcp-ocata-ovs-ha
parameters:
+ _param:
+ dhcp_nic: eth0
+ single_nic: eth1
linux:
network:
interface:
- eth0: ${_param:linux_dhcp_interface}
- eth1: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml
index ff97fe819..165e0c9c4 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.linux.storage.loopback
- system.glusterfs.client.cluster
- system.nova.compute.cluster
@@ -24,9 +23,9 @@ parameters:
cluster_node03_hostname: ctl03
cluster_node03_address: ${_param:openstack_control_node03_address}
nova_vncproxy_url: https://${_param:cluster_public_host}:6080
- mgmt_nic: enp6s0
- tenant_nic: enp7s0
- external_nic: enp8s0
+ mgmt_nic: ${_param:opnfv_baremetal_primary_nic}
+ tenant_nic: ${_param:opnfv_baremetal_secondary_nic}
+ external_nic: ${_param:opnfv_baremetal_tertiary_nic}
linux_system_codename: xenial
interface_mtu: 1500
keepalived_vip_interface: br-ctl
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/control.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/control.yml
index f0c03cc0e..3fd4fd185 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/control.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/control.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.ceilometer.client
- system.memcached.server.single
- system.keystone.server.cluster
@@ -24,7 +23,7 @@ classes:
- cluster.baremetal-mcp-ocata-ovs-ha.infra
parameters:
_param:
- keepalived_vip_interface: ens3
+ keepalived_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 50
cluster_vip_address: ${_param:openstack_control_address}
cluster_local_address: ${_param:single_address}
@@ -38,8 +37,8 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
keystone:
server:
cacert: /etc/ssl/certs/mcp_os_cacert
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/dashboard.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/dashboard.yml
index f2e010da4..03635ca68 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/dashboard.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/dashboard.yml
@@ -8,5 +8,5 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/database.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/database.yml
index b8a43d814..e2ee1a89c 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/database.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/database.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.galera.server.cluster
- system.galera.server.database.aodh
- system.galera.server.database.ceilometer
@@ -17,7 +16,7 @@ classes:
- cluster.baremetal-mcp-ocata-ovs-ha
parameters:
_param:
- keepalived_vip_interface: ens3
+ keepalived_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 80
galera_server_cluster_name: openstack_cluster
galera_max_connections: 3072
@@ -33,5 +32,5 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/message_queue.yml
index 66b58221c..67a5d3d5a 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/message_queue.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/message_queue.yml
@@ -2,13 +2,12 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.rabbitmq.server.cluster
- system.rabbitmq.server.vhost.openstack
- cluster.baremetal-mcp-ocata-ovs-ha
parameters:
_param:
- keepalived_vip_interface: ens3
+ keepalived_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 90
cluster_vip_address: ${_param:openstack_message_queue_address}
cluster_local_address: ${_param:single_address}
@@ -21,5 +20,5 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/proxy.yml
index e948d93ad..c6a68fa29 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/proxy.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/proxy.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.nginx.server.single
- system.nginx.server.proxy.openstack_api
- system.nginx.server.proxy.openstack_vnc
@@ -18,7 +17,7 @@ classes:
# - cluster.baremetal-mcp-ocata-ovs-ha.stacklight.proxy
parameters:
_param:
- keepalived_vip_interface: ens3
+ keepalived_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 240
nginx_proxy_ssl:
enabled: true
@@ -30,8 +29,8 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
system:
package:
libapache2-mod-wsgi:
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/telemetry.yml
index 4389a4918..4a72a61e6 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/telemetry.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/telemetry.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.mongodb.server.cluster
- system.mongodb.server.database.ceilometer
- system.ceilometer.server.backend.mongodb
@@ -13,7 +12,7 @@ classes:
- cluster.baremetal-mcp-ocata-ovs-ha.infra
parameters:
_param:
- keepalived_openstack_telemetry_vip_interface: ens3
+ keepalived_openstack_telemetry_vip_interface: ${_param:single_nic}
keepalived_vip_virtual_router_id: 230
cluster_vip_address: ${_param:openstack_telemetry_address}
cluster_local_address: ${_param:single_address}
@@ -26,8 +25,8 @@ parameters:
linux:
network:
interface:
- ens2: ${_param:linux_dhcp_interface}
- ens3: ${_param:linux_single_interface}
+ dhcp: ${_param:linux_dhcp_interface}
+ single: ${_param:linux_single_interface}
mongodb:
server:
logging:
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_compute.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_compute.yml
index d072956dc..ddd804a42 100644
--- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_compute.yml
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_compute.yml
@@ -1,6 +1,5 @@
---
classes:
- - system.linux.system.repo.saltstack.xenial
- system.linux.storage.loopback
- service.nfs.client
- system.nova.compute.single
@@ -17,7 +16,7 @@ parameters:
external_interface: ${_param:opnfv_fn_vm_quaternary_interface}
interface_mtu: 9000
linux_system_codename: xenial
- loopback_device_size: 10
+ loopback_device_size: 20
nova:
compute:
libvirt_service: libvirtd
@@ -78,7 +77,6 @@ parameters:
primary_interface:
enabled: true
name: ${_param:primary_interface}
- mtu: ${_param:interface_mtu}
proto: manual
type: eth
tenant_interface:
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_control.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_control.yml
index 4c9af8d55..a2382bb2d 100644
--- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_control.yml
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_control.yml
@@ -3,7 +3,6 @@ classes:
- system.linux.system.lowmem
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- service.nfs.server
- system.mongodb.server.single
- system.mongodb.server.database.ceilometer
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_gateway.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_gateway.yml
index b0316f209..c6e2b7e28 100644
--- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_gateway.yml
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_gateway.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
parameters:
_param:
primary_interface: ${_param:opnfv_fn_vm_secondary_interface}
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/opendaylight/control.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/opendaylight/control.yml
index d47e5cc3d..1c659fa73 100644
--- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/opendaylight/control.yml
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/opendaylight/control.yml
@@ -2,7 +2,6 @@
classes:
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- - system.linux.system.repo.saltstack.xenial
- system.opendaylight.server.single
- cluster.virtual-mcp-ocata-odl-router
parameters:
@@ -30,5 +29,6 @@ parameters:
- odl-restconf-all
- odl-aaa-authn
- odl-dlux-all
+ - odl-mdsal-apidocs
netvirt:
- odl-netvirt-openstack
diff --git a/mcp/salt-formulas/maas/pxe_route.sls b/mcp/salt-formulas/maas/pxe_route.sls
index 9c22b2a76..e6e9a7801 100644
--- a/mcp/salt-formulas/maas/pxe_route.sls
+++ b/mcp/salt-formulas/maas/pxe_route.sls
@@ -3,6 +3,6 @@ routes:
- name: {{ salt['pillar.get']('_param:opnfv_fn_vm_primary_interface') }}
- routes:
- name: maas_mcp_to_pxe_network
- ipaddr: {{ salt['pillar.get']('_param:opnfv_maas_pxe_network') }}
+ ipaddr: {{ salt['pillar.get']('_param:opnfv_maas_pxe_network_address') }}
netmask: 255.255.255.0
gateway: {{ salt['pillar.get']('_param:opnfv_maas_mcp_address') }}
diff --git a/mcp/salt-formulas/opendaylight/files/jetty.xml b/mcp/salt-formulas/opendaylight/files/jetty.xml
index 062568c54..e6371883a 100644
--- a/mcp/salt-formulas/opendaylight/files/jetty.xml
+++ b/mcp/salt-formulas/opendaylight/files/jetty.xml
@@ -21,7 +21,7 @@
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//
DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
-<Configure class="org.eclipse.jetty.server.Server">
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
<!-- =========================================================== -->
<!-- Set connectors -->
@@ -31,41 +31,98 @@ DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<!-- Use this connector for many frequently idle connections and for
threadless continuations. -->
+ <New id="http-default" class="org.eclipse.jetty.server.HttpConfiguration">
+ <Set name="secureScheme">https</Set>
+ <Set name="securePort">
+ <Property name="jetty.secure.port" default="8543" />
+ </Set>
+ <Set name="outputBufferSize">32768</Set>
+ <Set name="requestHeaderSize">8192</Set>
+ <Set name="responseHeaderSize">8192</Set>
+
+ <!-- Default security setting: do not leak our version -->
+ <Set name="sendServerVersion">false</Set>
+
+ <Set name="sendDateHeader">false</Set>
+ <Set name="headerCacheSize">512</Set>
+ </New>
+
+ <New id="http-legacy" class="org.eclipse.jetty.server.HttpConfiguration">
+ <Set name="secureScheme">https</Set>
+ <Set name="securePort">
+ <Property name="jetty.secure.port" default="8443" />
+ </Set>
+ <Set name="outputBufferSize">32768</Set>
+ <Set name="requestHeaderSize">8192</Set>
+ <Set name="responseHeaderSize">8192</Set>
+
+ <!-- Default security setting: do not leak our version -->
+ <Set name="sendServerVersion">false</Set>
+
+ <Set name="sendDateHeader">false</Set>
+ <Set name="headerCacheSize">512</Set>
+ </New>
+
<Call name="addConnector">
<Arg>
- <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
+ <New class="org.eclipse.jetty.server.ServerConnector">
+ <Arg name="server">
+ <Ref refid="Server" />
+ </Arg>
+ <Arg name="factories">
+ <Array type="org.eclipse.jetty.server.ConnectionFactory">
+ <Item>
+ <New class="org.eclipse.jetty.server.HttpConnectionFactory">
+ <Arg name="config">
+ <Ref refid="http-default"/>
+ </Arg>
+ </New>
+ </Item>
+ </Array>
+ </Arg>
<Set name="host">{{ server.odl_bind_ip }}
- <Property name="jetty.host" />
+ <Property name="jetty.host"/>
</Set>
<Set name="port">
- <Property name="jetty.port" default="8181" />
+ <Property name="jetty.port" default="8181"/>
</Set>
- <Set name="maxIdleTime">300000</Set>
- <Set name="Acceptors">2</Set>
- <Set name="statsOn">false</Set>
- <Set name="confidentialPort">8543</Set>
- <Set name="lowResourcesConnections">20000</Set>
- <Set name="lowResourcesMaxIdleTime">5000</Set>
+ <Set name="idleTimeout">
+ <Property name="http.timeout" default="300000"/>
+ </Set>
+ <Set name="name">jetty-default</Set>
</New>
</Arg>
</Call>
+
<Call name="addConnector">
- <Arg>
- <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
- <Set name="host">{{ server.odl_bind_ip }}
- <Property name="jetty.host" />
- </Set>
- <Set name="port">
- <Property name="jetty.port" default="{{ server.odl_rest_port }}" />
- </Set>
- <Set name="maxIdleTime">300000</Set>
- <Set name="Acceptors">2</Set>
- <Set name="statsOn">false</Set>
- <Set name="confidentialPort">8443</Set>
- <Set name="lowResourcesConnections">20000</Set>
- <Set name="lowResourcesMaxIdleTime">5000</Set>
- </New>
- </Arg>
+ <Arg>
+ <New class="org.eclipse.jetty.server.ServerConnector">
+ <Arg name="server">
+ <Ref refid="Server" />
+ </Arg>
+ <Arg name="factories">
+ <Array type="org.eclipse.jetty.server.ConnectionFactory">
+ <Item>
+ <New class="org.eclipse.jetty.server.HttpConnectionFactory">
+ <Arg name="config">
+ <Ref refid="http-legacy" />
+ </Arg>
+ </New>
+ </Item>
+ </Array>
+ </Arg>
+ <Set name="host">{{ server.odl_bind_ip }}
+ <Property name="jetty.host"/>
+ </Set>
+ <Set name="port">
+ <Property name="jetty.port" default="{{ server.odl_rest_port }}"/>
+ </Set>
+ <Set name="idleTimeout">
+ <Property name="http.timeout" default="300000"/>
+ </Set>q
+ <Set name="name">jetty-legacy</Set>
+ </New>
+ </Arg>
</Call>
<!-- =========================================================== -->
@@ -77,7 +134,7 @@ DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<!-- =========================================================== -->
<Call name="addBean">
<Arg>
- <New class="org.eclipse.jetty.plus.jaas.JAASLoginService">
+ <New class="org.eclipse.jetty.jaas.JAASLoginService">
<Set name="name">karaf</Set>
<Set name="loginModuleName">karaf</Set>
<Set name="roleClassNames">
@@ -91,7 +148,7 @@ DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
</Call>
<Call name="addBean">
<Arg>
- <New class="org.eclipse.jetty.plus.jaas.JAASLoginService">
+ <New class="org.eclipse.jetty.jaas.JAASLoginService">
<Set name="name">default</Set>
<Set name="loginModuleName">karaf</Set>
<Set name="roleClassNames">
@@ -103,5 +160,4 @@ DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
</New>
</Arg>
</Call>
-
</Configure>
diff --git a/mcp/salt-formulas/opendaylight/map.jinja b/mcp/salt-formulas/opendaylight/map.jinja
index 0f6bf3c7e..755f878e2 100644
--- a/mcp/salt-formulas/opendaylight/map.jinja
+++ b/mcp/salt-formulas/opendaylight/map.jinja
@@ -1,10 +1,10 @@
{% set server = salt['grains.filter_by']({
'Debian': {
- 'karaf_features': {'default': ['config', 'standard', 'region', 'package', 'kar', 'ssh', 'management']},
+ 'karaf_features': {'default': ['standard', 'wrap', 'ssh']},
'odl_rest_port': '8282',
'odl_bind_ip': '0.0.0.0',
- 'repo': 'odl-team/carbon',
+ 'repo': 'odl-team/nitrogen',
'log_levels': {},
'enable_ha': false,
'ha_node_ips': [],
diff --git a/mcp/salt-formulas/opendaylight/server.sls b/mcp/salt-formulas/opendaylight/server.sls
index 8c6c3b28a..f7a97417e 100644
--- a/mcp/salt-formulas/opendaylight/server.sls
+++ b/mcp/salt-formulas/opendaylight/server.sls
@@ -14,12 +14,14 @@ opendaylight:
- file: /opt/opendaylight/etc/jetty.xml
- file: /opt/opendaylight/bin/setenv
- ini: /opt/opendaylight/etc/org.apache.karaf.features.cfg
+ - ini: /opt/opendaylight/etc/org.ops4j.pax.web.cfg
service.running:
- enable: true
- watch:
- file: /opt/opendaylight/etc/jetty.xml
- file: /opt/opendaylight/bin/setenv
- ini: /opt/opendaylight/etc/org.apache.karaf.features.cfg
+ - ini: /opt/opendaylight/etc/org.ops4j.pax.web.cfg
/opt/opendaylight/etc/jetty.xml:
file.managed:
@@ -46,6 +48,11 @@ opendaylight:
- sections:
featuresBoot: {{ features }}
+/opt/opendaylight/etc/org.ops4j.pax.web.cfg:
+ ini.options_present:
+ - sections:
+ org.ops4j.pax.web.listening.addresses: {{ server.odl_bind_ip }}
+
{%- if server.get('router_enabled', false) %}
/opt/opendaylight/etc/custom.properties:
ini.options_present:
diff --git a/mcp/scripts/globals.sh b/mcp/scripts/globals.sh
new file mode 100644
index 000000000..6dabe65fe
--- /dev/null
+++ b/mcp/scripts/globals.sh
@@ -0,0 +1,21 @@
+#!/bin/bash -ex
+##############################################################################
+# Copyright (c) 2017 Ericsson AB, Mirantis Inc., Enea AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Global variables
+export SSH_KEY=${SSH_KEY:-"/var/lib/opnfv/mcp.rsa"}
+export SALT_MASTER=${INSTALLER_IP:-10.20.0.2}
+export SALT_MASTER_USER=${SALT_MASTER_USER:-ubuntu}
+export MAAS_IP=${MAAS_IP:-${SALT_MASTER%.*}.3}
+
+# These should be determined from PDF later
+export MAAS_PXE_NETWORK=${MAAS_PXE_NETWORK:-192.168.11.0}
+
+# Derivated from above global vars
+export SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${SSH_KEY}"
+export SSH_SALT="${SALT_MASTER_USER}@${SALT_MASTER}"
diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh
index dc4d9dc2f..fcc5d76ac 100644
--- a/mcp/scripts/lib.sh
+++ b/mcp/scripts/lib.sh
@@ -103,13 +103,7 @@ create_vms() {
vnode_networks[2]="${vnode_networks[0]}"
fi
for net in "${vnode_networks[@]:1}"; do
- net_type="bridge"
- # in case of custom network, host should already have the bridge in place
- if [ -f "net_${net}.xml" ] && \
- [ ! -d "/sys/class/net/${net}/bridge" ]; then
- net_type="network"
- fi
- net_args="${net_args} --network ${net_type}=${net},model=virtio"
+ net_args="${net_args} --network bridge=${net},model=virtio"
done
# shellcheck disable=SC2086
diff --git a/mcp/scripts/log.sh b/mcp/scripts/log.sh
index 1ae0953af..8c4bf3ef5 100755
--- a/mcp/scripts/log.sh
+++ b/mcp/scripts/log.sh
@@ -14,6 +14,8 @@ DEPLOY_LOG=$1
OPNFV_TMP_LOG="opnfv_fuel_logs"
[ -n "${DEPLOY_LOG}" ] || exit 0
+# shellcheck disable=SC1090
+[ -n "${SSH_OPTS}" ] || source "$(dirname "${BASH_SOURCE[0]}")/globals.sh"
# ssh to cfg01
# shellcheck disable=SC2086,2087
diff --git a/mcp/scripts/net_mcpcontrol.xml.template b/mcp/scripts/net_mcpcontrol.xml.template
index 722a66aa9..ab58851e8 100644
--- a/mcp/scripts/net_mcpcontrol.xml.template
+++ b/mcp/scripts/net_mcpcontrol.xml.template
@@ -2,9 +2,9 @@
<name>mcpcontrol</name>
<bridge name="mcpcontrol"/>
<forward mode="nat"/>
- <ip address="${MCP_CTRL_NETWORK_ROOTSTR}.1" netmask="255.255.255.0">
+ <ip address="${SALT_MASTER%.*}.1" netmask="255.255.255.0">
<dhcp>
- <range start="${MCP_CTRL_NETWORK_ROOTSTR}.2" end="${MCP_CTRL_NETWORK_ROOTSTR}.254"/>
+ <range start="${SALT_MASTER%.*}.2" end="${SALT_MASTER%.*}.254"/>
</dhcp>
</ip>
</network>
diff --git a/mcp/scripts/pharos b/mcp/scripts/pharos
-Subproject 908dab58edbbe8f22db14a9261693a54e9b2d8f
+Subproject 2c4fac2e41aaca9dd679b200ffc968eeb448b39
diff --git a/mcp/scripts/salt.sh b/mcp/scripts/salt.sh
index 081513c6b..b0a26873d 100755
--- a/mcp/scripts/salt.sh
+++ b/mcp/scripts/salt.sh
@@ -65,4 +65,9 @@ ssh ${SSH_OPTS} "${SSH_SALT}" bash -s << SALT_INSTALL_END
salt -C '* and not cfg01*' pkg.upgrade refresh=False
salt '*' state.sls ntp
+
+ # Temporary fixup for mismatch between neutron formula and reclass model
+ salt-call pkg.install salt-formula-neutron allow_updates=False refresh=False \
+ version=2016.12.1+201709251458.f0607d9-1xenial1
+ cd ${OPNFV_FUEL_DIR}/mcp/patches && ./patch.sh patches_neutron.list formulas
SALT_INSTALL_END