Merge pull request #21827 from spxtr/upgrade-subgroup

Auto commit by PR queue bot
This commit is contained in:
k8s-merge-robot 2016-03-01 05:29:47 -08:00
commit a40f8fb4d8
2 changed files with 5 additions and 31 deletions

View File

@ -224,16 +224,9 @@ function do-node-upgrade() {
# Do the actual upgrade. # Do the actual upgrade.
# NOTE(zmerlynn): If you are changing this gcloud command, update # NOTE(zmerlynn): If you are changing this gcloud command, update
# test/e2e/cluster_upgrade.go to match this EXACTLY. # test/e2e/cluster_upgrade.go to match this EXACTLY.
# TODO(zmerlynn): Remove this hack on July 29, 2015, when the migration to
# `gcloud alpha compute rolling-updates` is complete.
local subgroup="preview"
local exists=$(gcloud ${subgroup} rolling-updates -h &>/dev/null; echo $?) || true
if [[ "${exists}" != "0" ]]; then
subgroup="alpha compute"
fi
local template_name=$(get-template-name-from-version ${SANITIZED_VERSION}) local template_name=$(get-template-name-from-version ${SANITIZED_VERSION})
for group in ${INSTANCE_GROUPS[@]}; do for group in ${INSTANCE_GROUPS[@]}; do
gcloud ${subgroup} rolling-updates \ gcloud alpha compute rolling-updates \
--project="${PROJECT}" \ --project="${PROJECT}" \
--zone="${ZONE}" \ --zone="${ZONE}" \
start \ start \

View File

@ -494,7 +494,7 @@ func migRollingUpdateStart(templ string, nt time.Duration) (string, error) {
// NOTE(mikedanese): If you are changing this gcloud command, update // NOTE(mikedanese): If you are changing this gcloud command, update
// cluster/gce/upgrade.sh to match this EXACTLY. // cluster/gce/upgrade.sh to match this EXACTLY.
// A `rolling-updates start` call outputs what we want to stderr. // A `rolling-updates start` call outputs what we want to stderr.
_, output, err := retryCmd("gcloud", append(migUpdateCmdBase(), _, output, err := retryCmd("gcloud", "alpha", "compute",
"rolling-updates", "rolling-updates",
fmt.Sprintf("--project=%s", testContext.CloudConfig.ProjectID), fmt.Sprintf("--project=%s", testContext.CloudConfig.ProjectID),
fmt.Sprintf("--zone=%s", testContext.CloudConfig.Zone), fmt.Sprintf("--zone=%s", testContext.CloudConfig.Zone),
@ -508,7 +508,7 @@ func migRollingUpdateStart(templ string, nt time.Duration) (string, error) {
// --max-num-concurrent-instances. // --max-num-concurrent-instances.
fmt.Sprintf("--max-num-concurrent-instances=%d", 1), fmt.Sprintf("--max-num-concurrent-instances=%d", 1),
fmt.Sprintf("--max-num-failed-instances=%d", 0), fmt.Sprintf("--max-num-failed-instances=%d", 0),
fmt.Sprintf("--min-instance-update-time=%ds", 0))...) fmt.Sprintf("--min-instance-update-time=%ds", 0))
if err != nil { if err != nil {
errLast = fmt.Errorf("rolling-updates call failed with err: %v", err) errLast = fmt.Errorf("rolling-updates call failed with err: %v", err)
return false, nil return false, nil
@ -536,25 +536,6 @@ func migRollingUpdateStart(templ string, nt time.Duration) (string, error) {
return id, nil return id, nil
} }
// migUpdateCmdBase gets the base of the MIG rolling update command--i.e., all
// pieces of the gcloud command that come after "gcloud" but before
// "rolling-updates". Examples of returned values are:
//
// {preview"}
//
// {"alpha", "compute"}
//
// TODO(mikedanese): Remove this hack on July 29, 2015 when the migration to
// `gcloud alpha compute rolling-updates` is complete.
func migUpdateCmdBase() []string {
b := []string{"preview"}
a := []string{"rolling-updates", "-h"}
if err := exec.Command("gcloud", append(b, a...)...).Run(); err != nil {
b = []string{"alpha", "compute"}
}
return b
}
// migRollingUpdatePoll (CKE/GKE-only) polls the progress of the MIG rolling // migRollingUpdatePoll (CKE/GKE-only) polls the progress of the MIG rolling
// update with ID id until it is complete. It returns an error if this takes // update with ID id until it is complete. It returns an error if this takes
// longer than nt times the number of nodes. // longer than nt times the number of nodes.
@ -566,12 +547,12 @@ func migRollingUpdatePoll(id string, nt time.Duration) error {
Logf("Waiting up to %v for MIG rolling update to complete.", timeout) Logf("Waiting up to %v for MIG rolling update to complete.", timeout)
if wait.Poll(restartPoll, timeout, func() (bool, error) { if wait.Poll(restartPoll, timeout, func() (bool, error) {
// A `rolling-updates describe` call outputs what we want to stdout. // A `rolling-updates describe` call outputs what we want to stdout.
output, _, err := retryCmd("gcloud", append(migUpdateCmdBase(), output, _, err := retryCmd("gcloud", "alpha", "compute",
"rolling-updates", "rolling-updates",
fmt.Sprintf("--project=%s", testContext.CloudConfig.ProjectID), fmt.Sprintf("--project=%s", testContext.CloudConfig.ProjectID),
fmt.Sprintf("--zone=%s", testContext.CloudConfig.Zone), fmt.Sprintf("--zone=%s", testContext.CloudConfig.Zone),
"describe", "describe",
id)...) id)
if err != nil { if err != nil {
errLast = fmt.Errorf("Error calling rolling-updates describe %s: %v", id, err) errLast = fmt.Errorf("Error calling rolling-updates describe %s: %v", id, err)
Logf("%v", errLast) Logf("%v", errLast)