devstack: add nsenter and fix setup-files race
This patch installs 'nsenter' as part of 'hyperkube' installation and introduces a workaround for a race between 'setup-files.sh' and 'kubernetes-api' service. Change-Id: Ic7fc7adbc27671b716f5be18529053790b6bd049
This commit is contained in:
parent
1998a54e01
commit
1b1e9eb5e8
@ -202,6 +202,11 @@ function prepare_kubernetes_files {
|
|||||||
"${KURYR_HYPERKUBE_IMAGE}:${KURYR_HYPERKUBE_VERSION}" \
|
"${KURYR_HYPERKUBE_IMAGE}:${KURYR_HYPERKUBE_VERSION}" \
|
||||||
/setup-files.sh \
|
/setup-files.sh \
|
||||||
"IP:${HOST_IP},DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local"
|
"IP:${HOST_IP},DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local"
|
||||||
|
|
||||||
|
# FIXME(ivc): replace 'sleep' with a strict check (e.g. wait_for_files)
|
||||||
|
# 'kubernetes-api' fails if started before files are generated.
|
||||||
|
# this is a workaround to prevent races.
|
||||||
|
sleep 5
|
||||||
}
|
}
|
||||||
|
|
||||||
function wait_for {
|
function wait_for {
|
||||||
@ -281,6 +286,7 @@ function extract_hyperkube {
|
|||||||
|
|
||||||
tmp_hyperkube_path="/tmp/hyperkube"
|
tmp_hyperkube_path="/tmp/hyperkube"
|
||||||
tmp_loopback_cni_path="/tmp/loopback"
|
tmp_loopback_cni_path="/tmp/loopback"
|
||||||
|
tmp_nsenter_path="/tmp/nsenter"
|
||||||
|
|
||||||
hyperkube_container="$(docker ps -aq \
|
hyperkube_container="$(docker ps -aq \
|
||||||
-f ancestor="${KURYR_HYPERKUBE_IMAGE}:${KURYR_HYPERKUBE_VERSION}" | \
|
-f ancestor="${KURYR_HYPERKUBE_IMAGE}:${KURYR_HYPERKUBE_VERSION}" | \
|
||||||
@ -288,10 +294,13 @@ function extract_hyperkube {
|
|||||||
docker cp "${hyperkube_container}:/hyperkube" "$tmp_hyperkube_path"
|
docker cp "${hyperkube_container}:/hyperkube" "$tmp_hyperkube_path"
|
||||||
docker cp "${hyperkube_container}:/opt/cni/bin/loopback" \
|
docker cp "${hyperkube_container}:/opt/cni/bin/loopback" \
|
||||||
"$tmp_loopback_cni_path"
|
"$tmp_loopback_cni_path"
|
||||||
|
docker cp "${hyperkube_container}:/usr/bin/nsenter" "$tmp_nsenter_path"
|
||||||
sudo install -o "$STACK_USER" -m 0555 -D "$tmp_hyperkube_path" \
|
sudo install -o "$STACK_USER" -m 0555 -D "$tmp_hyperkube_path" \
|
||||||
"$KURYR_HYPERKUBE_BINARY"
|
"$KURYR_HYPERKUBE_BINARY"
|
||||||
sudo install -o "$STACK_USER" -m 0555 -D "$tmp_loopback_cni_path" \
|
sudo install -o "$STACK_USER" -m 0555 -D "$tmp_loopback_cni_path" \
|
||||||
"${CNI_BIN_DIR}/loopback"
|
"${CNI_BIN_DIR}/loopback"
|
||||||
|
sudo install -o "root" -m 0555 -D "$tmp_nsenter_path" \
|
||||||
|
"/usr/local/bin/nsenter"
|
||||||
|
|
||||||
# Convenience kubectl executable for development
|
# Convenience kubectl executable for development
|
||||||
sudo install -o "$STACK_USER" -m 555 -D "${KURYR_HOME}/devstack/kubectl" \
|
sudo install -o "$STACK_USER" -m 555 -D "${KURYR_HOME}/devstack/kubectl" \
|
||||||
|
Loading…
Reference in New Issue
Block a user