Unverified Commit e050ca66 authored by Derek Nola's avatar Derek Nola Committed by GitHub

[Release-1.31] Fix upgrade test container version (#11999)

* Fix upgrade test container version Signed-off-by: 's avatarDerek Nola <derek.nola@suse.com> * Force docker test cleanup in CI Signed-off-by: 's avatarDerek Nola <derek.nola@suse.com> * Bump skew test timeout Signed-off-by: 's avatarDerek Nola <derek.nola@suse.com> --------- Signed-off-by: 's avatarDerek Nola <derek.nola@suse.com>
parent 0ffa790f
...@@ -26,25 +26,25 @@ export K3S_IMAGE="rancher/k3s:${VERSION_TAG}${SUFFIX}" ...@@ -26,25 +26,25 @@ export K3S_IMAGE="rancher/k3s:${VERSION_TAG}${SUFFIX}"
# Run all tests on tag events, as we want test failures to block the release # Run all tests on tag events, as we want test failures to block the release
if [ "$ARCH" == 'arm' ] || [ "$DRONE_BUILD_EVENT" = 'tag' ]; then if [ "$ARCH" == 'arm' ] || [ "$DRONE_BUILD_EVENT" = 'tag' ]; then
go test ./tests/docker/basics/basics_test.go -k3sImage="$K3S_IMAGE" go test ./tests/docker/basics/basics_test.go -k3sImage="$K3S_IMAGE" -ci
echo "Did go test basics $?" echo "Did go test basics $?"
# Extract v1.XX minor version for skew and upgrade tests # Extract v1.XX minor version for skew and upgrade tests
minor_version=$(echo $VERSION_K8S | cut -d '.' -f1,2) minor_version=$(echo $VERSION_K8S | cut -d '.' -f1,2)
go test ./tests/docker/cacerts/cacerts_test.go -k3sImage="$K3S_IMAGE" go test ./tests/docker/cacerts/cacerts_test.go -k3sImage="$K3S_IMAGE" -ci
echo "Did go test cacerts $?" echo "Did go test cacerts $?"
go test ./tests/docker/skew/skew_test.go -k3sImage="$K3S_IMAGE" -channel="$minor_version" go test ./tests/docker/skew/skew_test.go -k3sImage="$K3S_IMAGE" -channel="$minor_version" -ci
echo "Did go test skew $?" echo "Did go test skew $?"
go test ./tests/docker/bootstraptoken/bootstraptoken_test.go -k3sImage="$K3S_IMAGE" go test ./tests/docker/bootstraptoken/bootstraptoken_test.go -k3sImage="$K3S_IMAGE" -ci
echo "Did go test bootstraptoken $?" echo "Did go test bootstraptoken $?"
go test ./tests/docker/upgrade/upgrade_test.go -k3sImage="$K3S_IMAGE" -channel="$minor_version" go test ./tests/docker/upgrade/upgrade_test.go -k3sImage="$K3S_IMAGE" -channel="$minor_version" -ci
echo "Did go test upgrade $?" echo "Did go test upgrade $?"
go test ./tests/docker/lazypull/lazypull_test.go -k3sImage="$K3S_IMAGE" go test ./tests/docker/lazypull/lazypull_test.go -k3sImage="$K3S_IMAGE" -ci
echo "Did go test lazypull $?" echo "Did go test lazypull $?"
fi fi
...@@ -67,9 +67,9 @@ fi ...@@ -67,9 +67,9 @@ fi
# --- # ---
if [ "$DRONE_BUILD_EVENT" = 'cron' ]; then if [ "$DRONE_BUILD_EVENT" = 'cron' ]; then
run-go-test ./tests/docker/conformance/conformance_test.go -k3sImage="$K3S_IMAGE" -db sqlite -serial -ginkgo.v run-go-test ./tests/docker/conformance/conformance_test.go -k3sImage="$K3S_IMAGE" -db sqlite -serial -ginkgo.v -ci
echo "Did go conformance sqlite serial $?" echo "Did go conformance sqlite serial $?"
run-go-test ./tests/docker/conformance/conformance_test.go -k3sImage="$K3S_IMAGE" -db etcd -serial -ginkgo.v run-go-test ./tests/docker/conformance/conformance_test.go -k3sImage="$K3S_IMAGE" -db etcd -serial -ginkgo.v -ci
echo "Did go conformance etcd serial $?" echo "Did go conformance etcd serial $?"
test-run-sonobuoy mysql serial test-run-sonobuoy mysql serial
echo "Did test-run-sonobuoy-mysqk serial $?" echo "Did test-run-sonobuoy-mysqk serial $?"
...@@ -87,9 +87,9 @@ if [ "$DRONE_BUILD_EVENT" = 'cron' ]; then ...@@ -87,9 +87,9 @@ if [ "$DRONE_BUILD_EVENT" = 'cron' ]; then
E2E_OUTPUT=$artifacts test-run-sonobuoy parallel E2E_OUTPUT=$artifacts test-run-sonobuoy parallel
echo "Did test-run-sonobuoy parallel $?" echo "Did test-run-sonobuoy parallel $?"
run-go-test ./tests/docker/conformance/conformance_test.go -k3sImage="$K3S_IMAGE" -db sqlite -ginkgo.v run-go-test ./tests/docker/conformance/conformance_test.go -k3sImage="$K3S_IMAGE" -db sqlite -ginkgo.v -ci
echo "Did go conformance sqlite parallel $?" echo "Did go conformance sqlite parallel $?"
run-go-test ./tests/docker/conformance/conformance_test.go -k3sImage="$K3S_IMAGE" -db etcd -ginkgo.v run-go-test ./tests/docker/conformance/conformance_test.go -k3sImage="$K3S_IMAGE" -db etcd -ginkgo.v -ci
echo "Did go test conformance etcd parallel $?" echo "Did go test conformance etcd parallel $?"
test-run-sonobuoy mysql parallel test-run-sonobuoy mysql parallel
echo "Did test-run-sonobuoy-mysql parallel $?" echo "Did test-run-sonobuoy-mysql parallel $?"
......
...@@ -14,6 +14,7 @@ import ( ...@@ -14,6 +14,7 @@ import (
) )
var k3sImage = flag.String("k3sImage", "", "The image used to provision containers") var k3sImage = flag.String("k3sImage", "", "The image used to provision containers")
var ci = flag.Bool("ci", false, "running on CI, forced cleanup")
var config *tester.TestConfig var config *tester.TestConfig
func Test_DockerBasic(t *testing.T) { func Test_DockerBasic(t *testing.T) {
...@@ -74,8 +75,8 @@ var _ = AfterEach(func() { ...@@ -74,8 +75,8 @@ var _ = AfterEach(func() {
}) })
var _ = AfterSuite(func() { var _ = AfterSuite(func() {
if config != nil && !failed { if config != nil && (*ci || !failed) {
config.Cleanup() Expect(config.Cleanup()).To(Succeed())
} }
}) })
......
...@@ -12,6 +12,7 @@ import ( ...@@ -12,6 +12,7 @@ import (
) )
var k3sImage = flag.String("k3sImage", "", "The k3s image used to provision containers") var k3sImage = flag.String("k3sImage", "", "The k3s image used to provision containers")
var ci = flag.Bool("ci", false, "running on CI, forced cleanup")
var config *tester.TestConfig var config *tester.TestConfig
func Test_DockerBootstrapToken(t *testing.T) { func Test_DockerBootstrapToken(t *testing.T) {
...@@ -62,7 +63,7 @@ var _ = AfterEach(func() { ...@@ -62,7 +63,7 @@ var _ = AfterEach(func() {
}) })
var _ = AfterSuite(func() { var _ = AfterSuite(func() {
if config != nil && !failed { if config != nil && (*ci || !failed) {
config.Cleanup() Expect(config.Cleanup()).To(Succeed())
} }
}) })
...@@ -15,6 +15,7 @@ import ( ...@@ -15,6 +15,7 @@ import (
) )
var k3sImage = flag.String("k3sImage", "", "The k3s image used to provision containers") var k3sImage = flag.String("k3sImage", "", "The k3s image used to provision containers")
var ci = flag.Bool("ci", false, "running on CI, forced cleanup")
var config *tester.TestConfig var config *tester.TestConfig
var testID string var testID string
......
...@@ -20,6 +20,7 @@ import ( ...@@ -20,6 +20,7 @@ import (
var k3sImage = flag.String("k3sImage", "", "The k3s image used to provision containers") var k3sImage = flag.String("k3sImage", "", "The k3s image used to provision containers")
var db = flag.String("db", "", "The database to use for the tests (sqlite, etcd, mysql, postgres)") var db = flag.String("db", "", "The database to use for the tests (sqlite, etcd, mysql, postgres)")
var serial = flag.Bool("serial", false, "Run the Serial Conformance Tests") var serial = flag.Bool("serial", false, "Run the Serial Conformance Tests")
var ci = flag.Bool("ci", false, "running on CI, forced cleanup")
var config *tester.TestConfig var config *tester.TestConfig
func Test_DockerConformance(t *testing.T) { func Test_DockerConformance(t *testing.T) {
...@@ -123,8 +124,8 @@ var _ = AfterEach(func() { ...@@ -123,8 +124,8 @@ var _ = AfterEach(func() {
}) })
var _ = AfterSuite(func() { var _ = AfterSuite(func() {
if config != nil && !failed { if config != nil && (*ci || !failed) {
config.Cleanup() Expect(config.Cleanup()).To(Succeed())
} }
}) })
......
...@@ -12,6 +12,7 @@ import ( ...@@ -12,6 +12,7 @@ import (
) )
var k3sImage = flag.String("k3sImage", "", "The k3s image used to provision containers") var k3sImage = flag.String("k3sImage", "", "The k3s image used to provision containers")
var ci = flag.Bool("ci", false, "running on CI, forced cleanup")
var config *tester.TestConfig var config *tester.TestConfig
func Test_DockerEtcd(t *testing.T) { func Test_DockerEtcd(t *testing.T) {
...@@ -72,7 +73,7 @@ var _ = AfterEach(func() { ...@@ -72,7 +73,7 @@ var _ = AfterEach(func() {
}) })
var _ = AfterSuite(func() { var _ = AfterSuite(func() {
if config != nil && !failed { if config != nil && (*ci || !failed) {
config.Cleanup() Expect(config.Cleanup()).To(Succeed())
} }
}) })
...@@ -13,6 +13,7 @@ import ( ...@@ -13,6 +13,7 @@ import (
) )
var k3sImage = flag.String("k3sImage", "", "The k3s image used to provision containers") var k3sImage = flag.String("k3sImage", "", "The k3s image used to provision containers")
var ci = flag.Bool("ci", false, "running on CI, forced cleanup")
var config *tester.TestConfig var config *tester.TestConfig
func Test_DockerLazyPull(t *testing.T) { func Test_DockerLazyPull(t *testing.T) {
...@@ -71,8 +72,8 @@ var _ = AfterEach(func() { ...@@ -71,8 +72,8 @@ var _ = AfterEach(func() {
}) })
var _ = AfterSuite(func() { var _ = AfterSuite(func() {
if config != nil && !failed { if config != nil && (*ci || !failed) {
config.Cleanup() Expect(config.Cleanup()).To(Succeed())
} }
}) })
......
...@@ -17,6 +17,7 @@ import ( ...@@ -17,6 +17,7 @@ import (
// the current commit build of K3s defined by <k3sImage> // the current commit build of K3s defined by <k3sImage>
var k3sImage = flag.String("k3sImage", "", "The current commit build of K3s") var k3sImage = flag.String("k3sImage", "", "The current commit build of K3s")
var channel = flag.String("channel", "latest", "The release channel to test") var channel = flag.String("channel", "latest", "The release channel to test")
var ci = flag.Bool("ci", false, "running on CI, forced cleanup")
var config *tester.TestConfig var config *tester.TestConfig
func Test_DockerSkew(t *testing.T) { func Test_DockerSkew(t *testing.T) {
...@@ -64,7 +65,7 @@ var _ = Describe("Skew Tests", Ordered, func() { ...@@ -64,7 +65,7 @@ var _ = Describe("Skew Tests", Ordered, func() {
Expect(config.ProvisionAgents(1)).To(Succeed()) Expect(config.ProvisionAgents(1)).To(Succeed())
Eventually(func() error { Eventually(func() error {
return tests.CheckDeployments([]string{"coredns", "local-path-provisioner", "metrics-server", "traefik"}, config.KubeconfigFile) return tests.CheckDeployments([]string{"coredns", "local-path-provisioner", "metrics-server", "traefik"}, config.KubeconfigFile)
}, "60s", "5s").Should(Succeed()) }, "180s", "5s").Should(Succeed())
}) })
It("should match respective versions", func() { It("should match respective versions", func() {
for _, server := range config.Servers { for _, server := range config.Servers {
...@@ -109,7 +110,7 @@ var _ = Describe("Skew Tests", Ordered, func() { ...@@ -109,7 +110,7 @@ var _ = Describe("Skew Tests", Ordered, func() {
Expect(config.ProvisionServers(3)).To(Succeed()) Expect(config.ProvisionServers(3)).To(Succeed())
Eventually(func() error { Eventually(func() error {
return tests.CheckDeployments([]string{"coredns", "local-path-provisioner", "metrics-server", "traefik"}, config.KubeconfigFile) return tests.CheckDeployments([]string{"coredns", "local-path-provisioner", "metrics-server", "traefik"}, config.KubeconfigFile)
}, "90s", "5s").Should(Succeed()) }, "180s", "5s").Should(Succeed())
Eventually(func(g Gomega) { Eventually(func(g Gomega) {
g.Expect(tests.ParseNodes(config.KubeconfigFile)).To(HaveLen(3)) g.Expect(tests.ParseNodes(config.KubeconfigFile)).To(HaveLen(3))
g.Expect(tests.NodesReady(config.KubeconfigFile, config.GetNodeNames())).To(Succeed()) g.Expect(tests.NodesReady(config.KubeconfigFile, config.GetNodeNames())).To(Succeed())
...@@ -143,7 +144,7 @@ var _ = AfterEach(func() { ...@@ -143,7 +144,7 @@ var _ = AfterEach(func() {
}) })
var _ = AfterSuite(func() { var _ = AfterSuite(func() {
if config != nil && !failed { if config != nil && (*ci || !failed) {
config.Cleanup() Expect(config.Cleanup()).To(Succeed())
} }
}) })
...@@ -390,6 +390,7 @@ func (config *TestConfig) RemoveNode(nodeName string) error { ...@@ -390,6 +390,7 @@ func (config *TestConfig) RemoveNode(nodeName string) error {
if _, err := RunCommand(cmd); err != nil { if _, err := RunCommand(cmd); err != nil {
return fmt.Errorf("failed to remove node %s: %v", nodeName, err) return fmt.Errorf("failed to remove node %s: %v", nodeName, err)
} }
fmt.Println("Stopped and removed", nodeName)
return nil return nil
} }
...@@ -428,6 +429,7 @@ func (config *TestConfig) Cleanup() error { ...@@ -428,6 +429,7 @@ func (config *TestConfig) Cleanup() error {
errs = append(errs, err) errs = append(errs, err)
} }
} }
config.Servers = nil
// Stop and remove all agents // Stop and remove all agents
for _, agent := range config.Agents { for _, agent := range config.Agents {
...@@ -435,6 +437,7 @@ func (config *TestConfig) Cleanup() error { ...@@ -435,6 +437,7 @@ func (config *TestConfig) Cleanup() error {
errs = append(errs, err) errs = append(errs, err)
} }
} }
config.Agents = nil
// Stop DB if it was started // Stop DB if it was started
if config.DBType == "mysql" || config.DBType == "postgres" { if config.DBType == "mysql" || config.DBType == "postgres" {
...@@ -456,8 +459,6 @@ func (config *TestConfig) Cleanup() error { ...@@ -456,8 +459,6 @@ func (config *TestConfig) Cleanup() error {
if config.TestDir != "" { if config.TestDir != "" {
return os.RemoveAll(config.TestDir) return os.RemoveAll(config.TestDir)
} }
config.Agents = nil
config.Servers = nil
return nil return nil
} }
......
...@@ -19,6 +19,7 @@ import ( ...@@ -19,6 +19,7 @@ import (
// the current commit build of K3s defined by <k3sImage> // the current commit build of K3s defined by <k3sImage>
var k3sImage = flag.String("k3sImage", "", "The current commit build of K3s") var k3sImage = flag.String("k3sImage", "", "The current commit build of K3s")
var channel = flag.String("channel", "latest", "The release channel to test") var channel = flag.String("channel", "latest", "The release channel to test")
var ci = flag.Bool("ci", false, "running on CI, forced cleanup")
var config *tester.TestConfig var config *tester.TestConfig
var numServers = 1 var numServers = 1
...@@ -127,7 +128,7 @@ var _ = Describe("Upgrade Tests", Ordered, func() { ...@@ -127,7 +128,7 @@ var _ = Describe("Upgrade Tests", Ordered, func() {
cVersion = strings.Replace(cVersion, "-amd64", "", 1) cVersion = strings.Replace(cVersion, "-amd64", "", 1)
cVersion = strings.Replace(cVersion, "-arm64", "", 1) cVersion = strings.Replace(cVersion, "-arm64", "", 1)
cVersion = strings.Replace(cVersion, "-arm", "", 1) cVersion = strings.Replace(cVersion, "-arm", "", 1)
cVersion = strings.Replace(cVersion, "-", "+", 1) cVersion = strings.Replace(cVersion, "-k3s", "+k3s", 1)
Expect(out).To(ContainSubstring(cVersion)) Expect(out).To(ContainSubstring(cVersion))
} }
}) })
...@@ -146,7 +147,7 @@ var _ = AfterEach(func() { ...@@ -146,7 +147,7 @@ var _ = AfterEach(func() {
}) })
var _ = AfterSuite(func() { var _ = AfterSuite(func() {
if config != nil && !failed { if config != nil && (*ci || !failed) {
config.Cleanup() Expect(config.Cleanup()).To(Succeed())
} }
}) })
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment