Extract hyperkube binary before running promenade
Change-Id: I5fcce1f969de9c6c2d918bdbb813ee3c74050f7b
This commit is contained in:
parent
ffeeabf5a4
commit
0857054f83
@ -26,8 +26,10 @@ else
|
|||||||
sudo dpkg -s python3-yaml &> /dev/null || sudo apt -y install python3-yaml
|
sudo dpkg -s python3-yaml &> /dev/null || sudo apt -y install python3-yaml
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ENV_FILE=$(mktemp)
|
TMP_DIR=$(mktemp -d)
|
||||||
trap "{ rm -f $ENV_FILE; }" EXIT
|
trap "{ rm -rf $TMP_DIR; }" EXIT
|
||||||
|
|
||||||
|
ENV_FILE=${TMP_DIR}/ENV
|
||||||
|
|
||||||
export OS_PASSWORD=${OS_PASSWORD:-password123}
|
export OS_PASSWORD=${OS_PASSWORD:-password123}
|
||||||
# If shipyard password is defined, provide it to shipyard component
|
# If shipyard password is defined, provide it to shipyard component
|
||||||
@ -136,6 +138,16 @@ EOF
|
|||||||
promenade() {
|
promenade() {
|
||||||
|
|
||||||
versions_lookup "['data']['images']['ucp']['promenade']['promenade']"
|
versions_lookup "['data']['images']['ucp']['promenade']['promenade']"
|
||||||
|
IMAGE_PROMENADE=$IMAGE_URL
|
||||||
|
versions_lookup "['data']['images']['kubernetes']['hyperkube']"
|
||||||
|
IMAGE_HYPERKUBE=$IMAGE_URL
|
||||||
|
|
||||||
|
# 'cache' is hardcoded in Promenade source code
|
||||||
|
# it's a shared directory between init and main containers in Promenade pod
|
||||||
|
# the purpose for it is to transfer Hyperkube binary and store file cache
|
||||||
|
PROMENADE_TMP_LOCAL="cache"
|
||||||
|
PROMENADE_TMP=${TMP_DIR}/promenade
|
||||||
|
mkdir $PROMENADE_TMP
|
||||||
|
|
||||||
# support proxy for pulling k8s binary
|
# support proxy for pulling k8s binary
|
||||||
cat >> $ENV_FILE << EOF
|
cat >> $ENV_FILE << EOF
|
||||||
@ -146,18 +158,27 @@ HTTP_PROXY=${HTTP_PROXY:-}
|
|||||||
HTTPS_PROXY=${HTTPS_PROXY:-}
|
HTTPS_PROXY=${HTTPS_PROXY:-}
|
||||||
NO_PROXY=${NO_PROXY:-}
|
NO_PROXY=${NO_PROXY:-}
|
||||||
# Promenade specific variables for downloading hyperkube image to generate genesis.sh
|
# Promenade specific variables for downloading hyperkube image to generate genesis.sh
|
||||||
PROMENADE_TMP=/tmp
|
PROMENADE_TMP=${PROMENADE_TMP:-}
|
||||||
PROMENADE_TMP_LOCAL=/tmp
|
PROMENADE_TMP_LOCAL=${PROMENADE_TMP_LOCAL:-}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# extract Hyperkube binary before running Promenade container
|
||||||
|
# this is replacing internal extraction step in Promenade
|
||||||
|
# no need to share Docker socket
|
||||||
|
docker run --rm $TERM_OPTS \
|
||||||
|
-v "${PROMENADE_TMP}:/tmp/${PROMENADE_TMP_LOCAL}" \
|
||||||
|
--env-file $ENV_FILE \
|
||||||
|
--entrypoint /bin/cp \
|
||||||
|
"${IMAGE_HYPERKUBE}" \
|
||||||
|
/hyperkube "/tmp/${PROMENADE_TMP_LOCAL}"
|
||||||
|
|
||||||
docker run --rm --net=host $TERM_OPTS \
|
docker run --rm --net=host $TERM_OPTS \
|
||||||
-u "${USER}:${GROUP}" \
|
-u "${USER}:${GROUP}" \
|
||||||
-w /target \
|
-w /target \
|
||||||
-v $(pwd):/target \
|
-v $(pwd):/target \
|
||||||
-v /tmp:/tmp \
|
-v "${PROMENADE_TMP}:/tmp/${PROMENADE_TMP_LOCAL}" \
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
||||||
--env-file $ENV_FILE \
|
--env-file $ENV_FILE \
|
||||||
$IMAGE_URL $@
|
$IMAGE_PROMENADE $@
|
||||||
}
|
}
|
||||||
|
|
||||||
shipyard() {
|
shipyard() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user