From: Alexandru Avadanii Date: Sun, 4 Feb 2018 20:16:07 +0000 (+0100) Subject: [hybrid] Merge config/scenario/{baremetal,virtual} X-Git-Tag: opnfv-6.0.0~97^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F43%2F51643%2F5;p=fuel.git [hybrid] Merge config/scenario/{baremetal,virtual} Instead of classifying scenarios by underlying machine type, switch to HA/NOHA differentiantion only. This allows us to add support for hybrid scenarios (with some virtual and some baremetal nodes in the same cluster). To facilitate this, we will template the scenario files, which is a small step towards SDF (Scenario Descriptor File) definition and adoption later. JIRA: FUEL-338 Change-Id: If5787991869a3105d82c27ffa0a86ac79b4b08ba Signed-off-by: Alexandru Avadanii --- diff --git a/ci/deploy.sh b/ci/deploy.sh index 18de570e9..e962ddd1d 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -120,7 +120,6 @@ CI_DEBUG=${CI_DEBUG:-0}; [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x REPO_ROOT_PATH=$(readlink -f "$(dirname "${BASH_SOURCE[0]}")/..") DEPLOY_DIR=$(cd "${REPO_ROOT_PATH}/mcp/scripts"; pwd) STORAGE_DIR=$(cd "${REPO_ROOT_PATH}/mcp/deploy/images"; pwd) -DEPLOY_TYPE='baremetal' BR_NAMES=('admin' 'mgmt' 'private' 'public') OPNFV_BRIDGES=('pxebr' 'mgmt' 'internal' 'public') URI_REGEXP='(file|https?|ftp)://.*' @@ -183,7 +182,6 @@ do p) TARGET_POD=${OPTARG} if [[ "${TARGET_POD}" =~ virtual ]]; then - DEPLOY_TYPE='virtual' # All vPODs will use 'local-virtual1' PDF/IDF for now TARGET_LAB='local' TARGET_POD='virtual1' @@ -244,7 +242,7 @@ else pkg_type='rpm'; pkg_cmd='sudo yum install -y --skip-broken' fi eval "$(parse_yaml "./requirements_${pkg_type}.yaml")" - for section in 'common' "${DEPLOY_TYPE}" "$(uname -m)"; do + for section in 'common' "$(uname -m)"; do section_var="requirements_pkg_${section}[*]" pkg_list+=" ${!section_var}" done @@ -268,7 +266,7 @@ do_templates "${REPO_ROOT_PATH}" "${STORAGE_DIR}" "${TARGET_LAB}" \ "${TARGET_POD}" "${BASE_CONFIG_URI}" "${SCENARIO_DIR}" # Check scenario file existence -if [ ! -f "${SCENARIO_DIR}/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml" ]; then +if [ ! -f "${SCENARIO_DIR}/${DEPLOY_SCENARIO}.yaml" ]; then notify_e "[ERROR] Scenario definition file is missing!" fi @@ -279,7 +277,7 @@ fi # Get scenario data and (jumpserver) arch defaults eval "$(parse_yaml "${SCENARIO_DIR}/defaults-$(uname -i).yaml")" -eval "$(parse_yaml "${SCENARIO_DIR}/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml")" +eval "$(parse_yaml "${SCENARIO_DIR}/${DEPLOY_SCENARIO}.yaml")" export CLUSTER_DOMAIN=${cluster_domain} # Expand jinja2 templates based on PDF data and env vars diff --git a/mcp/config/scenario/.gitignore b/mcp/config/scenario/.gitignore new file mode 100644 index 000000000..14e9ab880 --- /dev/null +++ b/mcp/config/scenario/.gitignore @@ -0,0 +1 @@ +os-nosdn-nofeature-novcp-ha.yaml diff --git a/mcp/config/scenario/README.rst b/mcp/config/scenario/README.rst index 389877ac4..e03182f11 100644 --- a/mcp/config/scenario/README.rst +++ b/mcp/config/scenario/README.rst @@ -19,4 +19,4 @@ feature scenarios used by Fuel@OPNFV, e.g.: NOTES: ------ This directory is highly likely to change and/or be replaced/complemented -by the new PDF (Pod Descriptor File) info in securedlab OPNFV git repo. +by the new PDF (Pod Descriptor File) info in Pharos OPNFV git repo. diff --git a/mcp/config/scenario/baremetal/os-nosdn-nofeature-novcp-ha.yaml b/mcp/config/scenario/baremetal/os-nosdn-nofeature-novcp-ha.yaml deleted file mode 100644 index 0c5744199..000000000 --- a/mcp/config/scenario/baremetal/os-nosdn-nofeature-novcp-ha.yaml +++ /dev/null @@ -1,25 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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 -############################################################################## ---- -cluster: - domain: mcp-pike-ovs-novcp-ha.local - states: - - maas - - baremetal_init - - openstack_ha - - networks -virtual: - nodes: - - cfg01 - - mas01 - cfg01: - vcpus: 4 - ram: 6144 - mas01: - vcpus: 4 - ram: 6144 diff --git a/mcp/config/scenario/baremetal/os-nosdn-nofeature-ha.yaml b/mcp/config/scenario/os-nosdn-nofeature-ha.yaml similarity index 100% rename from mcp/config/scenario/baremetal/os-nosdn-nofeature-ha.yaml rename to mcp/config/scenario/os-nosdn-nofeature-ha.yaml diff --git a/mcp/config/scenario/virtual/os-nosdn-nofeature-noha.yaml b/mcp/config/scenario/os-nosdn-nofeature-noha.yaml similarity index 100% rename from mcp/config/scenario/virtual/os-nosdn-nofeature-noha.yaml rename to mcp/config/scenario/os-nosdn-nofeature-noha.yaml diff --git a/mcp/config/scenario/virtual/os-nosdn-nofeature-novcp-ha.yaml b/mcp/config/scenario/os-nosdn-nofeature-novcp-ha.yaml.j2 similarity index 50% rename from mcp/config/scenario/virtual/os-nosdn-nofeature-novcp-ha.yaml rename to mcp/config/scenario/os-nosdn-nofeature-novcp-ha.yaml.j2 index 69d407b82..58f418622 100644 --- a/mcp/config/scenario/virtual/os-nosdn-nofeature-novcp-ha.yaml +++ b/mcp/config/scenario/os-nosdn-nofeature-novcp-ha.yaml.j2 @@ -5,20 +5,46 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +{%- import 'net_map.j2' as nm with context %} +{%- for node in conf.nodes %} + {%- if node.node.type == 'baremetal' %} + {%- set cluster_has_baremetal_nodes = True %} + {%- endif %} +{%- endfor %} --- cluster: domain: mcp-pike-ovs-novcp-ha.local states: +{%- if cluster_has_baremetal_nodes %} + - maas + - baremetal_init +{%- endif %} - openstack_ha - networks virtual: nodes: - cfg01 +{%- if cluster_has_baremetal_nodes %} + - mas01 +{%- endif %} +{#- Most likely, controllers will always have the same type and number (3) #} +{%- if conf.nodes[nm.ctl01.idx].node.type == 'virtual' %} - kvm01 - kvm02 - kvm03 +{%- endif %} +{#- Later, we might have mixed computes here, for hybrid multi-arch testing #} +{%- if conf.nodes[nm.cmp001.idx].node.type == 'virtual' %} - cmp001 - cmp002 +{%- endif %} + cfg01: + vcpus: 4 + ram: 6144 + # Below values are only used when nodes are defined in virtual.nodes above + mas01: + vcpus: 4 + ram: 6144 # NOTE: We might need to add more RAM here kvm01: vcpus: 4 diff --git a/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml b/mcp/config/scenario/os-nosdn-ovs-ha.yaml similarity index 100% rename from mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml rename to mcp/config/scenario/os-nosdn-ovs-ha.yaml diff --git a/mcp/config/scenario/virtual/os-nosdn-ovs-noha.yaml b/mcp/config/scenario/os-nosdn-ovs-noha.yaml similarity index 100% rename from mcp/config/scenario/virtual/os-nosdn-ovs-noha.yaml rename to mcp/config/scenario/os-nosdn-ovs-noha.yaml diff --git a/mcp/config/scenario/baremetal/os-odl-nofeature-ha.yaml b/mcp/config/scenario/os-odl-nofeature-ha.yaml similarity index 100% rename from mcp/config/scenario/baremetal/os-odl-nofeature-ha.yaml rename to mcp/config/scenario/os-odl-nofeature-ha.yaml diff --git a/mcp/config/scenario/virtual/os-odl-nofeature-noha.yaml b/mcp/config/scenario/os-odl-nofeature-noha.yaml similarity index 100% rename from mcp/config/scenario/virtual/os-odl-nofeature-noha.yaml rename to mcp/config/scenario/os-odl-nofeature-noha.yaml diff --git a/mcp/config/scenario/virtual/os-ovn-nofeature-noha.yaml b/mcp/config/scenario/os-ovn-nofeature-noha.yaml similarity index 100% rename from mcp/config/scenario/virtual/os-ovn-nofeature-noha.yaml rename to mcp/config/scenario/os-ovn-nofeature-noha.yaml diff --git a/mcp/scripts/requirements_deb.yaml b/mcp/scripts/requirements_deb.yaml index bb0d586da..e50a48ff8 100644 --- a/mcp/scripts/requirements_deb.yaml +++ b/mcp/scripts/requirements_deb.yaml @@ -28,8 +28,6 @@ requirements_pkg: - python-ipaddress - python-jinja2 - python-yaml - # Optional, deploy-type-specific requirements - # baremetal: # Optional, arch-specific requirements, matched by key name = $(uname -m) aarch64: # AArch64 VMs use AAVMF (guest UEFI) diff --git a/mcp/scripts/requirements_rpm.yaml b/mcp/scripts/requirements_rpm.yaml index d510ba87d..ccb066e76 100644 --- a/mcp/scripts/requirements_rpm.yaml +++ b/mcp/scripts/requirements_rpm.yaml @@ -32,8 +32,6 @@ requirements_pkg: - python-ipaddress - python-jinja2 - python-yaml - # Optional, deploy-type-specific requirements - # baremetal: # Optional, arch-specific requirements, matched by key name = $(uname -m) aarch64: # AArch64 VMs use AAVMF (guest UEFI)