From e6586077b9f56a319fa43be3cfde6713d02942cb Mon Sep 17 00:00:00 2001 From: Kaspars Skels Date: Mon, 11 Feb 2019 17:43:31 -0600 Subject: [PATCH] Run shipyard from build VM (instead of Genesis) Change-Id: I63126cbeaf95050f82bae2d1c6e8a7b3e49ed5b8 --- .../airship_gate/lib/airship.sh | 19 ++++++++++++------- .../airship_gate/lib/config.sh | 6 ++++-- .../airship_gate/lib/const.sh | 1 + .../stages/shipyard-load-design.sh | 18 +++++++++--------- 4 files changed, 26 insertions(+), 18 deletions(-) diff --git a/tools/multi_nodes_gate/airship_gate/lib/airship.sh b/tools/multi_nodes_gate/airship_gate/lib/airship.sh index 35fa9386..a0b2a43e 100644 --- a/tools/multi_nodes_gate/airship_gate/lib/airship.sh +++ b/tools/multi_nodes_gate/airship_gate/lib/airship.sh @@ -8,17 +8,20 @@ install_ingress_ca() { return fi local_file="${TEMP_DIR}/ingress_ca.pem" - remote_file="${GENESIS_WORK_DIR}/ingress_ca.pem" + remote_file="${BUILD_WORK_DIR}/ingress_ca.pem" cat <<< "$ingress_ca" > "$local_file" - rsync_cmd "$local_file" "${GENESIS_NAME}":"$remote_file" + rsync_cmd "$local_file" "${BUILD_NAME}":"$remote_file" } shipard_cmd_stdout() { + # needed to reach airship endpoints + dns_server=$(config_vm_ip "${BUILD_NAME}") install_ingress_ca - ssh_cmd "${GENESIS_NAME}" \ + ssh_cmd "${BUILD_NAME}" \ docker run -t --network=host \ - -v "${GENESIS_WORK_DIR}:/work" \ - -e OS_AUTH_URL=http://keystone.ucp.svc.cluster.local:80/v3 \ + --dns ${dns_server} \ + -v "${BUILD_WORK_DIR}:/work" \ + -e OS_AUTH_URL=${AIRSHIP_KEYSTONE_URL} \ -e OS_USERNAME=shipyard \ -e OS_USER_DOMAIN_NAME=default \ -e OS_PASSWORD="${SHIPYARD_PASSWORD}" \ @@ -40,10 +43,12 @@ shipyard_cmd() { } drydock_cmd_stdout() { + dns_server=$(config_vm_ip "${BUILD_NAME}") install_ingress_ca - ssh_cmd "${GENESIS_NAME}" \ + ssh_cmd "${BUILD_NAME}" \ docker run -t --network=host \ - -v "${GENESIS_WORK_DIR}:/work" \ + --dns ${dns_server} \ + -v "${BUILD_WORK_DIR}:/work" \ -e DD_URL=http://drydock-api.ucp.svc.cluster.local:9000 \ -e OS_AUTH_URL=http://keystone.ucp.svc.cluster.local:80/v3 \ -e OS_USERNAME=shipyard \ diff --git a/tools/multi_nodes_gate/airship_gate/lib/config.sh b/tools/multi_nodes_gate/airship_gate/lib/config.sh index d42d0645..98f6dcc1 100644 --- a/tools/multi_nodes_gate/airship_gate/lib/config.sh +++ b/tools/multi_nodes_gate/airship_gate/lib/config.sh @@ -3,7 +3,7 @@ export DEFINITION_DEPOT="${TEMP_DIR}/site_yaml/" export CERT_DEPOT="${TEMP_DIR}/cert_yaml/" export GATE_DEPOT="${TEMP_DIR}/gate_yaml/" export SCRIPT_DEPOT="${TEMP_DIR}/scripts/" -export GENESIS_WORK_DIR=${GENESIS_WORK_DIR:-/work} +export BUILD_WORK_DIR=${BUILD_WORK_DIR:-/work} export BASE_IMAGE_SIZE=${BASE_IMAGE_SIZE:-68719476736} export BASE_IMAGE_URL=${BASE_IMAGE_URL:-https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img} export IMAGE_PROMENADE_CLI=${IMAGE_PROMENADE_CLI:-quay.io/airshipit/promenade:cfb8aa498c294c2adbc369ba5aaee19b49550d22} @@ -12,13 +12,15 @@ export IMAGE_SHIPYARD_CLI=${IMAGE_SHIPYARD_CLI:-quay.io/airshipit/shipyard:4dd6b export IMAGE_COREDNS=${IMAGE_COREDNS:-docker.io/coredns/coredns:1.2.2} export IMAGE_DRYDOCK_CLI=${IMAGE_DRYDOCK_CLI:-quay.io/airshipit/drydock:d93d6d5a0a370ced536180612d1ade708e29cd47} export PROMENADE_DEBUG=${PROMENADE_DEBUG:-0} -export SHIPYARD_PASSWORD=${SHIPYARD_OS_PASSWORD:-password18} export REGISTRY_DATA_DIR=${REGISTRY_DATA_DIR:-/mnt/registry} export VIRSH_POOL=${VIRSH_POOL:-airship} export VIRSH_POOL_PATH=${VIRSH_POOL_PATH:-/var/lib/libvirt/airship} export VIRSH_CPU_OPTS=${VIRSH_CPU_OPTS:-host} export UPSTREAM_DNS=${UPSTREAM_DNS:-"8.8.8.8 8.8.4.4"} +export SHIPYARD_PASSWORD=${SHIPYARD_OS_PASSWORD:-'password18'} +export AIRSHIP_KEYSTONE_URL=${AIRSHIP_KEYSTONE_URL:-'http://keystone.gate.local:80/v3'} + config_vm_memory() { nodename=${1} jq -cr ".vm.${nodename}.memory" < "${GATE_MANIFEST}" diff --git a/tools/multi_nodes_gate/airship_gate/lib/const.sh b/tools/multi_nodes_gate/airship_gate/lib/const.sh index 5555f877..7dc50a97 100644 --- a/tools/multi_nodes_gate/airship_gate/lib/const.sh +++ b/tools/multi_nodes_gate/airship_gate/lib/const.sh @@ -1,4 +1,5 @@ export GENESIS_NAME=n0 +export BUILD_NAME=build export SSH_CONFIG_DIR=${WORKSPACE}/multi_nodes_gate/airship_gate/config-ssh export TEMPLATE_DIR=${WORKSPACE}/multi_nodes_gate/airship_gate/templates export XML_DIR=${WORKSPACE}/multi_nodes_gate/airship_gate/xml diff --git a/tools/multi_nodes_gate/airship_gate/stages/shipyard-load-design.sh b/tools/multi_nodes_gate/airship_gate/stages/shipyard-load-design.sh index 407c47a4..93568763 100755 --- a/tools/multi_nodes_gate/airship_gate/stages/shipyard-load-design.sh +++ b/tools/multi_nodes_gate/airship_gate/stages/shipyard-load-design.sh @@ -53,25 +53,25 @@ check_configdocs_result(){ } # Copy site design to genesis node -ssh_cmd "${GENESIS_NAME}" mkdir -p "${GENESIS_WORK_DIR}/site" -rsync_cmd "${DEFINITION_DEPOT}"/*.yaml "${GENESIS_NAME}:${GENESIS_WORK_DIR}/site/" +ssh_cmd "${BUILD_NAME}" mkdir -p "${BUILD_WORK_DIR}/site" +rsync_cmd "${DEFINITION_DEPOT}"/*.yaml "${BUILD_NAME}:${BUILD_WORK_DIR}/site/" sleep 120 -check_configdocs_result "$(shipyard_cmd create configdocs design --directory=${GENESIS_WORK_DIR}/site --replace)" +check_configdocs_result "$(shipyard_cmd create configdocs design --directory=${BUILD_WORK_DIR}/site --replace)" if [[ "${OMIT_CERTS}" == "0" ]] then - ssh_cmd "${GENESIS_NAME}" mkdir -p "${GENESIS_WORK_DIR}/certs" - rsync_cmd "${CERT_DEPOT}"/*.yaml "${GENESIS_NAME}:${GENESIS_WORK_DIR}/certs/" - check_configdocs_result "$(shipyard_cmd create configdocs certs --directory=${GENESIS_WORK_DIR}/certs --append)" + ssh_cmd "${BUILD_NAME}" mkdir -p "${BUILD_WORK_DIR}/certs" + rsync_cmd "${CERT_DEPOT}"/*.yaml "${BUILD_NAME}:${BUILD_WORK_DIR}/certs/" + check_configdocs_result "$(shipyard_cmd create configdocs certs --directory=${BUILD_WORK_DIR}/certs --append)" fi if [[ "${OMIT_GATE}" == "0" ]] then - ssh_cmd "${GENESIS_NAME}" mkdir -p "${GENESIS_WORK_DIR}/gate" - rsync_cmd "${GATE_DEPOT}"/*.yaml "${GENESIS_NAME}:${GENESIS_WORK_DIR}/gate/" - check_configdocs_result "$(shipyard_cmd create configdocs gate --directory=${GENESIS_WORK_DIR}/gate --append)" + ssh_cmd "${BUILD_NAME}" mkdir -p "${BUILD_WORK_DIR}/gate" + rsync_cmd "${GATE_DEPOT}"/*.yaml "${BUILD_NAME}:${BUILD_WORK_DIR}/gate/" + check_configdocs_result "$(shipyard_cmd create configdocs gate --directory=${BUILD_WORK_DIR}/gate --append)" fi check_configdocs_result "$(shipyard_cmd commit configdocs)"