X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;ds=inline;f=ci%2Fdeploy.sh;h=af60ddfef3c665c1a96884af987c05ccacb44e24;hb=7e3b3b75f09dbda98f0d65c1517c2188e7c3e5c5;hp=11218196ebaaa60953ab0e42b67285334936f8df;hpb=798c781b97a6a92b01f3f4cd0c85b50e92648627;p=fuel.git diff --git a/ci/deploy.sh b/ci/deploy.sh index 11218196e..af60ddfef 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -107,7 +107,9 @@ $(notify_i "Input parameters to the build script are:" 2) Note that without the required packages, deploy will fail. -s Deployment-scenario, this points to a short deployment scenario name, which has to be defined in config directory (e.g. os-odl-nofeature-ha). --S Storage dir for VM images, default is mcp/deploy/images +-S Storage dir for VM images, default is /var/lib/opnfv/tmpdir + It is recommended to store the deploy artifacts on a fast disk, outside of + the current git repository (so clean operations won't erase it). $(notify_i "[NOTE] sudo & virsh priviledges are needed for this script to run" 3) @@ -116,7 +118,8 @@ Example: $(notify_i "sudo $(basename "$0") \\ -b file:///home/jenkins/securedlab \\ -l lf -p pod2 \\ - -s os-odl-nofeature-ha" 2) + -s os-odl-nofeature-ha \\ + -S /home/jenkins/tmpdir" 2) EOF } @@ -130,7 +133,7 @@ EOF CI_DEBUG=${CI_DEBUG:-0}; [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x MCP_REPO_ROOT_PATH=$(readlink -f "$(dirname "${BASH_SOURCE[0]}")/..") DEPLOY_DIR=$(cd "${MCP_REPO_ROOT_PATH}/mcp/scripts"; pwd) -MCP_STORAGE_DIR=$(cd "${MCP_REPO_ROOT_PATH}/mcp/deploy/images"; pwd) +MCP_STORAGE_DIR='/var/lib/opnfv/tmpdir' URI_REGEXP='(file|https?|ftp)://.*' BASE_CONFIG_URI="file://${MCP_REPO_ROOT_PATH}/mcp/scripts/pharos" @@ -147,6 +150,8 @@ MCP_CMP_SS=${MCP_CMP_SS:-0} source "${DEPLOY_DIR}/globals.sh" source "${DEPLOY_DIR}/lib.sh" source "${DEPLOY_DIR}/lib_template.sh" +source "${DEPLOY_DIR}/lib_jump_common.sh" +source "${DEPLOY_DIR}/lib_jump_deploy.sh" # # END of variables to customize @@ -242,6 +247,8 @@ pushd "${DEPLOY_DIR}" > /dev/null # scenario, etc. # Install required packages on jump server +sudo mkdir -p "${MCP_STORAGE_DIR}" +sudo chown "${USER}:${USER}" "${MCP_STORAGE_DIR}" if [ ${USE_EXISTING_PKGS} -eq 1 ]; then notify "[NOTE] Skipping distro pkg installation" 2 else @@ -251,7 +258,7 @@ else virtinst_install "${MCP_STORAGE_DIR}" fi -if ! virsh list >/dev/null 2>&1; then +if ! ${VIRSH} list >/dev/null 2>&1; then notify_e "[ERROR] This script requires hypervisor access" fi @@ -272,10 +279,10 @@ fi generate_ssh_key export MAAS_SSH_KEY="$(cat "$(basename "${SSH_KEY}").pub")" -MCP_DPDK_MODE=$([[ "$DEPLOY_SCENARIO" =~ ovs ]] && echo 1 || echo 0) # Expand jinja2 templates based on PDF data and env vars -export MCP_REPO_ROOT_PATH MCP_VCP MCP_DPDK_MODE MCP_STORAGE_DIR MCP_DOCKER_TAG \ - MCP_CMP_SS MCP_JUMP_ARCH=$(uname -i) +[[ "${DEPLOY_SCENARIO}" =~ -ha$ ]] || MCP_VCP=0 +export MCP_REPO_ROOT_PATH MCP_VCP MCP_STORAGE_DIR MCP_DOCKER_TAG MCP_CMP_SS \ + MCP_JUMP_ARCH=$(uname -i) MCP_DEPLOY_SCENARIO="${DEPLOY_SCENARIO}" do_templates_scenario "${MCP_STORAGE_DIR}" "${TARGET_LAB}" "${TARGET_POD}" \ "${BASE_CONFIG_URI}" "${SCENARIO_DIR}" \ "${SCENARIO_DIR}/${DEPLOY_SCENARIO}.yaml" @@ -300,12 +307,17 @@ elif [ ${USE_EXISTING_INFRA} -gt 0 ]; then else prepare_vms "${base_image}" "${MCP_STORAGE_DIR}" "${virtual_repos_pkgs}" \ "${virtual_nodes[@]}" - prepare_containers "${MCP_STORAGE_DIR}" create_networks "${OPNFV_BRIDGES[@]}" do_sysctl_cfg do_udev_cfg create_vms "${MCP_STORAGE_DIR}" "${virtual_nodes_data}" "${OPNFV_BRIDGES[@]}" + update_mcpcontrol_network start_vms "${virtual_nodes[@]}" + + # https://github.com/docker/libnetwork/issues/1743 + # rm -f /var/lib/docker/network/files/local-kv.db + sudo systemctl restart docker + prepare_containers "${MCP_STORAGE_DIR}" fi start_containers "${MCP_STORAGE_DIR}" @@ -328,9 +340,9 @@ else reset_vms "${virtual_nodes[@]}" fi done -fi -./log.sh "${DEPLOY_LOG}" + ./log.sh "${DEPLOY_LOG}" +fi popd > /dev/null