aboutsummaryrefslogtreecommitdiffstats
path: root/ci/deploy.sh
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-11-18 20:46:05 +0100
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-11-21 19:46:36 +0100
commit77942178b3aff6adc83b5f83645acfff467fa76a (patch)
tree20cf8b18252d10c5947e933bd9cb6f92ec8c0b4a /ci/deploy.sh
parent77609e7fcebc76f4e10a133354787ad5086c0450 (diff)
ci/deploy.sh: Add new `-E` arg for env erase
NOTE: In order to undefine VCP VMs with NVRAM (e.g. AArch64 VMs using AAVMF), an additional parameter should be passed to libvirt by Salt virt core module (equivalent to `virsh undefine --nvram`). While at it, pass CI_DEBUG, ERASE_ENV enviroment variables to state execution, and stop force-applying patches. Also refactor the rsync between foundation node and Salt master, so the whole git repo is copied as </root/opnfv>, and <root/fuel> becomes a link to it; useful for Armband, where 'fuel' is a git submodule. Fix .git paths after rsync, so git submodules work as expected in cfg01 repos. JIRA: FUEL-307 Change-Id: Ic62f03e786581c019168c50ccc50107238021d7f Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'ci/deploy.sh')
-rwxr-xr-xci/deploy.sh18
1 files changed, 14 insertions, 4 deletions
diff --git a/ci/deploy.sh b/ci/deploy.sh
index e980505df..b13e18e7e 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -38,7 +38,7 @@ $(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] \\
- [-f [-f]] [-F] [-e] [-d] [-D]
+ [-f[f]] [-F] [-e | -E[E]] [-d] [-D]
$(notify "OPTIONS:" 2)
-b Base-uri for the stack-configuration structure
@@ -46,6 +46,7 @@ $(notify "OPTIONS:" 2)
-d Dry-run
-D Debug logging
-e Do not launch environment deployment
+ -E Remove existing VCP VMs (use twice to redeploy baremetal nodes)
-f Deploy on existing Salt master (use twice to also skip config sync)
-F Do only create a Salt master
-h Print this message and exit
@@ -82,6 +83,10 @@ $(notify "Input parameters to the build script are:" 2)
-d Dry-run - Produce deploy config files, but do not execute deploy
-D Debug logging - Enable extra logging in sh deploy scripts (set -x)
-e Do not launch environment deployment
+-E Remove existing VCP VMs. It will destroy and undefine all VCP VMs
+ currently defined on cluster KVM nodes. If specified twice (e.g. -E -E),
+ baremetal nodes (VCP too, implicitly) will be removed, then reprovisioned.
+ Only applicable for baremetal deploys.
-f Deploy on existing Salt master. It will skip infrastructure VM creation,
but it will still sync reclass configuration from current repo to Salt
Master node. If specified twice (e.g. -f -f), config sync will also be
@@ -150,6 +155,7 @@ 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}
+ERASE_ENV=${ERASE_ENV:-0}
source "${DEPLOY_DIR}/globals.sh"
@@ -162,7 +168,7 @@ source "${DEPLOY_DIR}/globals.sh"
#
set +x
OPNFV_BRIDGE_IDX=0
-while getopts "b:B:dDfFl:L:p:s:S:he" OPTION
+while getopts "b:B:dDfEFl:L:p:s:S:he" OPTION
do
case $OPTION in
b)
@@ -200,6 +206,9 @@ do
e)
NO_DEPLOY_ENVIRONMENT=1
;;
+ E)
+ ((ERASE_ENV+=1))
+ ;;
l)
TARGET_LAB=${OPTARG}
;;
@@ -423,8 +432,9 @@ else
for state in "${cluster_states[@]}"; do
notify "[STATE] Applying state: ${state}\n" 2
# shellcheck disable=SC2086,2029
- wait_for 5 "ssh ${SSH_OPTS} ${SSH_SALT} \
- sudo /root/fuel/mcp/config/states/${state}"
+ wait_for 5 "ssh ${SSH_OPTS} ${SSH_SALT} sudo \
+ CI_DEBUG=$CI_DEBUG ERASE_ENV=$ERASE_ENV \
+ /root/fuel/mcp/config/states/${state}"
done
fi