Skip to content

Commit bca8bc2

Browse files
committed
Add new featuregate test to check if desired.Architecture is set as intended
A new featuregated field was introduced a while ago under clusterversion status - `desired.Architecture` which denotes the architecture of the release image being reconciled to. As we plan to promote the feature gate to default - this adds a basic test to check if the `desired.Architecture` is set based on the `release.openshift.io/architecture: multi` being present as part of the release metadata.
1 parent 54089a3 commit bca8bc2

File tree

5 files changed

+54
-0
lines changed

5 files changed

+54
-0
lines changed

test/extended/clusterversion/OWNERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
reviewers:
2+
- cluster-version-operator-test-case-reviewers
3+
- Prashanth684
4+
approvers:
5+
- cluster-version-operator-test-case-approvers
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package clusterversion
2+
3+
import (
4+
"context"
5+
6+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
7+
8+
g "github.com/onsi/ginkgo/v2"
9+
o "github.com/onsi/gomega"
10+
configv1 "github.com/openshift/api/config/v1"
11+
configclient "github.com/openshift/client-go/config/clientset/versioned"
12+
exutil "github.com/openshift/origin/test/extended/util"
13+
)
14+
15+
var _ = g.Describe("[sig-cluster-lifecycle][OCPFeatureGate:ImageStreamImportMode] ClusterVersion API", func() {
16+
defer g.GinkgoRecover()
17+
oc := exutil.NewCLIWithoutNamespace("")
18+
19+
g.It("desired.architecture field in the CV should be multi or empty depending on the 'release.openshift.io/architecture' field being set in the release payload's metadata [apigroup:config.openshift.io]", func() {
20+
TestClusterVersionDesiredArchitecture(g.GinkgoT(), oc)
21+
})
22+
23+
})
24+
25+
func TestClusterVersionDesiredArchitecture(t g.GinkgoTInterface, oc *exutil.CLI) {
26+
ctx := context.Background()
27+
28+
archMetadata, _, err := oc.AsAdmin().Run("adm", "release", "info", `-ojsonpath={.metadata.metadata.release\.openshift\.io\/architecture}`).Outputs()
29+
o.Expect(err).NotTo(o.HaveOccurred())
30+
31+
// Check desired.Architecture in the CV
32+
configClient, err := configclient.NewForConfig(oc.AdminConfig())
33+
o.Expect(err).NotTo(o.HaveOccurred())
34+
clusterVersion, err := configClient.ConfigV1().ClusterVersions().Get(ctx, "version", metav1.GetOptions{})
35+
o.Expect(err).NotTo(o.HaveOccurred())
36+
37+
if archMetadata == "multi" {
38+
o.Expect(clusterVersion.Status.Desired.Architecture).To(o.Equal(configv1.ClusterVersionArchitectureMulti))
39+
} else {
40+
o.Expect(clusterVersion.Status.Desired.Architecture).To(o.BeEmpty())
41+
}
42+
}

test/extended/include.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
_ "github.com/openshift/origin/test/extended/cli"
2121
_ "github.com/openshift/origin/test/extended/cloud_controller_manager"
2222
_ "github.com/openshift/origin/test/extended/cluster"
23+
_ "github.com/openshift/origin/test/extended/clusterversion"
2324
_ "github.com/openshift/origin/test/extended/cmd"
2425
_ "github.com/openshift/origin/test/extended/controller_manager"
2526
_ "github.com/openshift/origin/test/extended/coreos"

test/extended/util/annotate/generated/zz_generated.annotations.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

zz_generated.manifests/test-reporting.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,10 @@ spec:
115115
mock driver Static provisioning should honor pv retain reclaim policy'
116116
- featureGate: ImageStreamImportMode
117117
tests:
118+
- testName: '[sig-cluster-lifecycle][OCPFeatureGate:ImageStreamImportMode] ClusterVersion
119+
API desired.architecture field in the CV should be multi or empty depending
120+
on the ''release.openshift.io/architecture'' field being set in the release
121+
payload''s metadata [apigroup:config.openshift.io]'
118122
- testName: '[sig-imageregistry][OCPFeatureGate:ImageStreamImportMode][Serial]
119123
ImageStream API import mode should be Legacy if the import mode specified
120124
in image.config.openshift.io config is Legacy [apigroup:image.openshift.io]'

0 commit comments

Comments
 (0)