From a9c004640ecc42d0c9935597e1d3f712eaa33b5d Mon Sep 17 00:00:00 2001 From: Isaac Hollander McCreery Date: Thu, 28 Apr 2016 10:55:46 -0700 Subject: [PATCH 1/2] build/push-official-release.sh checks if proper account is active, not just present --- build/common.sh | 4 ++-- build/push-official-release.sh | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/build/common.sh b/build/common.sh index c83942e1e65..ca69acf7d7b 100755 --- a/build/common.sh +++ b/build/common.sh @@ -1516,9 +1516,9 @@ function kube::release::docker::release() { fi } -function kube::release::has_gcloud_account() { +function kube::release::gcloud_account_is_active() { local -r account="${1-}" - if [[ -n $(gcloud auth list --filter-account $account 2>/dev/null) ]]; then + if [[ -n $(gcloud auth list --filter-account $account 2>/dev/null | grep "active") ]]; then return 0 else return 1 diff --git a/build/push-official-release.sh b/build/push-official-release.sh index 5ef4ace5262..d73d4ab3a57 100755 --- a/build/push-official-release.sh +++ b/build/push-official-release.sh @@ -38,6 +38,7 @@ KUBE_GCS_PUBLISH_VERSION="${KUBE_RELEASE_VERSION}" KUBE_DOCKER_REGISTRY="gcr.io/google_containers" KUBE_DOCKER_IMAGE_TAG="${KUBE_RELEASE_VERSION}" +KUBE_GCLOUD_PRODUCTION_ACCOUNT="k8s.production.user@gmail.com" KUBE_ROOT="$(dirname "${BASH_SOURCE}")/.." source "${KUBE_ROOT}/build/common.sh" @@ -47,8 +48,8 @@ if "${KUBE_ROOT}/cluster/kubectl.sh" 'version' | grep 'Client' | grep 'dirty'; t exit 1 fi -if ! kube::release::has_gcloud_account k8s.production.user@gmail.com; then - kube::log::error "Pushing images to gcr.io/google_containers requires credentials for account k8s.production.user@gmail.com" +if ! kube::release::gcloud_account_is_active "${KUBE_GCLOUD_PRODUCTION_ACCOUNT}"; then + kube::log::error "Pushing images to gcr.io/google_containers requires being logged in as ${KUBE_GCLOUD_PRODUCTION_ACCOUNT}" return 1 fi From 2ba635b2cddf7e4ede7d986873a544be9af9e287 Mon Sep 17 00:00:00 2001 From: Isaac Hollander McCreery Date: Thu, 28 Apr 2016 11:00:28 -0700 Subject: [PATCH 2/2] release scripts respect TMPDIR --- release/build-official-release.sh | 3 ++- release/cut-official-release.sh | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/release/build-official-release.sh b/release/build-official-release.sh index 672121551a0..0e888bb5baf 100755 --- a/release/build-official-release.sh +++ b/release/build-official-release.sh @@ -43,6 +43,7 @@ function sha1() { declare -r KUBE_GITHUB="https://github.com/kubernetes/kubernetes.git" declare -r KUBE_RELEASE_VERSION=${1-} +declare -r TMPDIR=${TMPDIR:-"/tmp"} declare -r KUBE_RELEASE_UMASK=${KUBE_RELEASE_UMASK:-022} VERSION_REGEX="^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(-(beta|alpha)\\.(0|[1-9][0-9]*))?$" @@ -65,7 +66,7 @@ else KUBE_RELEASE_TYPE="stable" fi -declare -r KUBE_BUILD_DIR=$(mktemp -d "/tmp/kubernetes-build-release-${KUBE_RELEASE_VERSION}-XXXXXXX") +declare -r KUBE_BUILD_DIR=$(mktemp -d "${TMPDIR}/kubernetes-build-release-${KUBE_RELEASE_VERSION}-XXXXXXX") # Set the default umask for the release. This ensures consistency # across our release builds. diff --git a/release/cut-official-release.sh b/release/cut-official-release.sh index 68e712c5b29..9f101d88d6c 100755 --- a/release/cut-official-release.sh +++ b/release/cut-official-release.sh @@ -92,11 +92,12 @@ function main() { local -r release_umask=${release_umask:-022} umask "${release_umask}" + declare -r TMPDIR=${TMPDIR:-"/tmp"} local -r github="https://github.com/kubernetes/kubernetes.git" - declare -r DIR=$(mktemp -d "/tmp/kubernetes-${release_type}-release-${new_version}-XXXXXXX") + declare -r DIR=$(mktemp -d "${TMPDIR}/kubernetes-${release_type}-release-${new_version}-XXXXXXX") # Start a tmp file that will hold instructions for the user. - declare -r INSTRUCTIONS=$(mktemp "/tmp/kubernetes-${release_type}-release-${new_version}-instructions-XXXXXXX") + declare -r INSTRUCTIONS=$(mktemp "${TMPDIR}/kubernetes-${release_type}-release-${new_version}-instructions-XXXXXXX") if $DRY_RUN; then cat > "${INSTRUCTIONS}" <<- EOM Success on dry run! Do