Skip to content

Commit 7af0823

Browse files
committed
Expand E2E test matrix to cover all possible tests that fit on GHA
Signed-off-by: Derek Nola <[email protected]>
1 parent 9c0871a commit 7af0823

File tree

4 files changed

+40
-48
lines changed

4 files changed

+40
-48
lines changed

.github/workflows/e2e.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ jobs:
4545
strategy:
4646
fail-fast: false
4747
matrix:
48-
etest: [startup, s3, btrfs, externalip, privateregistry, embeddedmirror, wasm]
49-
max-parallel: 3
48+
etest: [btrfs, embeddedmirror, externalip, privateregistry, rootless, s3, startup, svcpoliciesandfirewall, wasm]
49+
max-parallel: 5
5050
steps:
5151
- name: "Checkout"
5252
uses: actions/checkout@v4

tests/e2e/rootless/rootless_test.go

+37-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"flag"
55
"fmt"
66
"os"
7+
"strings"
78
"testing"
89

910
"github.com/k3s-io/k3s/tests"
@@ -153,7 +154,7 @@ var _ = AfterEach(func() {
153154

154155
var _ = AfterSuite(func() {
155156
if failed {
156-
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, tc.Servers))
157+
Expect(e2e.SaveJournalLogs(tc.Servers)).To(Succeed())
157158
} else {
158159
Expect(e2e.GetCoverageReport(tc.Servers)).To(Succeed())
159160
}
@@ -162,3 +163,38 @@ var _ = AfterSuite(func() {
162163
Expect(os.Remove(tc.KubeconfigFile)).To(Succeed())
163164
}
164165
})
166+
167+
// RunCmdOnRootlessNode executes a command from within the given node as user vagrant
168+
func RunCmdOnRootlessNode(cmd string, nodename string) (string, error) {
169+
injectEnv := ""
170+
if _, ok := os.LookupEnv("E2E_GOCOVER"); ok && strings.HasPrefix(cmd, "k3s") {
171+
injectEnv = "GOCOVERDIR=/tmp/k3scov "
172+
}
173+
runcmd := "vagrant ssh " + nodename + " -c \"" + injectEnv + cmd + "\""
174+
out, err := e2e.RunCommand(runcmd)
175+
if err != nil {
176+
return out, fmt.Errorf("failed to run command: %s on node %s: %s, %v", cmd, nodename, out, err)
177+
}
178+
return out, nil
179+
}
180+
181+
func GenRootlessKubeconfigFile(serverName string) (string, error) {
182+
kubeConfig, err := RunCmdOnRootlessNode("cat /home/vagrant/.kube/k3s.yaml", serverName)
183+
if err != nil {
184+
return "", err
185+
}
186+
vNode := e2e.VagrantNode(serverName)
187+
nodeIP, err := vNode.FetchNodeExternalIP()
188+
if err != nil {
189+
return "", err
190+
}
191+
kubeConfig = strings.Replace(kubeConfig, "127.0.0.1", nodeIP, 1)
192+
kubeConfigFile := fmt.Sprintf("kubeconfig-%s", serverName)
193+
if err := os.WriteFile(kubeConfigFile, []byte(kubeConfig), 0644); err != nil {
194+
return "", err
195+
}
196+
if err := os.Setenv("E2E_KUBECONFIG", kubeConfigFile); err != nil {
197+
return "", err
198+
}
199+
return kubeConfigFile, nil
200+
}

tests/e2e/rootless/rootless_utils.go

-44
This file was deleted.

tests/e2e/svcpoliciesandfirewall/svcpoliciesandfirewall_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ var _ = AfterEach(func() {
344344

345345
var _ = AfterSuite(func() {
346346
if failed {
347-
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, tc.AllNodes()))
347+
Expect(e2e.SaveJournalLogs(tc.AllNodes())).To(Succeed())
348348
} else {
349349
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
350350
}

0 commit comments

Comments
 (0)