Fix stomping os env in kubectl e2e tests

This commit is contained in:
Jordan Liggitt 2023-04-19 01:32:20 +02:00
parent d97ea0f705
commit 0c54d9af6f
No known key found for this signature in database
2 changed files with 11 additions and 7 deletions

View File

@ -22,6 +22,7 @@ import (
"io"
"net"
"net/url"
"os"
"os/exec"
"strings"
"syscall"
@ -48,9 +49,12 @@ func NewKubectlCommand(namespace string, args ...string) *KubectlBuilder {
return b
}
// WithEnv sets the given environment and returns itself.
func (b *KubectlBuilder) WithEnv(env []string) *KubectlBuilder {
b.cmd.Env = env
// WithEnv appends the given environment and returns itself.
func (b *KubectlBuilder) AppendEnv(env []string) *KubectlBuilder {
if b.cmd.Env == nil {
b.cmd.Env = os.Environ()
}
b.cmd.Env = append(b.cmd.Env, env...)
return b
}

View File

@ -487,7 +487,7 @@ var _ = SIGDescribe("Kubectl client", func() {
proxyLogs.Reset()
ginkgo.By("Running kubectl via an HTTP proxy using " + proxyVar)
output := e2ekubectl.NewKubectlCommand(ns, "exec", podRunningTimeoutArg, simplePodName, "--", "echo", "running", "in", "container").
WithEnv(append(os.Environ(), fmt.Sprintf("%s=%s", proxyVar, proxyAddr))).
AppendEnv(append(os.Environ(), fmt.Sprintf("%s=%s", proxyVar, proxyAddr))).
ExecOrDie(ns)
// Verify we got the normal output captured by the exec server
@ -868,7 +868,7 @@ metadata:
manifest1 = strings.ReplaceAll(manifest1, "{{ns}}", ns)
args := []string{"apply", "--prune", "--applyset=applyset1", "-f", "-"}
e2ekubectl.NewKubectlCommand(ns, args...).WithEnv([]string{"KUBECTL_APPLYSET=true"}).WithStdinData(manifest1).ExecOrDie(ns)
e2ekubectl.NewKubectlCommand(ns, args...).AppendEnv([]string{"KUBECTL_APPLYSET=true"}).WithStdinData(manifest1).ExecOrDie(ns)
framework.Logf("checking which objects exist")
objects := mustListObjectsInNamespace(ctx, c, ns)
@ -887,7 +887,7 @@ metadata:
`
manifest2 = strings.ReplaceAll(manifest2, "{{ns}}", ns)
e2ekubectl.NewKubectlCommand(ns, args...).WithEnv([]string{"KUBECTL_APPLYSET=true"}).WithStdinData(manifest2).ExecOrDie(ns)
e2ekubectl.NewKubectlCommand(ns, args...).AppendEnv([]string{"KUBECTL_APPLYSET=true"}).WithStdinData(manifest2).ExecOrDie(ns)
framework.Logf("checking which objects exist")
objects = mustListObjectsInNamespace(ctx, c, ns)
@ -897,7 +897,7 @@ metadata:
}
framework.Logf("applying manifest2 (again)")
e2ekubectl.NewKubectlCommand(ns, args...).WithEnv([]string{"KUBECTL_APPLYSET=true"}).WithStdinData(manifest2).ExecOrDie(ns)
e2ekubectl.NewKubectlCommand(ns, args...).AppendEnv([]string{"KUBECTL_APPLYSET=true"}).WithStdinData(manifest2).ExecOrDie(ns)
framework.Logf("checking which objects exist")
objects = mustListObjectsInNamespace(ctx, c, ns)