File 0001-improve-kubevirt-update-test.patch of Package kubevirt.25865

From e8b24c5dc0e1d41727920f0a7125d40d2b18d2dc Mon Sep 17 00:00:00 2001
From: Xiaoli Ai <xlai@suse.com`>
Date: Sun, 19 Dec 2021 22:00:09 -0500
Subject: [PATCH 1/2] Fix shasum related issues in release update test

Signed-off-by: Xiaoli Ai <xlai@suse.com`>
---
 tests/operator_test.go | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/tests/operator_test.go b/tests/operator_test.go
index e9d9a2b0e..36c51a98a 100644
--- a/tests/operator_test.go
+++ b/tests/operator_test.go
@@ -664,8 +664,13 @@ var _ = Describe("[Serial][sig-operator]Operator", func() {
 
 		// save the operator sha
 		_, _, _, _, version := parseOperatorImage()
-		Expect(strings.HasPrefix(version, "@")).To(BeTrue())
-		originalOperatorVersion = strings.TrimPrefix(version, "@")
+		if !flags.SkipShasumCheck {
+			Expect(strings.HasPrefix(version, "@")).To(BeTrue())
+			originalOperatorVersion = strings.TrimPrefix(version, "@")
+		} else {
+			Expect(strings.HasPrefix(version, ":")).To(BeTrue())
+			originalOperatorVersion = strings.TrimPrefix(version, ":")
+		}
 
 		if tests.HasDataVolumeCRD() {
 			cdiList, err := virtClient.CdiClient().CdiV1beta1().CDIs().List(context.Background(), metav1.ListOptions{})
@@ -1437,7 +1442,9 @@ spec:
 
 			migratableVMIs := generateMigratableVMIs(2)
 			launcherSha := getVirtLauncherSha()
-			Expect(launcherSha).ToNot(Equal(""))
+			if !flags.SkipShasumCheck {
+				Expect(launcherSha).ToNot(Equal(""))
+			}
 
 			previousImageTag := flags.PreviousReleaseTag
 			previousImageRegistry := flags.PreviousReleaseRegistry
-- 
2.35.1


From 5df8738474a77e135148f5b1fcb9d709c7aaa14e Mon Sep 17 00:00:00 2001
From: Xiaoli Ai <xlai@suse.com`>
Date: Sun, 19 Dec 2021 22:04:25 -0500
Subject: [PATCH 2/2] Allow to specify previous utility containers for kubevirt
 update test

Signed-off-by: Xiaoli Ai <xlai@suse.com`>
---
 tests/flags/flags.go   | 13 +++++++++++++
 tests/operator_test.go | 19 ++++++++++++++-----
 2 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/tests/flags/flags.go b/tests/flags/flags.go
index b9caf7ac8..e6b75043f 100644
--- a/tests/flags/flags.go
+++ b/tests/flags/flags.go
@@ -40,6 +40,8 @@ var KubeVirtGoCliPath = ""
 var KubeVirtInstallNamespace string
 var PreviousReleaseTag = ""
 var PreviousReleaseRegistry = ""
+var PreviousUtilityRegistry = ""
+var PreviousUtilityTag = ""
 var ConfigFile = ""
 var SkipShasumCheck bool
 var SkipDualStackTests bool
@@ -73,6 +75,8 @@ func init() {
 	flag.StringVar(&PathToTestingInfrastrucureManifests, "path-to-testing-infra-manifests", "manifests/testing", "Set path to testing infrastructure manifests")
 	flag.StringVar(&PreviousReleaseTag, "previous-release-tag", "", "Set tag of the release to test updating from")
 	flag.StringVar(&PreviousReleaseRegistry, "previous-release-registry", "quay.io/kubevirt", "Set registry of the release to test updating from")
+	flag.StringVar(&PreviousUtilityRegistry, "previous-utility-container-registry", "", "Set registry of the utility containers to test updating from")
+	flag.StringVar(&PreviousUtilityTag, "previous-utility-container-tag", "", "Set tag of the utility containers to test updating from")
 	flag.StringVar(&ConfigFile, "config", "tests/default-config.json", "Path to a JSON formatted file from which the test suite will load its configuration. The path may be absolute or relative; relative paths start at the current working directory.")
 	flag.StringVar(&ArtifactsDir, "artifacts", os.Getenv("ARTIFACTS"), "Directory for storing reporter artifacts like junit files or logs")
 	flag.StringVar(&OperatorManifestPath, "operator-manifest-path", "", "Set path to virt-operator manifest file")
@@ -95,4 +99,13 @@ func NormalizeFlags() {
 	if KubeVirtUtilityRepoPrefix == "" {
 		KubeVirtUtilityRepoPrefix = KubeVirtRepoPrefix
 	}
+
+	if PreviousUtilityRegistry == "" {
+		PreviousUtilityRegistry = PreviousReleaseRegistry
+	}
+
+	if PreviousUtilityTag == "" {
+		PreviousUtilityTag = PreviousReleaseTag
+	}
+
 }
diff --git a/tests/operator_test.go b/tests/operator_test.go
index 36c51a98a..525dbb7ec 100644
--- a/tests/operator_test.go
+++ b/tests/operator_test.go
@@ -902,7 +902,7 @@ spec:
 			}
 		}
 
-		generatePreviousVersionVmYamls = func(previousImageRegistry string, previousImageTag string) {
+		generatePreviousVersionVmYamls = func(previousUtilityRegistry string, previousUtilityTag string) {
 			ext, err := extclient.NewForConfig(virtClient.Config())
 			Expect(err).ToNot(HaveOccurred())
 
@@ -973,7 +973,7 @@ spec:
 
             echo 'printed from cloud-init userdata'
         name: cloudinitdisk
-`, version, version, version, i, version, i, previousImageRegistry, cd.ContainerDiskCirros, previousImageTag)
+`, version, version, version, i, version, i, previousUtilityRegistry, cd.ContainerDiskCirros, previousUtilityTag)
 
 				yamlFile := filepath.Join(workDir, fmt.Sprintf("vm-%s.yaml", version))
 				err = ioutil.WriteFile(yamlFile, []byte(vmYaml), 0644)
@@ -1451,9 +1451,18 @@ spec:
 			if previousImageTag == "" {
 				previousImageTag, err = tests.DetectLatestUpstreamOfficialTag()
 				Expect(err).ToNot(HaveOccurred())
-				By(fmt.Sprintf("By Using detected tag %s", previousImageTag))
+				By(fmt.Sprintf("By Using detected tag %s for previous kubevirt", previousImageTag))
 			} else {
-				By(fmt.Sprintf("By Using user defined tag %s", previousImageTag))
+				By(fmt.Sprintf("By Using user defined tag %s for previous kubevirt", previousImageTag))
+			}
+
+			previousUtilityTag := flags.PreviousUtilityTag
+			previousUtilityRegistry := flags.PreviousUtilityRegistry
+			if previousUtilityTag == "" {
+				previousUtilityTag = previousImageTag
+				By(fmt.Sprintf("By Using detected tag %s for previous utility containers", previousUtilityTag))
+			} else {
+				By(fmt.Sprintf("By Using user defined tag %s for previous utility containers", previousUtilityTag))
 			}
 
 			curVersion := originalKv.Status.ObservedKubeVirtVersion
@@ -1524,7 +1533,7 @@ spec:
 			// needs to be a VM created for every api. This is how we will ensure
 			// our api remains upgradable and supportable from previous release.
 
-			generatePreviousVersionVmYamls(previousImageRegistry, previousImageTag)
+			generatePreviousVersionVmYamls(previousUtilityRegistry, previousUtilityTag)
 			generatePreviousVersionVmsnapshotYamls()
 			for _, vmYaml := range vmYamls {
 				By(fmt.Sprintf("Creating VM with %s api", vmYaml.vmName))
-- 
2.35.1

openSUSE Build Service is sponsored by