From 2c51e037595c29f61cd088316cf779677afc305a Mon Sep 17 00:00:00 2001 From: Filip Grzadkowski Date: Fri, 5 Feb 2016 15:41:04 +0100 Subject: [PATCH] Switch to k8s.production.user@gmail.com for pushing docker images during the release. Fixes #19623 --- build/common.sh | 17 +++++++++++++++++ build/push-official-release.sh | 5 +++++ 2 files changed, 22 insertions(+) diff --git a/build/common.sh b/build/common.sh index ed8a9cb10df..849e62119c9 100755 --- a/build/common.sh +++ b/build/common.sh @@ -1479,6 +1479,10 @@ function kube::release::docker::release() { docker_push_cmd=("gcloud" "docker") fi + if [[ "${KUBE_DOCKER_REGISTRY}" == "gcr.io/google_containers" ]]; then + # Activate credentials for the k8s.production.user@gmail.com + gcloud config set account k8s.production.user@gmail.com + fi for arch in "${archs[@]}"; do for binary in "${binaries[@]}"; do local docker_target="${KUBE_DOCKER_REGISTRY}/${binary}-${arch}:${KUBE_DOCKER_IMAGE_TAG}" @@ -1486,4 +1490,17 @@ function kube::release::docker::release() { "${docker_push_cmd[@]}" push "${docker_target}" done done + if [[ "${KUBE_DOCKER_REGISTRY}" == "gcr.io/google_containers" ]]; then + # Activate default account + gcloud config set account ${USER}@google.com + fi +} + +function kube::release::has_gcloud_account() { + local -r account="${1-}" + if [[ -n $(gcloud auth list --filter-account $account 2>/dev/null) ]]; then + return 0 + else + return 1 + fi } diff --git a/build/push-official-release.sh b/build/push-official-release.sh index 47caa1c734a..14699b26db6 100755 --- a/build/push-official-release.sh +++ b/build/push-official-release.sh @@ -45,6 +45,11 @@ 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" + return 1 +fi + kube::release::parse_and_validate_release_version "${KUBE_RELEASE_VERSION}" kube::release::gcs::release kube::release::docker::release