From c5bfbf1f4bababbbf885414d0c6bdd9f01cae900 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sat, 29 Jul 2017 00:24:04 +0200 Subject: [PATCH] p/fuel: Rebase, drop upstream clone Now that Fuel@OPNFV supports submodule patching again, bring back `make fuel-patches-import`. Change-Id: Ic6f9870d94b6d302f1ebcdc21d54a83f62910af9 Signed-off-by: Alexandru Avadanii --- Makefile | 29 ++++ armband-fuel-config.mk | 2 +- ci/deploy.sh | 6 +- ....sh-AArch64-Use-VGA-video-mode-for-guests.patch | 31 ++-- ...sh-Use-host-passthrough-when-spawning-VMs.patch | 29 ---- ...lt.sh-user-data-Add-Saltstack-arm64-repo.patch} | 6 +- ...es-virtual-AArch64-virtio-NIC-names-sync.patch} | 2 +- .../0005-deploy-Allow-non-root-deploys.patch | 33 ++++ ...-Clone-armband-repo-apply-patches-from-it.patch | 34 ---- ...salt-formulas-Add-enable-armband-formula.patch} | 0 .../0007-deploy-Allow-non-root-deploys.patch | 37 ----- ...twork-public-Use-arm-virtual2-POD-config.patch} | 0 ...class-opendaylight-Use-UCA-default-repos.patch} | 0 ...deploy.sh-Rework-bridge-arguments-for-MCP.patch | 181 --------------------- ...lt-formulas-opendaylight-AArch64-leveldb.patch} | 8 +- 15 files changed, 92 insertions(+), 306 deletions(-) delete mode 100644 patches/opnfv-fuel/0003-lib.sh-Use-host-passthrough-when-spawning-VMs.patch rename patches/opnfv-fuel/{0004-salt.sh-user-data-Add-Saltstack-arm64-repo.patch => 0003-salt.sh-user-data-Add-Saltstack-arm64-repo.patch} (91%) rename patches/opnfv-fuel/{0006-classes-virtual-AArch64-virtio-NIC-names-sync.patch => 0004-classes-virtual-AArch64-virtio-NIC-names-sync.patch} (99%) create mode 100644 patches/opnfv-fuel/0005-deploy-Allow-non-root-deploys.patch delete mode 100644 patches/opnfv-fuel/0005-salt.sh-Clone-armband-repo-apply-patches-from-it.patch rename patches/opnfv-fuel/{0008-mcp-salt-formulas-Add-enable-armband-formula.patch => 0006-mcp-salt-formulas-Add-enable-armband-formula.patch} (100%) delete mode 100644 patches/opnfv-fuel/0007-deploy-Allow-non-root-deploys.patch rename patches/opnfv-fuel/{0010-network-public-Use-arm-virtual2-POD-config.patch => 0007-network-public-Use-arm-virtual2-POD-config.patch} (100%) rename patches/opnfv-fuel/{0011-reclass-opendaylight-Use-UCA-default-repos.patch => 0008-reclass-opendaylight-Use-UCA-default-repos.patch} (100%) delete mode 100644 patches/opnfv-fuel/0009-ci-deploy.sh-Rework-bridge-arguments-for-MCP.patch rename patches/opnfv-fuel/{0012-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch => 0009-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch} (91%) diff --git a/Makefile b/Makefile index 5c8504be..6d82466e 100644 --- a/Makefile +++ b/Makefile @@ -95,6 +95,35 @@ patches-import: .submodules-init .submodules-patched fi \ done && \ git tag ${A_OPNFV_TAG}' + # Staging Fuel@OPNFV patches + @ls -d ${F_PATCH_DIR}/* 2>/dev/null | while read p_sub_path; do \ + SUB_NAME=`basename $$p_sub_path`; \ + find ${A_PATCH_DIR}/$$SUB_NAME -name '*.patch' 2>/dev/null -exec sh -c '\ + A_PATCH={}; R_PATCH=$${A_PATCH#${A_PATCH_DIR}/}; \ + F_PATCH=${F_PATCH_DIR}/$${0}/armband/$${R_PATCH#$${0}/}; \ + if [ -f $$F_PATCH ]; then \ + echo "`tput setaf 3`* WARN: $$R_PATCH upstream.`tput sgr0`"; \ + else \ + if [ -h $$A_PATCH ]; then \ + echo "`tput setaf 3`* PHONY: $$R_PATCH`tput sgr0`"; \ + else \ + echo "`tput setaf 6`* Staging $$R_PATCH`tput sgr0`"; \ + mkdir -p `dirname $$F_PATCH` && cp $$A_PATCH $$F_PATCH; \ + fi; \ + fi' "$$SUB_NAME" \; || true ; \ + done @touch $@ +############################################################################## +# Fuel@OPNFV patch operations - to be used only during development +############################################################################## +# Apply all Fuel@OPNFV patches, including Armband patches +.PHONY: fuel-patches-import +fuel-patches-import: .submodules-patched fuel-patches-clean + $(MAKE) -e -C ${F_PATCH_DIR} patches-import + +.PHONY: fuel-patches-clean +fuel-patches-clean: + $(MAKE) -e -C ${F_PATCH_DIR} clean + # TODO: Bring back clean/debug/build after Fuel@OPNFV implements them for MCP diff --git a/armband-fuel-config.mk b/armband-fuel-config.mk index fa829033..1a7c3ab9 100644 --- a/armband-fuel-config.mk +++ b/armband-fuel-config.mk @@ -12,7 +12,7 @@ A_FUEL_BASE := ${ARMBAND_BASE}/upstream/fuel A_PATCH_DIR := ${ARMBAND_BASE}/patches A_OPNFV_TAG = armband-opnfv A_PATCHES = $(shell find ${A_PATCH_DIR} -name '*.patch') -F_BUILD_DIR := ${A_FUEL_BASE}/build +F_PATCH_DIR := ${A_FUEL_BASE}/mcp/patches # To enable remote tracking, set the following var to any non-empty string. # Leaving this var empty will bind each git submodule to its saved commit. diff --git a/ci/deploy.sh b/ci/deploy.sh index c1006f08..1c95d401 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -9,7 +9,11 @@ # set -e -cd $WORKSPACE +SCRIPT_DIR=$(readlink -f $(dirname ${BASH_SOURCE[0]})) + +export ARMBAND_BASE=$(readlink -e ${SCRIPT_DIR}/..) + +cd ${WORKSPACE:-${ARMBAND_BASE}} make patches-import # source local environment variables diff --git a/patches/opnfv-fuel/0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch b/patches/opnfv-fuel/0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch index 29b22a63..d361b79b 100644 --- a/patches/opnfv-fuel/0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch +++ b/patches/opnfv-fuel/0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch @@ -19,28 +19,29 @@ Signed-off-by: Alexandru Avadanii 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ci/deploy.sh b/ci/deploy.sh -index a1f5e38..92c7947 100755 +index 3ac7ff1..cf22d10 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh -@@ -230,8 +230,9 @@ pushd ${DEPLOY_DIR} > /dev/null - # scenario, etc. +@@ -270,9 +270,10 @@ pushd "${DEPLOY_DIR}" > /dev/null # Install required packages --[ -n "$(command -v apt-get)" ] && apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm --[ -n "$(command -v yum)" ] && yum install -y genisoimage curl virt-install qemu-kvm -+[ -n "$(command -v apt-get)" ] && apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm vgabios && \ -+ ln -sf /usr/share/vgabios/vgabios.bin /usr/share/qemu/vgabios-stdvga.bin -+[ -n "$(command -v yum)" ] && yum install -y genisoimage curl virt-install qemu-kvm vgabios + [ -n "$(command -v apt-get)" ] && apt-get install -y \ +- git make rsync mkisofs curl virtinst cpu-checker qemu-kvm ++ git make rsync mkisofs curl virtinst cpu-checker qemu-kvm vgabios && \ ++ ln -sf /usr/share/vgabios/vgabios.bin /usr/share/qemu/vgabios-stdvga.bin + [ -n "$(command -v yum)" ] && yum install -y \ +- git make rsync genisoimage curl virt-install qemu-kvm ++ git make rsync genisoimage curl virt-install qemu-kvm vgabios # Check scenario file existence if [[ ! -f ../config/${DEPLOY_SCENARIO}.yaml ]]; then diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh -index 3ec596a..b75e47e 100644 +index 33dba3c..8d45100 100644 --- a/mcp/scripts/lib.sh +++ b/mcp/scripts/lib.sh -@@ -58,6 +58,13 @@ create_vms() { - local -n vnodes_ram=$2 - local -n vnodes_vcpus=$3 +@@ -78,6 +78,13 @@ create_vms() { + net_args="${net_args} --network ${net_type}=${net},model=virtio" + done + # AArch64: prepare arch specific arguments + local virt_extra_args="" @@ -51,11 +52,11 @@ index 3ec596a..b75e47e 100644 + # create vms with specified options for node in "${vnodes[@]}"; do - virt-install --name ${node} --ram ${vnodes_ram[$node]} --vcpus ${vnodes_vcpus[$node]} --cpu host --accelerate \ -@@ -69,7 +76,8 @@ create_vms() { + # shellcheck disable=SC2086 +@@ -88,7 +95,8 @@ create_vms() { --os-type linux --os-variant none \ --boot hd --vnc --console pty --autostart --noreboot \ - --disk path=$(pwd)/images/mcp_${node}.iso,device=cdrom \ + --disk path="$(pwd)/images/mcp_${node}.iso",device=cdrom \ - --noautoconsole + --noautoconsole \ + ${virt_extra_args} diff --git a/patches/opnfv-fuel/0003-lib.sh-Use-host-passthrough-when-spawning-VMs.patch b/patches/opnfv-fuel/0003-lib.sh-Use-host-passthrough-when-spawning-VMs.patch deleted file mode 100644 index c6f8af50..00000000 --- a/patches/opnfv-fuel/0003-lib.sh-Use-host-passthrough-when-spawning-VMs.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Alexandru Avadanii -Date: Fri, 21 Jul 2017 19:59:33 +0200 -Subject: [PATCH] lib.sh: Use host-passthrough when spawning VMs - -virsh defaults to using "host-model" instead of "host-passthrough", -which not only might lead to a small performance hit on x86, it is -also causing compatibility issues with libvirt 3.x. - -Address this by explicitly requesting "host-passthrough" as the -CPU model for virt-install. - -Signed-off-by: Alexandru Avadanii ---- - mcp/scripts/lib.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh -index b75e47e..55df750 100644 ---- a/mcp/scripts/lib.sh -+++ b/mcp/scripts/lib.sh -@@ -67,7 +67,7 @@ create_vms() { - - # create vms with specified options - for node in "${vnodes[@]}"; do -- virt-install --name ${node} --ram ${vnodes_ram[$node]} --vcpus ${vnodes_vcpus[$node]} --cpu host --accelerate \ -+ virt-install --name ${node} --ram ${vnodes_ram[$node]} --vcpus ${vnodes_vcpus[$node]} --cpu host-passthrough --accelerate \ - --network network:pxe,model=virtio \ - --network network:mgmt,model=virtio \ - --network network:internal,model=virtio \ diff --git a/patches/opnfv-fuel/0004-salt.sh-user-data-Add-Saltstack-arm64-repo.patch b/patches/opnfv-fuel/0003-salt.sh-user-data-Add-Saltstack-arm64-repo.patch similarity index 91% rename from patches/opnfv-fuel/0004-salt.sh-user-data-Add-Saltstack-arm64-repo.patch rename to patches/opnfv-fuel/0003-salt.sh-user-data-Add-Saltstack-arm64-repo.patch index 9ba7ac30..4d27e4c0 100644 --- a/patches/opnfv-fuel/0004-salt.sh-user-data-Add-Saltstack-arm64-repo.patch +++ b/patches/opnfv-fuel/0003-salt.sh-user-data-Add-Saltstack-arm64-repo.patch @@ -11,11 +11,11 @@ Signed-off-by: Alexandru Avadanii 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/mcp/scripts/salt.sh b/mcp/scripts/salt.sh -index 605da89..c44168e 100755 +index 3d0fb91..589a0c4 100755 --- a/mcp/scripts/salt.sh +++ b/mcp/scripts/salt.sh -@@ -23,6 +23,10 @@ ssh ${SSH_OPTS} ubuntu@${SALT_MASTER} bash -s << SALT_INSTALL_END - cd /root/fuel/mcp/patches && ./patch.sh patches.list reclass +@@ -48,6 +48,10 @@ ssh ${SSH_OPTS} "${SSH_SALT}" bash -s << SALT_INSTALL_END + cd ${OPNFV_FUEL_DIR}/mcp/patches && ./patch.sh patches.list reclass cd /srv/salt/scripts + if [ "\$(uname -i)" = "aarch64" ]; then diff --git a/patches/opnfv-fuel/0006-classes-virtual-AArch64-virtio-NIC-names-sync.patch b/patches/opnfv-fuel/0004-classes-virtual-AArch64-virtio-NIC-names-sync.patch similarity index 99% rename from patches/opnfv-fuel/0006-classes-virtual-AArch64-virtio-NIC-names-sync.patch rename to patches/opnfv-fuel/0004-classes-virtual-AArch64-virtio-NIC-names-sync.patch index 2c64459b..95655960 100644 --- a/patches/opnfv-fuel/0006-classes-virtual-AArch64-virtio-NIC-names-sync.patch +++ b/patches/opnfv-fuel/0004-classes-virtual-AArch64-virtio-NIC-names-sync.patch @@ -108,7 +108,7 @@ index 17c22c5..ca3a812 100644 type: eth proto: static diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl/openstack/gateway.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl/openstack/gateway.yml -index 4ea51f3..ee17dbd 100644 +index e8421ca..657ddd3 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl/openstack/gateway.yml +++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl/openstack/gateway.yml @@ -6,9 +6,9 @@ classes: diff --git a/patches/opnfv-fuel/0005-deploy-Allow-non-root-deploys.patch b/patches/opnfv-fuel/0005-deploy-Allow-non-root-deploys.patch new file mode 100644 index 00000000..55613432 --- /dev/null +++ b/patches/opnfv-fuel/0005-deploy-Allow-non-root-deploys.patch @@ -0,0 +1,33 @@ +From: Alexandru Avadanii +Date: Mon, 17 Jul 2017 23:10:25 +0000 +Subject: [PATCH] deploy: Allow non-root deploys + +Signed-off-by: Alexandru Avadanii +--- + ci/deploy.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ci/deploy.sh b/ci/deploy.sh +index cf22d10..3d7ccf5 100755 +--- a/ci/deploy.sh ++++ b/ci/deploy.sh +@@ -87,7 +87,7 @@ $(notify "Disabled input parameters (not yet supported with MCP):" 3) + -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] Root priviledges are needed for this script to run" 3) ++$(notify "[NOTE] sudo priviledges are needed for this script to run" 3) + + Example: + +@@ -240,8 +240,8 @@ do + esac + done + +-if [[ $EUID -ne 0 ]]; then +- notify "[ERROR] This script must be run as root\n" 1>&2 ++if [[ "$(sudo whoami)" != 'root' ]]; then ++ notify "This script requires sudo rights\n" 1>&2 + exit 1 + fi + diff --git a/patches/opnfv-fuel/0005-salt.sh-Clone-armband-repo-apply-patches-from-it.patch b/patches/opnfv-fuel/0005-salt.sh-Clone-armband-repo-apply-patches-from-it.patch deleted file mode 100644 index d2c7ff0e..00000000 --- a/patches/opnfv-fuel/0005-salt.sh-Clone-armband-repo-apply-patches-from-it.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Alexandru Avadanii -Date: Tue, 11 Jul 2017 19:43:39 +0200 -Subject: [PATCH] salt.sh: Clone armband repo, apply patches from it - -FIXME: Revise the patching mechanism, make things more dynamic. - -Signed-off-by: Alexandru Avadanii ---- - mcp/scripts/salt.sh | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/mcp/scripts/salt.sh b/mcp/scripts/salt.sh -index c44168e..87f25a7 100755 ---- a/mcp/scripts/salt.sh -+++ b/mcp/scripts/salt.sh -@@ -14,7 +14,17 @@ ssh ${SSH_OPTS} ubuntu@${SALT_MASTER} bash -s << SALT_INSTALL_END - apt-get install -y git curl subversion - - svn export --force https://github.com/salt-formulas/salt-formulas/trunk/deploy/scripts /srv/salt/scripts -- git clone --depth=1 --recurse-submodules https://git.opnfv.org/fuel -+ git clone --recurse-submodules https://git.opnfv.org/fuel -+ # NOTE(armband): no depth speedup on http -+ git clone http://git.opnfv.org/armband -+ -+ # For patch applying purposes (workaround for empty git config) -+ export GIT_COMMITTER_NAME="OPNFV Armband" -+ export GIT_COMMITTER_EMAIL="armband@enea.com" -+ git -C /root/fuel am -3 --patch-format=mbox \ -+ /root/armband/patches/opnfv-fuel/*.patch -+ git -C /root/fuel/mcp/reclass/classes/system am -3 --patch-format=mbox \ -+ /root/armband/patches/reclass-system-salt-model/*.patch - ln -s /root/fuel/mcp/reclass /srv/salt/reclass - - mkdir -p /usr/share/salt-formulas/reclass diff --git a/patches/opnfv-fuel/0008-mcp-salt-formulas-Add-enable-armband-formula.patch b/patches/opnfv-fuel/0006-mcp-salt-formulas-Add-enable-armband-formula.patch similarity index 100% rename from patches/opnfv-fuel/0008-mcp-salt-formulas-Add-enable-armband-formula.patch rename to patches/opnfv-fuel/0006-mcp-salt-formulas-Add-enable-armband-formula.patch diff --git a/patches/opnfv-fuel/0007-deploy-Allow-non-root-deploys.patch b/patches/opnfv-fuel/0007-deploy-Allow-non-root-deploys.patch deleted file mode 100644 index a7599e28..00000000 --- a/patches/opnfv-fuel/0007-deploy-Allow-non-root-deploys.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: Alexandru Avadanii -Date: Mon, 17 Jul 2017 23:10:25 +0000 -Subject: [PATCH] deploy: Allow non-root deploys - -Signed-off-by: Alexandru Avadanii ---- - ci/deploy.sh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/ci/deploy.sh b/ci/deploy.sh -index 92c7947..edf05be 100755 ---- a/ci/deploy.sh -+++ b/ci/deploy.sh -@@ -212,8 +212,8 @@ do - esac - done - --if [[ $EUID -ne 0 ]]; then -- echo "This script must be run as root" 1>&2 -+if [[ $(sudo whoami) != 'root' ]]; then -+ echo "This script requires sudo rights" 1>&2 - exit 1 - fi - -@@ -230,9 +230,9 @@ pushd ${DEPLOY_DIR} > /dev/null - # scenario, etc. - - # Install required packages --[ -n "$(command -v apt-get)" ] && apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm vgabios && \ -- ln -sf /usr/share/vgabios/vgabios.bin /usr/share/qemu/vgabios-stdvga.bin --[ -n "$(command -v yum)" ] && yum install -y genisoimage curl virt-install qemu-kvm vgabios -+[ -n "$(command -v apt-get)" ] && sudo apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm vgabios && \ -+ sudo ln -sf /usr/share/vgabios/vgabios.bin /usr/share/qemu/vgabios-stdvga.bin -+[ -n "$(command -v yum)" ] && sudo yum install -y genisoimage curl virt-install qemu-kvm vgabios - - # Check scenario file existence - if [[ ! -f ../config/${DEPLOY_SCENARIO}.yaml ]]; then diff --git a/patches/opnfv-fuel/0010-network-public-Use-arm-virtual2-POD-config.patch b/patches/opnfv-fuel/0007-network-public-Use-arm-virtual2-POD-config.patch similarity index 100% rename from patches/opnfv-fuel/0010-network-public-Use-arm-virtual2-POD-config.patch rename to patches/opnfv-fuel/0007-network-public-Use-arm-virtual2-POD-config.patch diff --git a/patches/opnfv-fuel/0011-reclass-opendaylight-Use-UCA-default-repos.patch b/patches/opnfv-fuel/0008-reclass-opendaylight-Use-UCA-default-repos.patch similarity index 100% rename from patches/opnfv-fuel/0011-reclass-opendaylight-Use-UCA-default-repos.patch rename to patches/opnfv-fuel/0008-reclass-opendaylight-Use-UCA-default-repos.patch diff --git a/patches/opnfv-fuel/0009-ci-deploy.sh-Rework-bridge-arguments-for-MCP.patch b/patches/opnfv-fuel/0009-ci-deploy.sh-Rework-bridge-arguments-for-MCP.patch deleted file mode 100644 index 45701513..00000000 --- a/patches/opnfv-fuel/0009-ci-deploy.sh-Rework-bridge-arguments-for-MCP.patch +++ /dev/null @@ -1,181 +0,0 @@ -From: Alexandru Avadanii -Date: Tue, 25 Jul 2017 19:11:56 +0200 -Subject: [PATCH] ci/deploy.sh: Rework bridge arguments for MCP - -Signed-off-by: Alexandru Avadanii ---- - ci/deploy.sh | 37 ++++++++++++++++++++++++++----------- - mcp/scripts/lib.sh | 42 ++++++++++++++++++++++++++++++------------ - 2 files changed, 56 insertions(+), 23 deletions(-) - -diff --git a/ci/deploy.sh b/ci/deploy.sh -index edf05be..864b231 100755 ---- a/ci/deploy.sh -+++ b/ci/deploy.sh -@@ -29,13 +29,16 @@ cat << EOF - xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - `basename $0`: Deploys the Fuel@OPNFV stack - --usage: `basename $0` -b base-uri [-B PXE Bridge] [-f] [-F] [-H] -l lab-name -p pod-name -s deploy-scenario [-S image-dir] [-T timeout] -i iso -+usage: `basename $0` -b base-uri -+ [-B PXE Bridge [-B Mgmt Bridge [-B Internal Bridge [-B Public Bridge]]]] -+ [-f] [-F] [-H] -l lab-name -p pod-name -s deploy-scenario -+ [-S image-dir] [-T timeout] -i iso - -s deployment-scenario [-S optional Deploy-scenario path URI] - [-R optional local relen repo (containing deployment Scenarios] - - OPTIONS: - -b Base-uri for the stack-configuration structure -- -B PXE Bridge for booting of Fuel master -+ -B Bridge(s): 1st usage = PXE, 2nd = Mgmt, 3rd = Internal, 4th = Public - -d Dry-run - -f Deploy on existing Fuel master - -e Do not launch environment deployment -@@ -59,10 +62,13 @@ and provides a fairly simple mechanism to execute a deployment. - Input parameters to the build script is: - -b Base URI to the configuration directory (needs to be provided in a URI - style, it can be a local resource: file:// or a remote resource http(s)://) ---B PXE Bridge for booting of Fuel master. It can be specified several times, -+-B Bridges for to be used by deploy script. It can be specified several times, - or as a comma separated list of bridges, or both: -B br1 -B br2,br3 -- One NIC connected to each specified bridge will be created in the Fuel VM, -- in the same order as provided in the command line. The default is pxebr. -+ First occurence sets PXE Brige, next Mgmt, then Internal and Public. -+ For an empty value, the deploy script will use virsh to create the default -+ expected network (e.g. -B pxe,,,public will use existing "pxe" and "public" -+ bridges, respectively create "mgmt" and "internal"). -+ The default is pxebr. - -d Dry-run - Produces deploy config files (config/dea.yaml and - config/dha.yaml), but does not execute deploy - -f Deploy on existing Fuel master -@@ -112,7 +118,7 @@ clean() { - # - SCRIPT_PATH=$(readlink -f $(dirname ${BASH_SOURCE[0]})) - DEPLOY_DIR=$(cd ${SCRIPT_PATH}/../mcp/scripts; pwd) --PXE_BRIDGE='' -+OPNFV_BRIDGES=('pxe' 'mgmt' 'internal' 'public') - NO_HEALTH_CHECK='' - USE_EXISTING_FUEL='' - FUEL_CREATION_ONLY='' -@@ -124,6 +130,7 @@ if ! [ -z $DEPLOY_TIMEOUT ]; then - else - DEPLOY_TIMEOUT="" - fi -+ - # - # END of variables to customize - ############################################################################ -@@ -146,9 +153,17 @@ do - fi - ;; - B) -- for bridge in ${OPTARG//,/ }; do -- PXE_BRIDGE+=" -b $bridge" -+ OIFS=${IFS} -+ IFS=',' -+ OPT_BRIDGES=($OPTARG) -+ OPNFV_BRIDGE_IDX=0 -+ for bridge in ${OPT_BRIDGES[@]}; do -+ if [ -n "${bridge}" ]; then -+ OPNFV_BRIDGES[${OPNFV_BRIDGE_IDX}]="${bridge}" -+ fi -+ OPNFV_BRIDGE_IDX=$[OPNFV_BRIDGE_IDX + 1] - done -+ IFS=${OIFS} - ;; - d) - DRY_RUN=1 -@@ -261,9 +276,9 @@ export SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i - # Infra setup - generate_ssh_key - prepare_vms virtual_nodes $base_image --create_networks --create_vms virtual_nodes virtual_nodes_ram virtual_nodes_vcpus --update_pxe_network -+create_networks OPNFV_BRIDGES -+create_vms virtual_nodes virtual_nodes_ram virtual_nodes_vcpus OPNFV_BRIDGES -+update_pxe_network OPNFV_BRIDGES - start_vms virtual_nodes - check_connection - -diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh -index 55df750..ec55c6d 100644 ---- a/mcp/scripts/lib.sh -+++ b/mcp/scripts/lib.sh -@@ -41,15 +41,19 @@ prepare_vms() { - } - - create_networks() { -+ local -n vnode_networks=$1 - # create required networks -- for net in pxe mgmt internal public; do -+ for net in "${vnode_networks[@]}"; do - if virsh net-info $net >/dev/null 2>&1; then - virsh net-destroy ${net} - virsh net-undefine ${net} - fi -- virsh net-define net_${net}.xml -- virsh net-autostart ${net} -- virsh net-start ${net} -+ # in case of custom network, host should already have the bridge in place -+ if [ -f net_${net}.xml ]; then -+ virsh net-define net_${net}.xml -+ virsh net-autostart ${net} -+ virsh net-start ${net} -+ fi - done - } - -@@ -57,6 +61,7 @@ create_vms() { - local -n vnodes=$1 - local -n vnodes_ram=$2 - local -n vnodes_vcpus=$3 -+ local -n vnode_networks=$4 - - # AArch64: prepare arch specific arguments - local virt_extra_args="" -@@ -65,13 +70,22 @@ create_vms() { - virt_extra_args="$virt_extra_args --video=vga" - fi - -+ # prepare network args -+ net_args="" -+ for net in "${vnode_networks[@]}"; do -+ net_type="network" -+ # in case of custom network, host should already have the bridge in place -+ if [ ! -f net_${net}.xml ]; then -+ net_type="bridge" -+ fi -+ net_args="${net_args} --network ${net_type}=${net},model=virtio" -+ done -+ - # create vms with specified options - for node in "${vnodes[@]}"; do -- virt-install --name ${node} --ram ${vnodes_ram[$node]} --vcpus ${vnodes_vcpus[$node]} --cpu host-passthrough --accelerate \ -- --network network:pxe,model=virtio \ -- --network network:mgmt,model=virtio \ -- --network network:internal,model=virtio \ -- --network network:public,model=virtio \ -+ virt-install --name ${node} \ -+ --ram ${vnodes_ram[$node]} --vcpus ${vnodes_vcpus[$node]} \ -+ --cpu host-passthrough --accelerate ${net_args} \ - --disk path=$(pwd)/images/mcp_${node}.qcow2,format=qcow2,bus=virtio,cache=none,io=native \ - --os-type linux --os-variant none \ - --boot hd --vnc --console pty --autostart --noreboot \ -@@ -82,9 +96,13 @@ create_vms() { - } - - update_pxe_network() { -- # set static ip address for salt master node -- virsh net-update pxe add ip-dhcp-host \ -- "" --live -+ local -n vnode_networks=$1 -+ if virsh net-info "${vnode_networks[0]}" >/dev/null 2>&1; then -+ # set static ip address for salt master node, only if managed via virsh -+ # NOTE: below expr assume PXE network is always the first in domiflist -+ virsh net-update "${vnode_networks[0]}" add ip-dhcp-host \ -+ "" --live -+ fi - } - - start_vms() { diff --git a/patches/opnfv-fuel/0012-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch b/patches/opnfv-fuel/0009-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch similarity index 91% rename from patches/opnfv-fuel/0012-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch rename to patches/opnfv-fuel/0009-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch index cd5b4947..267407cb 100644 --- a/patches/opnfv-fuel/0012-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch +++ b/patches/opnfv-fuel/0009-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch @@ -25,12 +25,12 @@ Signed-off-by: Alexandru Avadanii 1 file changed, 5 insertions(+) diff --git a/mcp/salt-formulas/opendaylight/server.sls b/mcp/salt-formulas/opendaylight/server.sls -index cb5b312..5a90951 100644 +index 8c6c3b2..a2236ae 100644 --- a/mcp/salt-formulas/opendaylight/server.sls +++ b/mcp/salt-formulas/opendaylight/server.sls -@@ -46,4 +46,9 @@ opendaylight: - - pattern: ^featuresBoot=.*$ - - repl: "featuresBoot={{ features }}" +@@ -58,4 +58,9 @@ opendaylight: + - service: opendaylight + {%- endif %} +opendaylight_aarch64_leveldbjni: + pkg.installed: -- 2.16.6