Merge pull request #24940 from ihmccreery/fix-release

Proper account checking and respect TMPDIR in release process
This commit is contained in:
Robert Bailey 2016-05-06 14:51:39 -07:00
commit d010c7d5d5
4 changed files with 10 additions and 7 deletions

View File

@ -1525,9 +1525,9 @@ function kube::release::docker::release() {
fi fi
} }
function kube::release::has_gcloud_account() { function kube::release::gcloud_account_is_active() {
local -r account="${1-}" 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 return 0
else else
return 1 return 1

View File

@ -38,6 +38,7 @@ KUBE_GCS_PUBLISH_VERSION="${KUBE_RELEASE_VERSION}"
KUBE_DOCKER_REGISTRY="gcr.io/google_containers" KUBE_DOCKER_REGISTRY="gcr.io/google_containers"
KUBE_DOCKER_IMAGE_TAG="${KUBE_RELEASE_VERSION}" KUBE_DOCKER_IMAGE_TAG="${KUBE_RELEASE_VERSION}"
KUBE_GCLOUD_PRODUCTION_ACCOUNT="k8s.production.user@gmail.com"
KUBE_ROOT="$(dirname "${BASH_SOURCE}")/.." KUBE_ROOT="$(dirname "${BASH_SOURCE}")/.."
source "${KUBE_ROOT}/build/common.sh" source "${KUBE_ROOT}/build/common.sh"
@ -47,8 +48,8 @@ if "${KUBE_ROOT}/cluster/kubectl.sh" 'version' | grep 'Client' | grep 'dirty'; t
exit 1 exit 1
fi fi
if ! kube::release::has_gcloud_account k8s.production.user@gmail.com; then if ! kube::release::gcloud_account_is_active "${KUBE_GCLOUD_PRODUCTION_ACCOUNT}"; then
kube::log::error "Pushing images to gcr.io/google_containers requires credentials for account k8s.production.user@gmail.com" kube::log::error "Pushing images to gcr.io/google_containers requires being logged in as ${KUBE_GCLOUD_PRODUCTION_ACCOUNT}"
return 1 return 1
fi fi

View File

@ -43,6 +43,7 @@ function sha1() {
declare -r KUBE_GITHUB="https://github.com/kubernetes/kubernetes.git" declare -r KUBE_GITHUB="https://github.com/kubernetes/kubernetes.git"
declare -r KUBE_RELEASE_VERSION=${1-} declare -r KUBE_RELEASE_VERSION=${1-}
declare -r TMPDIR=${TMPDIR:-"/tmp"}
declare -r KUBE_RELEASE_UMASK=${KUBE_RELEASE_UMASK:-022} 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]*))?$" 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" KUBE_RELEASE_TYPE="stable"
fi 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 # Set the default umask for the release. This ensures consistency
# across our release builds. # across our release builds.

View File

@ -92,11 +92,12 @@ function main() {
local -r release_umask=${release_umask:-022} local -r release_umask=${release_umask:-022}
umask "${release_umask}" umask "${release_umask}"
declare -r TMPDIR=${TMPDIR:-"/tmp"}
local -r github="https://github.com/kubernetes/kubernetes.git" 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. # 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 if $DRY_RUN; then
cat > "${INSTRUCTIONS}" <<- EOM cat > "${INSTRUCTIONS}" <<- EOM
Success on dry run! Do Success on dry run! Do