[PEGLEG] - Used pegleg instead of Promenade

Used pegleg to generate genesis.sh instead of Promenade

Change-Id: Ic2dce1eb12b02991b402653c2523cb7f7ca3f62c
This commit is contained in:
Yasin, Sirajudeen (SY495P) 2019-10-10 11:18:23 -07:00
parent d7d345fd24
commit a3c961efe6
2 changed files with 95 additions and 36 deletions

View File

@ -27,6 +27,8 @@ export UPSTREAM_DNS=${UPSTREAM_DNS:-"8.8.8.8 8.8.4.4"}
export NTP_POOLS=${NTP_POOLS:-"0.ubuntu.pool.ntp.org 1.ubuntu.pool.ntp.org"}
export NTP_SERVERS=${NTP_SERVERS:-""}
export PROMENADE_ENCRYPTION_KEY=${PROMENADE_ENCRYPTION_KEY:-MjI1N2ZiMjMzYjI0ZmVkZDU4}
export PEGLEG_PASSPHRASE=${PEGLEG_PASSPHRASE:-ewd?egnPWL0Q?hzzGwEBmII5}
export PEGLEG_SALT=${PEGLEG_SALT:-9EX&uapdz1ka17WOQMG-FjTA}
# key-pair used for drydock/maas auth towards libvirt and access to
# the virtual nodes; auto-generated if no value provided

View File

@ -1,14 +1,22 @@
#!/bin/bash
set -e
set -xe
source "${GATE_UTILS}"
mkdir -p "${SCRIPT_DEPOT}"
chmod 777 "${SCRIPT_DEPOT}"
#mkdir -p ${SCRIPT_DEPOT}
#chmod 777 ${SCRIPT_DEPOT}
PROMENADE_TMP_LOCAL="$(basename "$PROMENADE_TMP_LOCAL")"
PROMENADE_TMP="${TEMP_DIR}/${PROMENADE_TMP_LOCAL}"
mkdir -p "$PROMENADE_TMP"
chmod 777 "$PROMENADE_TMP"
DOCKER_RUN_OPTS=("-e" "PROMENADE_DEBUG=${PROMENADE_DEBUG}")
DOCKER_SOCK="/var/run/docker.sock"
sudo chmod o+rw $DOCKER_SOCK
for v in HTTPS_PROXY HTTP_PROXY NO_PROXY https_proxy http_proxy no_proxy
do
if [[ -v "${v}" ]]
@ -17,41 +25,90 @@ do
fi
done
CERTS_PATH="/certs/*.yaml"
KEYS_PATH="/gate/*.yaml"
if [[ -n "${USE_EXISTING_SECRETS}" ]]
then
CERTS_PATH=""
KEYS_PATH=""
fi
#CERTS_PATH="/certs/*.yaml"
#KEYS_PATH="/gate/*.yaml"
#if [[ -n "${USE_EXISTING_SECRETS}" ]]
#then
# CERTS_PATH=""
# KEYS_PATH=""
#fi
PROMENADE_TMP_LOCAL="$(basename "$PROMENADE_TMP_LOCAL")"
PROMENADE_TMP="${TEMP_DIR}/${PROMENADE_TMP_LOCAL}"
mkdir -p "$PROMENADE_TMP"
chmod 777 "$PROMENADE_TMP"
#log Prepare hyperkube
#docker run --rm -t \
# --network host \
# -v "${PROMENADE_TMP}:/tmp/${PROMENADE_TMP_LOCAL}" \
# "${DOCKER_RUN_OPTS[@]}" \
# "${IMAGE_HYPERKUBE}" \
# cp /hyperkube "/tmp/${PROMENADE_TMP_LOCAL}"
log Prepare hyperkube
docker run --rm -t \
render_pegleg_cli() {
cli_string="pegleg -v site"
if [[ "${GERRIT_SSH_USER}" ]]
then
cli_string+=" -u ${GERRIT_SSH_USER}"
fi
if [[ "${GERRIT_SSH_KEY}" ]]
then
cli_string+=" -k /workspace/${GERRIT_SSH_KEY}"
fi
primary_repo=$(config_pegleg_primary_repo)
if [[ -d "${REPO_ROOT}/${primary_repo}" ]]
then
# NOTE: to get latest pegleg colllect to work
# airship-in-bottle repo has versions (v1.0demo, v1.0dev) within global
# and that is preventing pegleg to collect documents.
# It complains with duplicate data
find "${REPO_ROOT}"/"${primary_repo}" -name "v1.0dev" -type d \
-exec rm -r {} +
cli_string="${cli_string} -r /workspace/${primary_repo}"
else
log "${primary_repo} not a valid primary repository"
return 1
fi
aux_repos=($(config_pegleg_aux_repos))
if [[ ${#aux_repos[@]} -gt 0 ]]
then
for r in ${aux_repos[*]}
do
cli_string="${cli_string} -e ${r}=/workspace/${r}"
done
fi
cli_string="${cli_string} genesis_bundle -b /script/scripts --include-validators"
cli_string="${cli_string} $(config_pegleg_sitename)"
echo "${cli_string}"
}
run_genesis_bundle() {
# shellcheck disable=SC2091
# shellcheck disable=SC2046
docker run \
--rm -t \
--network host \
-v "${HOME}/.ssh":/root/.ssh \
-v "${REPO_ROOT}":/workspace \
-v "${TEMP_DIR}":/script \
-v "${PROMENADE_TMP}:/tmp/${PROMENADE_TMP_LOCAL}" \
"${DOCKER_RUN_OPTS[@]}" \
"${IMAGE_HYPERKUBE}" \
cp /hyperkube "/tmp/${PROMENADE_TMP_LOCAL}"
log Building scripts
docker run --rm -t \
-w /config \
--network host \
-v "${DEFINITION_DEPOT}:/config" \
-v "${GATE_DEPOT}:/gate" \
-v "${CERT_DEPOT}:/certs" \
-v "${SCRIPT_DEPOT}:/scripts" \
-v "${PROMENADE_TMP}:/tmp/${PROMENADE_TMP_LOCAL}" \
-e "PROMENADE_TMP=${PROMENADE_TMP}" \
-e "PROMENADE_TMP_LOCAL=/tmp/${PROMENADE_TMP_LOCAL}" \
-e "PROMENADE_ENCRYPTION_KEY=${PROMENADE_ENCRYPTION_KEY}" \
"${DOCKER_RUN_OPTS[@]}" \
"${IMAGE_PROMENADE_CLI}" \
promenade \
build-all \
--validators \
-o /scripts \
/config/*.yaml "${CERTS_PATH}" "${KEYS_PATH}"
-e "PEGLEG_PASSPHRASE=${PEGLEG_PASSPHRASE}" \
-e "PEGLEG_SALT=${PEGLEG_SALT}" \
-v "${DOCKER_SOCK}:${DOCKER_SOCK}" \
-e "DOCKER_HOST=unix:/${DOCKER_SOCK}" \
"${IMAGE_PEGLEG_CLI}" \
$(render_pegleg_cli)
}
run_genesis_bundle