Skip to content

Commit

Permalink
Standardize how we refer to the kubernetes root.
Browse files Browse the repository at this point in the history
Now use $KUBE_ROOT as the variable pretty much everywhere.
  • Loading branch information
jbeda committed Oct 10, 2014
1 parent 38d5906 commit d43a6ec
Show file tree
Hide file tree
Showing 42 changed files with 172 additions and 156 deletions.
9 changes: 5 additions & 4 deletions build/build-image/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@
# This script sets up a go workspace locally and builds all go components.
# You can 'source' this file if you want to set up GOPATH in your local shell.

cd $(dirname "${BASH_SOURCE}")/../.. >/dev/null
readonly KUBE_REPO_ROOT="${PWD}"
readonly KUBE_TARGET="${KUBE_REPO_ROOT}/_output/build"
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
cd "${KUBE_ROOT}"

readonly KUBE_TARGET="${KUBE_ROOT}/_output/build"
readonly KUBE_GO_PACKAGE=github.com/GoogleCloudPlatform/kubernetes

mkdir -p "${KUBE_TARGET}"
Expand All @@ -39,7 +40,7 @@ function kube::build::make_binary() {
local -r bin=${gopkg##*/}

echo "+++ Building ${bin} for ${GOOS}/${GOARCH}"
pushd "${KUBE_REPO_ROOT}" >/dev/null
pushd "${KUBE_ROOT}" >/dev/null
godep go build -ldflags "${KUBE_LD_FLAGS-}" -o "${ARCH_TARGET}/${bin}" "${gopkg}"
popd >/dev/null
}
Expand Down
3 changes: 2 additions & 1 deletion build/build-image/make-binaries.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

set -e

source $(dirname $0)/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
source "${KUBE_ROOT}/build/build-image/common.sh"

kube::build::make_binaries "$@"
3 changes: 2 additions & 1 deletion build/build-image/make-cross.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@

set -e

source $(dirname $0)/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
source "${KUBE_ROOT}/build/build-image/common.sh"

readonly CROSS_BINARIES=(
./cmd/kubecfg
Expand Down
9 changes: 5 additions & 4 deletions build/build-image/run-integration.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,21 @@

set -e

source $(dirname $0)/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
source "${KUBE_ROOT}/build/build-image/common.sh"

kube::build::make_binaries "./cmd/integration"

readonly ETCD_DIR="${KUBE_REPO_ROOT}/_output/etcd"
readonly ETCD_DIR="${KUBE_ROOT}/_output/etcd"
mkdir -p "${ETCD_DIR}"

echo "+++ Running integration test"

etcd -name test -data-dir ${ETCD_DIR} > "${KUBE_REPO_ROOT}/_output/etcd.log" &
etcd -name test -data-dir ${ETCD_DIR} > "${KUBE_ROOT}/_output/etcd.log" &
readonly ETCD_PID=$!

sleep 5

${KUBE_TARGET}/linux/amd64/integration
"${KUBE_TARGET}/linux/amd64/integration"

kill $ETCD_PID
3 changes: 2 additions & 1 deletion build/build-image/run-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@

set -e

source $(dirname $0)/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
source "${KUBE_ROOT}/build/build-image/common.sh"

echo "+++ Running unit tests"

Expand Down
21 changes: 10 additions & 11 deletions build/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ set -o errexit
set -o nounset
set -o pipefail

cd $(dirname "${BASH_SOURCE}")/..
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
cd "${KUBE_ROOT}"

source hack/config-go.sh

Expand All @@ -36,8 +37,6 @@ readonly KUBE_GCS_MAKE_PUBLIC="${KUBE_GCS_MAKE_PUBLIC:-y}"


# Constants
readonly KUBE_REPO_ROOT="${PWD}"

readonly KUBE_BUILD_IMAGE_REPO=kube-build
readonly KUBE_BUILD_IMAGE_TAG=build
readonly KUBE_BUILD_IMAGE="${KUBE_BUILD_IMAGE_REPO}:${KUBE_BUILD_IMAGE_TAG}"
Expand All @@ -49,7 +48,7 @@ readonly KUBE_GO_PACKAGE="github.com/GoogleCloudPlatform/kubernetes"
#
# Note that here "LOCAL" is local to the docker daemon. In the boot2docker case
# this is still inside the VM. We use the same directory in both cases though.
readonly LOCAL_OUTPUT_ROOT="${KUBE_REPO_ROOT}/_output"
readonly LOCAL_OUTPUT_ROOT="${KUBE_ROOT}/_output"
readonly LOCAL_OUTPUT_BUILD="${LOCAL_OUTPUT_ROOT}/build"
readonly REMOTE_OUTPUT_ROOT="/go/src/${KUBE_GO_PACKAGE}/_output"
readonly REMOTE_OUTPUT_DIR="${REMOTE_OUTPUT_ROOT}/build"
Expand Down Expand Up @@ -374,7 +373,7 @@ function kube::release::package_salt_tarball() {
rm -rf "${release_stage}"
mkdir -p "${release_stage}"

cp -R "${KUBE_REPO_ROOT}/cluster/saltbase" "${release_stage}/"
cp -R "${KUBE_ROOT}/cluster/saltbase" "${release_stage}/"

local package_name="${RELEASE_DIR}/kubernetes-salt.tar.gz"
tar czf "${package_name}" -C "${release_stage}/.." .
Expand All @@ -396,20 +395,20 @@ function kube::release::package_full_tarball() {

# We want everything in /cluster except saltbase. That is only needed on the
# server.
cp -R "${KUBE_REPO_ROOT}/cluster" "${release_stage}/"
cp -R "${KUBE_ROOT}/cluster" "${release_stage}/"
rm -rf "${release_stage}/cluster/saltbase"

mkdir -p "${release_stage}/server"
cp "${RELEASE_DIR}/kubernetes-salt.tar.gz" "${release_stage}/server/"
cp "${RELEASE_DIR}"/kubernetes-server-*.tar.gz "${release_stage}/server/"

mkdir -p "${release_stage}/third_party"
cp -R "${KUBE_REPO_ROOT}/third_party/htpasswd" "${release_stage}/third_party/htpasswd"
cp -R "${KUBE_ROOT}/third_party/htpasswd" "${release_stage}/third_party/htpasswd"

cp -R "${KUBE_REPO_ROOT}/examples" "${release_stage}/"
cp "${KUBE_REPO_ROOT}/README.md" "${release_stage}/"
cp "${KUBE_REPO_ROOT}/LICENSE" "${release_stage}/"
cp "${KUBE_REPO_ROOT}/Vagrantfile" "${release_stage}/"
cp -R "${KUBE_ROOT}/examples" "${release_stage}/"
cp "${KUBE_ROOT}/README.md" "${release_stage}/"
cp "${KUBE_ROOT}/LICENSE" "${release_stage}/"
cp "${KUBE_ROOT}/Vagrantfile" "${release_stage}/"

local package_name="${RELEASE_DIR}/kubernetes.tar.gz"
tar czf "${package_name}" -C "${release_stage}/.." .
Expand Down
3 changes: 2 additions & 1 deletion build/copy-output.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
# This is a no-op on Linux when the Docker daemon is local. This is only
# necessary on Mac OS X with boot2docker.

source $(dirname "${BASH_SOURCE}")/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "$KUBE_ROOT/build/common.sh"

kube::build::verify_prereqs
kube::build::copy_output
3 changes: 2 additions & 1 deletion build/make-binaries.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
# This makes the docker build image, builds the binaries and copies them out
# of the docker container.

source $(dirname "${BASH_SOURCE}")/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "$KUBE_ROOT/build/common.sh"

kube::build::verify_prereqs
kube::build::build_image
Expand Down
3 changes: 2 additions & 1 deletion build/make-build-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
# directory. It will then copy over the Dockerfile and build the kube-build
# image.

source $(dirname "${BASH_SOURCE}")/common.sh
KUBE_ROOT="$(dirname "${BASH_SOURCE}")/.."
source "$KUBE_ROOT/build/common.sh"

kube::build::verify_prereqs
kube::build::build_image
3 changes: 2 additions & 1 deletion build/make-clean.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@

# Clean out the output directory on the docker host.

source $(dirname "${BASH_SOURCE}")/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "$KUBE_ROOT/build/common.sh"

kube::build::verify_prereqs
kube::build::clean_output
Expand Down
3 changes: 2 additions & 1 deletion build/make-cross.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
# This makes the docker build image, builds the cross binaries and copies them
# out of the docker container.

source $(dirname "${BASH_SOURCE}")/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "$KUBE_ROOT/build/common.sh"

kube::build::verify_prereqs
kube::build::build_image
Expand Down
3 changes: 2 additions & 1 deletion build/make-run-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
# This script will make the 'run image' after building all of the necessary
# binaries.

source $(dirname "${BASH_SOURCE}")/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "$KUBE_ROOT/build/common.sh"

kube::build::verify_prereqs
kube::build::build_image
Expand Down
3 changes: 2 additions & 1 deletion build/release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@
# images and other build artifacts. All intermediate artifacts will be hosted
# publicly on Google Cloud Storage currently.

source $(dirname "${BASH_SOURCE}")/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "$KUBE_ROOT/build/common.sh"

kube::build::verify_prereqs
kube::build::build_image
Expand Down
3 changes: 2 additions & 1 deletion build/run-integration.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@

# Run the integration test.

source $(dirname "${BASH_SOURCE}")/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "$KUBE_ROOT/build/common.sh"

kube::build::verify_prereqs
kube::build::build_image
Expand Down
3 changes: 2 additions & 1 deletion build/run-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@

# Run all of the golang unit tests.

source $(dirname "${BASH_SOURCE}")/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "$KUBE_ROOT/build/common.sh"

kube::build::verify_prereqs
kube::build::build_image
Expand Down
3 changes: 2 additions & 1 deletion build/shell.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@
#
# This container will have a snapshot of the current sources.

source $(dirname "${BASH_SOURCE}")/common.sh
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "$KUBE_ROOT/build/common.sh"

kube::build::verify_prereqs
kube::build::build_image
Expand Down
36 changes: 16 additions & 20 deletions cluster/gce/util.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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."
Expand All @@ -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"
Expand Down Expand Up @@ -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
Expand All @@ -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")

Expand Down Expand Up @@ -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}\
Expand All @@ -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 \
Expand Down Expand Up @@ -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"
Expand All @@ -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
Expand Down Expand Up @@ -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
}
5 changes: 3 additions & 2 deletions cluster/kube-down.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
7 changes: 4 additions & 3 deletions cluster/kube-push.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Loading

0 comments on commit d43a6ec

Please sign in to comment.