diff options
author | Michael Polenchuk <mpolenchuk@mirantis.com> | 2018-02-07 07:51:47 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2018-02-07 07:51:47 +0000 |
commit | 624e0e31debf1b4f7fa7727826e6e385c6192583 (patch) | |
tree | e0d9c3aa051c7bf3744dd9752c0dd6afb2225b65 | |
parent | 22bbdf21851c3fdeb10579fc6b0e77a93e90e813 (diff) | |
parent | b6689c3e319b66b64bc0fe49366dfdeb4152e664 (diff) |
Merge changes from topic 'fix-public-bridge'
* changes:
[virtual] Add missing ODL dhcp_int
[virsh net] public: rm addr cfg for pure baremetal
-rwxr-xr-x | ci/deploy.sh | 4 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/opendaylight/control_pdf.yml.j2 | 5 | ||||
-rw-r--r-- | mcp/scripts/globals.sh | 5 | ||||
-rw-r--r-- | mcp/scripts/lib.sh | 7 | ||||
-rwxr-xr-x | mcp/scripts/salt.sh | 1 | ||||
-rw-r--r-- | mcp/scripts/virsh_net/net_public.xml.j2 | 10 |
6 files changed, 26 insertions, 6 deletions
diff --git a/ci/deploy.sh b/ci/deploy.sh index fb22cc45a..18de570e9 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -288,7 +288,7 @@ do_templates "${REPO_ROOT_PATH}" "${STORAGE_DIR}" "${TARGET_LAB}" \ # Get required infra deployment data based on PDF/IDF (after template parsing) set +x -eval "$(parse_yaml "${LOCAL_PDF_RECLASS}")" +eval "$(parse_yaml "${STORAGE_DIR}/pod_config.yml")" [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x # Serialize vnode data as '<name0>,<ram0>,<vcpu0>|<name1>,<ram1>,<vcpu1>[...]' @@ -346,7 +346,7 @@ else check_connection fi if [ ${USE_EXISTING_INFRA} -lt 2 ]; then - wait_for 5 "./salt.sh ${LOCAL_PDF_RECLASS} ${virtual_nodes[*]}" + wait_for 5 "./salt.sh ${STORAGE_DIR}/pod_config.yml ${virtual_nodes[*]}" fi # Openstack cluster setup diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/opendaylight/control_pdf.yml.j2 b/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/opendaylight/control_pdf.yml.j2 index 74f9288f6..fbb7de8b3 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/opendaylight/control_pdf.yml.j2 +++ b/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/opendaylight/control_pdf.yml.j2 @@ -11,6 +11,11 @@ parameters: linux: network: interface: + dhcp_int: + enabled: true + name: {{ nm.ctl01.nic_admin }} + proto: dhcp + type: eth single_int: enabled: true name: {{ nm.ctl01.nic_mgmt }} diff --git a/mcp/scripts/globals.sh b/mcp/scripts/globals.sh index 8966a0a94..54f015cf6 100644 --- a/mcp/scripts/globals.sh +++ b/mcp/scripts/globals.sh @@ -25,22 +25,27 @@ export SSH_SALT="${SALT_MASTER_USER}@${SALT_MASTER}" ############################################################################## # BEGIN of colored notification wrappers # + +# same as `notify_i` + trailing '\n'; function notify() { local msg=${1}; shift notify_i "${msg}\n" "$@" } +# Inline (no newline added) colored output notification wrapper function notify_i() { tput setaf "${2:-1}" || true echo -en "${1:-"[WARN] Unsupported opt arg: $3\\n"}" tput sgr0 } +# same as `notify` + extra '\n' before and after; function notify_n() { local msg=${1}; shift notify_i "\n${msg}\n\n" "$@" } +# same as `notify` + stderr output + exit; function notify_e() { local msg=${1}; shift notify_i "\n${msg}\n\n" "$@" 1>&2 diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh index 02c23f365..5b00c7380 100644 --- a/mcp/scripts/lib.sh +++ b/mcp/scripts/lib.sh @@ -1,5 +1,5 @@ #!/bin/bash -e -# shellcheck disable=SC2155,SC1001 +# shellcheck disable=SC2155,SC1001,SC2015 ############################################################################## # Copyright (c) 2017 Mirantis Inc., Enea AB and others. # All rights reserved. This program and the accompanying materials @@ -452,7 +452,7 @@ function wait_for { # shellcheck disable=SC2015 eval "${cmdstr}" && echo "[wait_for] OK: ${cmdstr}" && return 0 || true else - !(eval "${cmdstr}" || echo __fuel_wf_failure__) |& tee /dev/stderr | \ + ! (eval "${cmdstr}" || echo __fuel_wf_failure__) |& tee /dev/stderr | \ grep -Eq '(Not connected|No response|__fuel_wf_failure__)' && \ echo "[wait_for] OK: ${cmdstr}" && return 0 || true fi @@ -498,7 +498,6 @@ function do_templates() { BASE_CONFIG_IDF="${lab_config_uri}/labs/${target_lab}/idf-${target_pod}.yaml" LOCAL_PDF="${image_dir}/$(basename "${BASE_CONFIG_PDF}")" LOCAL_IDF="${image_dir}/$(basename "${BASE_CONFIG_IDF}")" - LOCAL_PDF_RECLASS="${image_dir}/pod_config.yml" # Two-stage expansion, first stage handles pod_config and scenarios only if [ -n "${scenario_dir}" ]; then @@ -511,7 +510,7 @@ function do_templates() { elif ! curl -o "${LOCAL_IDF}" "${BASE_CONFIG_IDF}"; then notify_e "[ERROR] Could not retrieve IDF (Installer Descriptor File)!" elif ! "${PHAROS_GEN_CFG}" -y "${LOCAL_PDF}" \ - -j "${PHAROS_INSTALLER_ADAPTER}" > "${LOCAL_PDF_RECLASS}"; then + -j "${PHAROS_INSTALLER_ADAPTER}" > "${image_dir}/pod_config.yml"; then notify_e "[ERROR] Could not convert PDF+IDF to reclass model input!" fi template_dirs="${scenario_dir}" diff --git a/mcp/scripts/salt.sh b/mcp/scripts/salt.sh index 310b78a7a..15168c0cc 100755 --- a/mcp/scripts/salt.sh +++ b/mcp/scripts/salt.sh @@ -22,6 +22,7 @@ OPNFV_VCP_IMG="mcp/scripts/base_image_opnfv_fuel_vcp.img" OPNFV_VCP_DIR="/srv/salt/env/prd/salt/files/control/images" LOCAL_GIT_DIR="${F_GIT_ROOT%${F_GIT_SUBD}}" LOCAL_PDF_RECLASS=$1; shift +# shellcheck disable=SC2116,SC2086 LOCAL_VIRT_NODES=$(echo ${*//cfg01/}) # unquoted to filter space NODE_MASK="${LOCAL_VIRT_NODES// /|}" diff --git a/mcp/scripts/virsh_net/net_public.xml.j2 b/mcp/scripts/virsh_net/net_public.xml.j2 index e47f69bb4..37a8d9272 100644 --- a/mcp/scripts/virsh_net/net_public.xml.j2 +++ b/mcp/scripts/virsh_net/net_public.xml.j2 @@ -6,6 +6,11 @@ which accompanies this distribution, and is available at http://www.apache.org/licenses/LICENSE-2.0 --> +{%- for node in conf.nodes %} + {%- if node.node.type == 'virtual' %} + {%- set cluster_has_virtual_nodes = True %} + {%- endif %} +{%- endfor %} {%- if conf.idf.net_config.public is defined %} {%- set public_network = conf.idf.net_config.public.network %} {%- set public_prefix = conf.idf.net_config.public.mask %} @@ -16,6 +21,11 @@ <network> <name>public</name> <bridge name="public"/> +{%- if cluster_has_virtual_nodes %} +{#- Ideally, jumpserver would have a real Linux bridge we will hook to. + In case it doesn't, we use this virsh network as a *mock* public. + The *mock* public should NOT overlap with the real public in any way. #} <forward mode="nat"/> <ip address="{{ public_network | ipaddr_index(1) }}" netmask="{{ public_prefix | netmask }}"/> +{%- endif %} </network> |