mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 12:43:23 +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 (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@ -66,8 +67,7 @@ var NodeUpgrade = func(f *Framework, v string, img string) error {
|
|||||||
var err error
|
var err error
|
||||||
switch TestContext.Provider {
|
switch TestContext.Provider {
|
||||||
case "gce":
|
case "gce":
|
||||||
// TODO(maisem): add GCE support for upgrading to different images.
|
err = nodeUpgradeGCE(v, img)
|
||||||
err = nodeUpgradeGCE(v)
|
|
||||||
case "gke":
|
case "gke":
|
||||||
err = nodeUpgradeGKE(v, img)
|
err = nodeUpgradeGKE(v, img)
|
||||||
default:
|
default:
|
||||||
@ -88,8 +88,13 @@ var NodeUpgrade = func(f *Framework, v string, img string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func nodeUpgradeGCE(rawV string) error {
|
func nodeUpgradeGCE(rawV, img string) error {
|
||||||
v := "v" + rawV
|
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)
|
_, _, err := RunCmd(path.Join(TestContext.RepoRoot, "cluster/gce/upgrade.sh"), "-N", v)
|
||||||
return err
|
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
|
// RunCmd runs cmd using args and returns its stdout and stderr. It also outputs
|
||||||
// cmd's stdout and stderr to their respective OS streams.
|
// cmd's stdout and stderr to their respective OS streams.
|
||||||
func RunCmd(command string, args ...string) (string, string, error) {
|
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)
|
Logf("Running %s %v", command, args)
|
||||||
var bout, berr bytes.Buffer
|
var bout, berr bytes.Buffer
|
||||||
cmd := exec.Command(command, args...)
|
cmd := exec.Command(command, args...)
|
||||||
@ -4856,6 +4863,7 @@ func RunCmd(command string, args ...string) (string, string, error) {
|
|||||||
// newlines.
|
// newlines.
|
||||||
cmd.Stdout = io.MultiWriter(os.Stdout, &bout)
|
cmd.Stdout = io.MultiWriter(os.Stdout, &bout)
|
||||||
cmd.Stderr = io.MultiWriter(os.Stderr, &berr)
|
cmd.Stderr = io.MultiWriter(os.Stderr, &berr)
|
||||||
|
cmd.Env = env
|
||||||
err := cmd.Run()
|
err := cmd.Run()
|
||||||
stdout, stderr := bout.String(), berr.String()
|
stdout, stderr := bout.String(), berr.String()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user