mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Support different image during GCE node upgrade
This commit is contained in:
parent
853fcc393e
commit
3b5bf39cfa
@ -18,6 +18,7 @@ package framework
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
"time"
|
||||
@ -66,8 +67,7 @@ var NodeUpgrade = func(f *Framework, v string, img string) error {
|
||||
var err error
|
||||
switch TestContext.Provider {
|
||||
case "gce":
|
||||
// TODO(maisem): add GCE support for upgrading to different images.
|
||||
err = nodeUpgradeGCE(v)
|
||||
err = nodeUpgradeGCE(v, img)
|
||||
case "gke":
|
||||
err = nodeUpgradeGKE(v, img)
|
||||
default:
|
||||
@ -88,8 +88,13 @@ var NodeUpgrade = func(f *Framework, v string, img string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func nodeUpgradeGCE(rawV string) error {
|
||||
func nodeUpgradeGCE(rawV, img string) error {
|
||||
v := "v" + rawV
|
||||
if img != "" {
|
||||
env := append(os.Environ(), "KUBE_NODE_OS_DISTRIBUTION="+img)
|
||||
_, _, err := RunCmdEnv(env, path.Join(TestContext.RepoRoot, "cluster/gce/upgrade.sh"), "-N", "-o", v)
|
||||
return err
|
||||
}
|
||||
_, _, err := RunCmd(path.Join(TestContext.RepoRoot, "cluster/gce/upgrade.sh"), "-N", v)
|
||||
return err
|
||||
}
|
||||
|
@ -4846,6 +4846,13 @@ func GetPodsInNamespace(c clientset.Interface, ns string, ignoreLabels map[strin
|
||||
// RunCmd runs cmd using args and returns its stdout and stderr. It also outputs
|
||||
// cmd's stdout and stderr to their respective OS streams.
|
||||
func RunCmd(command string, args ...string) (string, string, error) {
|
||||
return RunCmdEnv(nil, command, args...)
|
||||
}
|
||||
|
||||
// RunCmdEnv runs cmd with the provided environment and args and
|
||||
// returns its stdout and stderr. It also outputs cmd's stdout and
|
||||
// stderr to their respective OS streams.
|
||||
func RunCmdEnv(env []string, command string, args ...string) (string, string, error) {
|
||||
Logf("Running %s %v", command, args)
|
||||
var bout, berr bytes.Buffer
|
||||
cmd := exec.Command(command, args...)
|
||||
@ -4856,6 +4863,7 @@ func RunCmd(command string, args ...string) (string, string, error) {
|
||||
// newlines.
|
||||
cmd.Stdout = io.MultiWriter(os.Stdout, &bout)
|
||||
cmd.Stderr = io.MultiWriter(os.Stderr, &berr)
|
||||
cmd.Env = env
|
||||
err := cmd.Run()
|
||||
stdout, stderr := bout.String(), berr.String()
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user