mirror of
https://git.vectorsigma.ru/public/k3s.git
synced 2026-07-29 01:19:33 +00:00
Add E2E AllNodes helper function
Signed-off-by: Derek Nola <derek.nola@suse.com>
This commit is contained in:
@@ -183,9 +183,9 @@ var _ = AfterEach(func() {
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
if failed {
|
||||
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, append(tc.Servers, tc.Agents...)))
|
||||
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, tc.AllNodes()))
|
||||
} else {
|
||||
Expect(e2e.GetCoverageReport(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
|
||||
}
|
||||
if !failed || *ci {
|
||||
Expect(e2e.DestroyCluster()).To(Succeed())
|
||||
|
||||
@@ -132,9 +132,9 @@ var _ = AfterEach(func() {
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
if failed {
|
||||
Expect(e2e.SaveJournalLogs(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.SaveJournalLogs(tc.AllNodes())).To(Succeed())
|
||||
} else {
|
||||
Expect(e2e.GetCoverageReport(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
|
||||
}
|
||||
if !failed || *ci {
|
||||
Expect(e2e.DestroyCluster()).To(Succeed())
|
||||
|
||||
@@ -151,9 +151,9 @@ var _ = AfterEach(func() {
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
if failed {
|
||||
Expect(e2e.SaveJournalLogs(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.SaveJournalLogs(tc.AllNodes())).To(Succeed())
|
||||
} else {
|
||||
Expect(e2e.GetCoverageReport(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
|
||||
}
|
||||
if !failed || *ci {
|
||||
Expect(e2e.DestroyCluster()).To(Succeed())
|
||||
|
||||
@@ -137,9 +137,9 @@ var _ = AfterEach(func() {
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
if failed {
|
||||
Expect(e2e.SaveJournalLogs(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.SaveJournalLogs(tc.AllNodes())).To(Succeed())
|
||||
} else {
|
||||
Expect(e2e.GetCoverageReport(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
|
||||
}
|
||||
if !failed || *ci {
|
||||
r1, err := tc.Servers[0].RunCmdOnNode("docker rm -f registry")
|
||||
|
||||
@@ -115,9 +115,9 @@ var _ = AfterEach(func() {
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
if failed {
|
||||
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, append(tc.Servers, tc.Agents...)))
|
||||
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, tc.AllNodes()))
|
||||
} else {
|
||||
Expect(e2e.GetCoverageReport(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
|
||||
}
|
||||
if !failed || *ci {
|
||||
Expect(e2e.DestroyCluster()).To(Succeed())
|
||||
|
||||
@@ -161,9 +161,9 @@ var _ = AfterEach(func() {
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
if failed {
|
||||
Expect(e2e.SaveJournalLogs(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.SaveJournalLogs(tc.AllNodes())).To(Succeed())
|
||||
} else {
|
||||
Expect(e2e.GetCoverageReport(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
|
||||
}
|
||||
if !failed || *ci {
|
||||
Expect(e2e.DestroyCluster()).To(Succeed())
|
||||
|
||||
@@ -105,7 +105,7 @@ var _ = Describe("Various Startup Configurations", Ordered, func() {
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
}
|
||||
supervisorPortYAML := "supervisor-port: 9345\napiserver-port: 6443\napiserver-bind-address: 0.0.0.0\ndisable: traefik\nnode-taint: node-role.kubernetes.io/control-plane:NoExecute"
|
||||
err := StartK3sCluster(append(tc.Servers, tc.Agents...), supervisorPortYAML, "")
|
||||
err := StartK3sCluster(tc.AllNodes(), supervisorPortYAML, "")
|
||||
Expect(err).NotTo(HaveOccurred(), e2e.GetVagrantLog(err))
|
||||
|
||||
By("CLUSTER CONFIG")
|
||||
@@ -160,13 +160,13 @@ var _ = Describe("Various Startup Configurations", Ordered, func() {
|
||||
})
|
||||
|
||||
It("Kills the cluster", func() {
|
||||
err := KillK3sCluster(append(tc.Servers, tc.Agents...))
|
||||
err := KillK3sCluster(tc.AllNodes())
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
})
|
||||
})
|
||||
Context("Verify kubelet config file", func() {
|
||||
It("Starts K3s with no issues", func() {
|
||||
for _, node := range append(tc.Servers, tc.Agents...) {
|
||||
for _, node := range tc.AllNodes() {
|
||||
cmd := "mkdir -p --mode=0777 /tmp/kubelet.conf.d; echo 'apiVersion: kubelet.config.k8s.io/v1beta1\nkind: KubeletConfiguration\nshutdownGracePeriod: 19s\nshutdownGracePeriodCriticalPods: 13s' > /tmp/kubelet.conf.d/99-shutdownGracePeriod.conf"
|
||||
res, err := node.RunCmdOnNode(cmd)
|
||||
By("checking command results: " + res)
|
||||
@@ -174,7 +174,7 @@ var _ = Describe("Various Startup Configurations", Ordered, func() {
|
||||
}
|
||||
|
||||
kubeletConfigDirYAML := "kubelet-arg: config-dir=/tmp/kubelet.conf.d"
|
||||
err := StartK3sCluster(append(tc.Servers, tc.Agents...), kubeletConfigDirYAML, kubeletConfigDirYAML)
|
||||
err := StartK3sCluster(tc.AllNodes(), kubeletConfigDirYAML, kubeletConfigDirYAML)
|
||||
Expect(err).NotTo(HaveOccurred(), e2e.GetVagrantLog(err))
|
||||
|
||||
By("CLUSTER CONFIG")
|
||||
@@ -203,21 +203,21 @@ var _ = Describe("Various Startup Configurations", Ordered, func() {
|
||||
})
|
||||
|
||||
It("Returns kubelet configuration", func() {
|
||||
for _, node := range append(tc.Servers, tc.Agents...) {
|
||||
for _, node := range tc.AllNodes() {
|
||||
cmd := "kubectl get --raw /api/v1/nodes/" + node.String() + "/proxy/configz"
|
||||
Expect(e2e.RunCommand(cmd)).To(ContainSubstring(`"shutdownGracePeriod":"19s","shutdownGracePeriodCriticalPods":"13s"`))
|
||||
}
|
||||
})
|
||||
|
||||
It("Kills the cluster", func() {
|
||||
err := KillK3sCluster(append(tc.Servers, tc.Agents...))
|
||||
err := KillK3sCluster(tc.AllNodes())
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
})
|
||||
})
|
||||
Context("Verify CRI-Dockerd", func() {
|
||||
It("Starts K3s with no issues", func() {
|
||||
dockerYAML := "docker: true"
|
||||
err := StartK3sCluster(append(tc.Servers, tc.Agents...), dockerYAML, dockerYAML)
|
||||
err := StartK3sCluster(tc.AllNodes(), dockerYAML, dockerYAML)
|
||||
Expect(err).NotTo(HaveOccurred(), e2e.GetVagrantLog(err))
|
||||
|
||||
By("CLUSTER CONFIG")
|
||||
@@ -246,14 +246,14 @@ var _ = Describe("Various Startup Configurations", Ordered, func() {
|
||||
e2e.DumpPods(tc.KubeconfigFile)
|
||||
})
|
||||
It("Kills the cluster", func() {
|
||||
err := KillK3sCluster(append(tc.Servers, tc.Agents...))
|
||||
err := KillK3sCluster(tc.AllNodes())
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
})
|
||||
})
|
||||
Context("Verify prefer-bundled-bin flag", func() {
|
||||
It("Starts K3s with no issues", func() {
|
||||
preferBundledYAML := "prefer-bundled-bin: true"
|
||||
err := StartK3sCluster(append(tc.Servers, tc.Agents...), preferBundledYAML, preferBundledYAML)
|
||||
err := StartK3sCluster(tc.AllNodes(), preferBundledYAML, preferBundledYAML)
|
||||
Expect(err).NotTo(HaveOccurred(), e2e.GetVagrantLog(err))
|
||||
|
||||
By("CLUSTER CONFIG")
|
||||
@@ -282,14 +282,14 @@ var _ = Describe("Various Startup Configurations", Ordered, func() {
|
||||
e2e.DumpPods(tc.KubeconfigFile)
|
||||
})
|
||||
It("Kills the cluster", func() {
|
||||
err := KillK3sCluster(append(tc.Servers, tc.Agents...))
|
||||
err := KillK3sCluster(tc.AllNodes())
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
})
|
||||
})
|
||||
Context("Verify disable-agent and egress-selector-mode flags", func() {
|
||||
It("Starts K3s with no issues", func() {
|
||||
disableAgentYAML := "disable-agent: true\negress-selector-mode: cluster"
|
||||
err := StartK3sCluster(append(tc.Servers, tc.Agents...), disableAgentYAML, "")
|
||||
err := StartK3sCluster(tc.AllNodes(), disableAgentYAML, "")
|
||||
Expect(err).NotTo(HaveOccurred(), e2e.GetVagrantLog(err))
|
||||
|
||||
By("CLUSTER CONFIG")
|
||||
@@ -345,7 +345,7 @@ var _ = Describe("Various Startup Configurations", Ordered, func() {
|
||||
})
|
||||
|
||||
It("Kills the cluster", func() {
|
||||
err := KillK3sCluster(append(tc.Servers, tc.Agents...))
|
||||
err := KillK3sCluster(tc.AllNodes())
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
})
|
||||
})
|
||||
@@ -361,7 +361,7 @@ var _ = Describe("Various Startup Configurations", Ordered, func() {
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
})
|
||||
It("Starts K3s with no issues", func() {
|
||||
err := StartK3sCluster(append(tc.Servers, tc.Agents...), "", "")
|
||||
err := StartK3sCluster(tc.AllNodes(), "", "")
|
||||
Expect(err).NotTo(HaveOccurred(), e2e.GetVagrantLog(err))
|
||||
|
||||
By("CLUSTER CONFIG")
|
||||
@@ -377,14 +377,14 @@ var _ = Describe("Various Startup Configurations", Ordered, func() {
|
||||
}, "120s", "5s").Should(ContainSubstring("ranchertest/mytestcontainer"))
|
||||
})
|
||||
It("Kills the cluster", func() {
|
||||
err := KillK3sCluster(append(tc.Servers, tc.Agents...))
|
||||
err := KillK3sCluster(tc.AllNodes())
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
})
|
||||
})
|
||||
Context("Verify server fails to start with bootstrap token", func() {
|
||||
It("Fails to start with a meaningful error", func() {
|
||||
tokenYAML := "token: aaaaaa.bbbbbbbbbbbbbbbb"
|
||||
err := StartK3sCluster(append(tc.Servers, tc.Agents...), tokenYAML, tokenYAML)
|
||||
err := StartK3sCluster(tc.AllNodes(), tokenYAML, tokenYAML)
|
||||
Expect(err).To(HaveOccurred())
|
||||
Eventually(func(g Gomega) {
|
||||
logs, err := tc.Servers[0].GetJournalLogs()
|
||||
@@ -394,7 +394,7 @@ var _ = Describe("Various Startup Configurations", Ordered, func() {
|
||||
|
||||
})
|
||||
It("Kills the cluster", func() {
|
||||
err := KillK3sCluster(append(tc.Servers, tc.Agents...))
|
||||
err := KillK3sCluster(tc.AllNodes())
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
})
|
||||
})
|
||||
@@ -407,10 +407,10 @@ var _ = AfterEach(func() {
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
if failed {
|
||||
AddReportEntry("config", e2e.GetConfig(append(tc.Servers, tc.Agents...)))
|
||||
Expect(e2e.SaveJournalLogs(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
AddReportEntry("config", e2e.GetConfig(tc.AllNodes()))
|
||||
Expect(e2e.SaveJournalLogs(tc.AllNodes())).To(Succeed())
|
||||
} else {
|
||||
Expect(e2e.GetCoverageReport(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
|
||||
}
|
||||
if !failed || *ci {
|
||||
Expect(e2e.DestroyCluster()).To(Succeed())
|
||||
|
||||
@@ -350,9 +350,9 @@ var _ = AfterEach(func() {
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
if failed {
|
||||
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, append(tc.Servers, tc.Agents...)))
|
||||
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, tc.AllNodes()))
|
||||
} else {
|
||||
Expect(e2e.GetCoverageReport(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
|
||||
}
|
||||
if !failed || *ci {
|
||||
Expect(e2e.DestroyCluster()).To(Succeed())
|
||||
|
||||
@@ -96,7 +96,7 @@ var _ = Describe("Verify Tailscale Configuration", Ordered, func() {
|
||||
It("Verify routing is correct and uses tailscale0 interface for internode traffic", func() {
|
||||
// table 52 is the one configured by tailscale
|
||||
cmd := "ip route show table 52"
|
||||
for _, node := range append(tc.Servers, tc.Agents...) {
|
||||
for _, node := range tc.AllNodes() {
|
||||
output, err := node.RunCmdOnNode(cmd)
|
||||
fmt.Println(err)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
@@ -113,9 +113,9 @@ var _ = AfterEach(func() {
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
if failed {
|
||||
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, append(tc.Servers, tc.Agents...)))
|
||||
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, tc.AllNodes()))
|
||||
} else {
|
||||
Expect(e2e.GetCoverageReport(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
|
||||
}
|
||||
if !failed || *ci {
|
||||
Expect(e2e.DestroyCluster()).To(Succeed())
|
||||
|
||||
@@ -41,6 +41,10 @@ type TestConfig struct {
|
||||
Agents []VagrantNode
|
||||
}
|
||||
|
||||
func (tc *TestConfig) AllNodes() []VagrantNode {
|
||||
return append(tc.Servers, tc.Agents...)
|
||||
}
|
||||
|
||||
func (tc *TestConfig) Status() string {
|
||||
sN := strings.Join(VagrantSlice(tc.Servers), " ")
|
||||
aN := strings.Join(VagrantSlice(tc.Agents), " ")
|
||||
|
||||
@@ -230,8 +230,8 @@ var _ = Describe("Verify Upgrade", Ordered, func() {
|
||||
|
||||
It("Upgrades with no issues", func() {
|
||||
var err error
|
||||
Expect(e2e.UpgradeCluster(append(tc.Servers, tc.Agents...), *local)).To(Succeed())
|
||||
Expect(e2e.RestartCluster(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.UpgradeCluster(tc.AllNodes(), *local)).To(Succeed())
|
||||
Expect(e2e.RestartCluster(tc.AllNodes())).To(Succeed())
|
||||
fmt.Println("CLUSTER UPGRADED")
|
||||
tc.KubeconfigFile, err = e2e.GenKubeconfigFile(tc.Servers[0].String())
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
@@ -352,9 +352,9 @@ var _ = AfterEach(func() {
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
if failed {
|
||||
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, append(tc.Servers, tc.Agents...)))
|
||||
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, tc.AllNodes()))
|
||||
} else {
|
||||
Expect(e2e.GetCoverageReport(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
|
||||
}
|
||||
if !failed || *ci {
|
||||
Expect(e2e.DestroyCluster()).To(Succeed())
|
||||
|
||||
@@ -258,7 +258,7 @@ var _ = Describe("Verify Create", Ordered, func() {
|
||||
|
||||
Context("Validate restart", func() {
|
||||
It("Restarts normally", func() {
|
||||
errRestart := e2e.RestartCluster(append(tc.Servers, tc.Agents...))
|
||||
errRestart := e2e.RestartCluster(tc.AllNodes())
|
||||
Expect(errRestart).NotTo(HaveOccurred(), "Restart Nodes not happened correctly")
|
||||
|
||||
Eventually(func(g Gomega) {
|
||||
@@ -350,9 +350,9 @@ var _ = AfterEach(func() {
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
if failed {
|
||||
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, append(tc.Servers, tc.Agents...)))
|
||||
AddReportEntry("journald-logs", e2e.TailJournalLogs(1000, tc.AllNodes()))
|
||||
} else {
|
||||
Expect(e2e.GetCoverageReport(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
|
||||
}
|
||||
if !failed || *ci {
|
||||
Expect(e2e.DestroyCluster()).To(Succeed())
|
||||
|
||||
@@ -66,7 +66,7 @@ var _ = Describe("Verify K3s can run Wasm workloads", Ordered, func() {
|
||||
|
||||
It("Verify wasm-related containerd shims are installed", func() {
|
||||
expected_shims := []string{"containerd-shim-spin-v2", "containerd-shim-slight-v1"}
|
||||
for _, node := range append(tc.Servers, tc.Agents...) {
|
||||
for _, node := range tc.AllNodes() {
|
||||
for _, shim := range expected_shims {
|
||||
cmd := fmt.Sprintf("which %s", shim)
|
||||
_, err := node.RunCmdOnNode(cmd)
|
||||
@@ -126,9 +126,9 @@ var _ = AfterEach(func() {
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
if failed {
|
||||
Expect(e2e.SaveJournalLogs(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.SaveJournalLogs(tc.AllNodes())).To(Succeed())
|
||||
} else {
|
||||
Expect(e2e.GetCoverageReport(append(tc.Servers, tc.Agents...))).To(Succeed())
|
||||
Expect(e2e.GetCoverageReport(tc.AllNodes())).To(Succeed())
|
||||
}
|
||||
if !failed || *ci {
|
||||
Expect(e2e.DestroyCluster()).To(Succeed())
|
||||
|
||||
Reference in New Issue
Block a user