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