Standardize how we refer to the kubernetes root.

Now use $KUBE_ROOT as the variable pretty much everywhere.
This commit is contained in:
Joe Beda
2014-10-03 14:58:49 -07:00
parent 38d5906044
commit d43a6ec5a3
42 changed files with 172 additions and 156 deletions

View File

@@ -18,15 +18,11 @@
# Use the config file specified in $KUBE_CONFIG_FILE, or default to
# config-default.sh.
source $(dirname ${BASH_SOURCE})/${KUBE_CONFIG_FILE-"config-default.sh"}
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
source "${KUBE_ROOT}/cluster/gce/${KUBE_CONFIG_FILE-"config-default.sh"}"
# Verify prereqs
#
# Vars set:
# KUBE_REPO_ROOT
function verify-prereqs {
KUBE_REPO_ROOT="$(dirname ${BASH_SOURCE})/../.."
for x in gcloud gcutil gsutil; do
if [ "$(which $x)" == "" ]; then
echo "Can't find $x in PATH, please fix and retry."
@@ -41,18 +37,18 @@ function verify-prereqs {
# SERVER_BINARY_TAR
# SALT_TAR
function find-release-tars {
SERVER_BINARY_TAR="${KUBE_REPO_ROOT}/server/kubernetes-server-linux-amd64.tar.gz"
SERVER_BINARY_TAR="${KUBE_ROOT}/server/kubernetes-server-linux-amd64.tar.gz"
if [[ ! -f "$SERVER_BINARY_TAR" ]]; then
SERVER_BINARY_TAR="${KUBE_REPO_ROOT}/_output/release-tars/kubernetes-server-linux-amd64.tar.gz"
SERVER_BINARY_TAR="${KUBE_ROOT}/_output/release-tars/kubernetes-server-linux-amd64.tar.gz"
fi
if [[ ! -f "$SERVER_BINARY_TAR" ]]; then
echo "!!! Cannot find kubernetes-server-linux-amd64.tar.gz"
exit 1
fi
SALT_TAR="${KUBE_REPO_ROOT}/server/kubernetes-salt.tar.gz"
SALT_TAR="${KUBE_ROOT}/server/kubernetes-salt.tar.gz"
if [[ ! -f "$SALT_TAR" ]]; then
SALT_TAR="${KUBE_REPO_ROOT}/_output/release-tars/kubernetes-salt.tar.gz"
SALT_TAR="${KUBE_ROOT}/_output/release-tars/kubernetes-salt.tar.gz"
fi
if [[ ! -f "$SALT_TAR" ]]; then
echo "!!! Cannot find kubernetes-salt.tar.gz"
@@ -195,7 +191,7 @@ EOF
# Instantiate a kubernetes cluster
#
# Assumed vars
# KUBE_REPO_ROOT
# KUBE_ROOT
# <Various vars set in config file>
function kube-up {
# Detect the project into $PROJECT if it isn't set
@@ -210,7 +206,7 @@ function kube-up {
trap 'rm -rf "${kube_temp}"' EXIT
get-password
python "${KUBE_REPO_ROOT}/third_party/htpasswd/htpasswd.py" \
python "${KUBE_ROOT}/third_party/htpasswd/htpasswd.py" \
-b -c "${kube_temp}/htpasswd" "$KUBE_USER" "$KUBE_PASSWORD"
local htpasswd=$(cat "${kube_temp}/htpasswd")
@@ -253,8 +249,8 @@ function kube-up {
echo "readonly SERVER_BINARY_TAR_URL='${SERVER_BINARY_TAR_URL}'"
echo "readonly SALT_TAR_URL='${SALT_TAR_URL}'"
echo "readonly MASTER_HTPASSWD='${htpasswd}'"
grep -v "^#" "${KUBE_REPO_ROOT}/cluster/gce/templates/download-release.sh"
grep -v "^#" "${KUBE_REPO_ROOT}/cluster/gce/templates/salt-master.sh"
grep -v "^#" "${KUBE_ROOT}/cluster/gce/templates/download-release.sh"
grep -v "^#" "${KUBE_ROOT}/cluster/gce/templates/salt-master.sh"
) > "${kube_temp}/master-start.sh"
gcutil addinstance ${MASTER_NAME}\
@@ -275,7 +271,7 @@ function kube-up {
echo "#! /bin/bash"
echo "MASTER_NAME='${MASTER_NAME}'"
echo "MINION_IP_RANGE=${MINION_IP_RANGES[$i]}"
grep -v "^#" "${KUBE_REPO_ROOT}/cluster/gce/templates/salt-minion.sh"
grep -v "^#" "${KUBE_ROOT}/cluster/gce/templates/salt-minion.sh"
) > "${kube_temp}/minion-start-${i}.sh"
gcutil addfirewall ${MINION_NAMES[$i]}-all \
@@ -448,7 +444,7 @@ function kube-push {
echo "cd /var/cache/kubernetes-install"
echo "readonly SERVER_BINARY_TAR_URL=${SERVER_BINARY_TAR_URL}"
echo "readonly SALT_TAR_URL=${SALT_TAR_URL}"
grep -v "^#" "${KUBE_REPO_ROOT}/cluster/gce/templates/download-release.sh"
grep -v "^#" "${KUBE_ROOT}/cluster/gce/templates/download-release.sh"
echo "echo Executing configuration"
echo "sudo salt '*' mine.update"
echo "sudo salt --force-color '*' state.highstate"
@@ -472,12 +468,12 @@ function kube-push {
# Execute prior to running tests to build a release if required for env.
#
# Assumed Vars:
# KUBE_REPO_ROOT
# KUBE_ROOT
function test-build-release {
# Build source
"${KUBE_REPO_ROOT}/hack/build-go.sh"
"${KUBE_ROOT}/hack/build-go.sh"
# Make a release
"${KUBE_REPO_ROOT}/release/release.sh"
"${KUBE_ROOT}/release/release.sh"
}
# Execute prior to running tests to initialize required structure. This is
@@ -520,5 +516,5 @@ function test-teardown {
--sleep_between_polls "${POLL_SLEEP_INTERVAL}" \
--force \
${MINION_TAG}-${INSTANCE_PREFIX}-http-alt || true > /dev/null
$(dirname $0)/../cluster/kube-down.sh > /dev/null
"${KUBE_ROOT}/cluster/kube-down.sh" > /dev/null
}

View File

@@ -19,8 +19,9 @@
# exit on any error
set -e
source $(dirname $0)/kube-env.sh
source $(dirname $0)/$KUBERNETES_PROVIDER/util.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "${KUBE_ROOT}/cluster/kube-env.sh"
source "${KUBE_ROOT}/cluster/${KUBERNETES_PROVIDER}/util.sh"
echo "Bringing down cluster using provider: $KUBERNETES_PROVIDER"

View File

@@ -22,14 +22,15 @@
# exit on any error
set -e
source $(dirname $0)/kube-env.sh
source $(dirname $0)/$KUBERNETES_PROVIDER/util.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "${KUBE_ROOT}/cluster/kube-env.sh"
source "${KUBE_ROOT}/cluster/${KUBERNETES_PROVIDER}/util.sh"
echo "Updating cluster using provider: $KUBERNETES_PROVIDER"
verify-prereqs
kube-push
source $(dirname $0)/validate-cluster.sh
"${KUBE_ROOT}/cluster/validate-cluster.sh"
echo "Done"

View File

@@ -23,14 +23,15 @@
# exit on any error
set -e
source $(dirname $0)/kube-env.sh
source $(dirname $0)/$KUBERNETES_PROVIDER/util.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "${KUBE_ROOT}/cluster/kube-env.sh"
source "${KUBE_ROOT}/cluster/${KUBERNETES_PROVIDER}/util.sh"
echo "Starting cluster using provider: $KUBERNETES_PROVIDER"
verify-prereqs
kube-up
source $(dirname $0)/validate-cluster.sh
"${KUBE_ROOT}/cluster/validate-cluster.sh"
echo "Done"

View File

@@ -14,9 +14,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
ROOT_DIR="$(dirname ${BASH_SOURCE})/.."
source "${ROOT_DIR}/cluster/kube-env.sh"
source "${ROOT_DIR}/cluster/${KUBERNETES_PROVIDER}/util.sh"
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "${KUBE_ROOT}/cluster/kube-env.sh"
source "${KUBE_ROOT}/cluster/${KUBERNETES_PROVIDER}/util.sh"
# Detect the OS name/arch so that we can find our binary
case "$(uname -s)" in
@@ -52,9 +52,9 @@ case "$(uname -m)" in
exit 1
esac
kubecfg="${ROOT_DIR}/_output/build/${host_os}/${host_arch}/kubecfg"
kubecfg="${KUBE_ROOT}/_output/build/${host_os}/${host_arch}/kubecfg"
if [[ ! -x "$kubecfg" ]]; then
kubecfg="${ROOT_DIR}/platforms/${host_os}/${host_arch}/kubecfg"
kubecfg="${KUBE_ROOT}/platforms/${host_os}/${host_arch}/kubecfg"
fi
if [[ ! -x "$kubecfg" ]]; then
echo "It looks as if you don't have a compiled version of Kubernetes. If you" >&2

View File

@@ -21,7 +21,7 @@ set -o errexit
set -o nounset
set -o pipefail
readonly SALTBASE="$(dirname $0)"
readonly SALT_ROOT=$(dirname "${BASH_SOURCE}")
readonly SERVER_BIN_TAR=${1-}
if [[ -z "$SERVER_BIN_TAR" ]]; then
@@ -38,10 +38,10 @@ trap "rm -rf ${KUBE_TEMP}" EXIT
echo "+++ Installing salt files"
mkdir -p /srv
# This bash voodoo will prepend $SALTBASE to the start of each item in the
# This bash voodoo will prepend $SALT_ROOT to the start of each item in the
# $SALTDIRS array
readonly SALTDIRS=(salt pillar reactor)
cp -R --preserve=mode "${SALTDIRS[@]/#/${SALTBASE}/}" /srv/
cp -R --preserve=mode "${SALTDIRS[@]/#/${SALT_ROOT}/}" /srv/
echo "+++ Install binaries from tar: $1"

View File

@@ -15,4 +15,5 @@
# limitations under the License.
## Contains configuration values for interacting with the Vagrant cluster in test mode
source $(dirname ${BASH_SOURCE})/config-default.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
source "${KUBE_ROOT}/cluster/vagrant/config-default.sh"

View File

@@ -53,7 +53,8 @@ while [[ $# > 0 ]]; do
esac
done
cd $(dirname ${BASH_SOURCE})/../../
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
cd "${KUBE_ROOT}"
echo All verbose output will be redirected to $logfile, use --logfile option to change.

View File

@@ -16,19 +16,9 @@
# exit on any error
set -e
source $(dirname $0)/provision-config.sh
# # Install Docker on master to run the build. This is a necessary chunk of
# # bootstrapping.
# yum install -y docker-io
# SYSTEMD_LOG_LEVEL=notice systemctl enable docker
# systemctl start docker
# # Build release
# echo "Building release"
# pushd /vagrant
# bash -x ./build/release.sh
# popd
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
source "${KUBE_ROOT}/cluster/vagrant/provision-config.sh"
function release_not_found() {
echo "It looks as if you don't have a compiled version of Kubernetes. If you" >&2
@@ -117,10 +107,10 @@ state_output: mixed
EOF
# Configure nginx authorization
mkdir -p $KUBE_TEMP
mkdir -p "$KUBE_TEMP"
mkdir -p /srv/salt/nginx
python $(dirname $0)/../../third_party/htpasswd/htpasswd.py -b -c ${KUBE_TEMP}/htpasswd $MASTER_USER $MASTER_PASSWD
MASTER_HTPASSWD=$(cat ${KUBE_TEMP}/htpasswd)
python "${KUBE_ROOT}/third_party/htpasswd/htpasswd.py" -b -c "${KUBE_TEMP}/htpasswd" "$MASTER_USER" "$MASTER_PASSWD"
MASTER_HTPASSWD=$(cat "${KUBE_TEMP}/htpasswd")
echo $MASTER_HTPASSWD > /srv/salt/nginx/htpasswd
# we will run provision to update code each time we test, so we do not want to do salt install each time

View File

@@ -16,7 +16,8 @@
# exit on any error
set -e
source $(dirname $0)/provision-config.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
source "${KUBE_ROOT}/cluster/vagrant/provision-config.sh"
MINION_IP=$4
@@ -30,11 +31,11 @@ fi
minion_ip_array=(${MINION_IPS//,/ })
for (( i=0; i<${#MINION_NAMES[@]}; i++)); do
minion=${MINION_NAMES[$i]}
ip=${minion_ip_array[$i]}
ip=${minion_ip_array[$i]}
if [ ! "$(cat /etc/hosts | grep $minion)" ]; then
echo "Adding $minion to hosts file"
echo "$ip $minion" >> /etc/hosts
fi
fi
done
# Let the minion know who its master is
@@ -61,4 +62,4 @@ if ! which salt-minion >/dev/null 2>&1; then
fi
# run the networking setup
$(dirname $0)/provision-network.sh $@
"${KUBE_ROOT}/cluster/vagrant/provision-network.sh" $@

View File

@@ -16,7 +16,8 @@
# exit on any error
set -e
source $(dirname $0)/provision-config.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
source "${KUBE_ROOT}/cluster/vagrant/provision-config.sh"
MINION_IP=$4
MINION_ID=$5

View File

@@ -16,7 +16,8 @@
# A library of helper functions that each provider hosting Kubernetes must implement to use cluster/kube-*.sh scripts.
source $(dirname ${BASH_SOURCE})/${KUBE_CONFIG_FILE-"config-default.sh"}
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
source "${KUBE_ROOT}/cluster/vagrant/${KUBE_CONFIG_FILE-"config-default.sh"}"
function detect-master () {
echo "KUBE_MASTER_IP: ${KUBE_MASTER_IP}"
@@ -91,7 +92,7 @@ function kube-up {
local count="0"
until [[ "$count" == "1" ]]; do
local minions
minions=$("$(dirname $0)/cluster/kubecfg.sh" -template '{{range.Items}}{{.ID}}:{{end}}' list minions)
minions=$("${KUBE_ROOT}/cluster/kubecfg.sh" -template '{{range.Items}}{{.ID}}:{{end}}' list minions)
count=$(echo $minions | grep -c "${MINION_NAMES[i]}") || {
printf "."
sleep 2

View File

@@ -23,15 +23,16 @@
# exit on any error
set -e
source $(dirname $0)/kube-env.sh
source $(dirname $0)/$KUBERNETES_PROVIDER/util.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "${KUBE_ROOT}/cluster/kube-env.sh"
source "${KUBE_ROOT}/cluster/${KUBERNETES_PROVIDER}/util.sh"
get-password
detect-master > /dev/null
detect-minions > /dev/null
MINIONS_FILE=/tmp/minions
$(dirname $0)/kubecfg.sh -template '{{range.Items}}{{.ID}}:{{end}}' list minions > ${MINIONS_FILE}
"${KUBE_ROOT}/cluster/kubecfg.sh" -template '{{range.Items}}{{.ID}}:{{end}}' list minions > ${MINIONS_FILE}
# On vSphere, use minion IPs as their names
if [ "$KUBERNETES_PROVIDER" == "vsphere" ]; then