69 lines
2.0 KiB
Bash
69 lines
2.0 KiB
Bash
promenade_teardown_node() {
|
|
TARGET=${1}
|
|
VIA=${2}
|
|
|
|
ssh_cmd "${TARGET}" /usr/local/bin/promenade-teardown
|
|
kubectl_cmd "${VIA}" delete node "${TARGET}"
|
|
}
|
|
|
|
promenade_render_curl_url() {
|
|
NAME=${1}
|
|
USE_DECKHAND=${2}
|
|
DECKHAND_REVISION=${3}
|
|
shift 3
|
|
LABELS=(${@})
|
|
|
|
LABEL_PARAMS=
|
|
for label in "${LABELS[@]}"; do
|
|
LABEL_PARAMS+="&labels.dynamic=${label}"
|
|
done
|
|
|
|
BASE_URL="${PROMENADE_BASE_URL}/api/v1.0/join-scripts"
|
|
if [[ ${USE_DECKHAND} == 1 ]]; then
|
|
DESIGN_REF="design_ref=deckhand%2Bhttp://deckhand-int.ucp.svc.cluster.local:9000/api/v1.0/revisions/${DECKHAND_REVISION}/rendered-documents"
|
|
else
|
|
DESIGN_REF="design_ref=${NGINX_URL}/promenade.yaml"
|
|
fi
|
|
HOST_PARAMS="hostname=${NAME}&ip=$(config_vm_ip "${NAME}")"
|
|
|
|
echo "${BASE_URL}?${DESIGN_REF}&${HOST_PARAMS}&leave_kubectl=true${LABEL_PARAMS}"
|
|
}
|
|
|
|
promenade_render_validate_url() {
|
|
echo "${PROMENADE_BASE_URL}/api/v1.0/validatedesign"
|
|
}
|
|
|
|
promenade_render_validate_body() {
|
|
USE_DECKHAND=${1}
|
|
DECKHAND_REVISION=${2}
|
|
|
|
if [[ ${USE_DECKHAND} == 1 ]]; then
|
|
JSON="{\"rel\":\"design\",\"href\":\"deckhand+http://deckhand-int.ucp.svc.cluster.local:9000/api/v1.0/revisions/${DECKHAND_REVISION}/rendered-documents\",\"type\":\"application/x-yaml\"}"
|
|
else
|
|
JSON="{\"rel\":\"design\",\"href\":\"${NGINX_URL}/promenade.yaml\",\"type\":\"application/x-yaml\"}"
|
|
fi
|
|
|
|
echo "${JSON}"
|
|
}
|
|
|
|
promenade_health_check() {
|
|
VIA=${1}
|
|
log "Checking Promenade API health"
|
|
MAX_HEALTH_ATTEMPTS=6
|
|
for attempt in $(seq ${MAX_HEALTH_ATTEMPTS}); do
|
|
if ssh_cmd "${VIA}" curl -v --fail "${PROMENADE_BASE_URL}/api/v1.0/health"; then
|
|
log "Promenade API healthy"
|
|
break
|
|
elif [[ $attempt == "${MAX_HEALTH_ATTEMPTS}" ]]; then
|
|
log "Promenade health check failed, max retries (${MAX_HEALTH_ATTEMPTS}) exceeded."
|
|
exit 1
|
|
fi
|
|
sleep 10
|
|
done
|
|
}
|
|
|
|
promenade_put_labels_url() {
|
|
NODE_NAME=${1}
|
|
echo "${PROMENADE_BASE_URL}/api/v1.0/node-labels/${NODE_NAME}"
|
|
}
|