Skip to content

Commit e82b189

Browse files
committed
feat: coo 1.5 image tag and compat. matrix update
1 parent 504736c commit e82b189

3 files changed

Lines changed: 198 additions & 57 deletions

File tree

cmd/operator/main.go

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -40,22 +40,25 @@ import (
4040
// prometheus-operator. For thanos we use the default version from
4141
// prometheus-operator.
4242
var defaultImages = map[string]string{
43-
"prometheus": "",
44-
"alertmanager": "",
45-
"thanos": obopo.DefaultThanosImage,
46-
"ui-dashboards": "quay.io/openshift-observability-ui/console-dashboards-plugin:v0.4.2",
47-
"ui-troubleshooting-panel": "quay.io/openshift-observability-ui/troubleshooting-panel-console-plugin:v0.4.4",
48-
"ui-distributed-tracing-pf4": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v0.3.2",
49-
"ui-distributed-tracing-pf5": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v0.4.2",
50-
"ui-distributed-tracing": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v1.0.2",
51-
"ui-logging-pf4": "quay.io/openshift-observability-ui/logging-view-plugin:v6.0.4",
52-
"ui-logging-pf5": "quay.io/openshift-observability-ui/logging-view-plugin:v6.1.5",
53-
"ui-logging": "quay.io/openshift-observability-ui/logging-view-plugin:v6.2.0",
54-
"korrel8r": "quay.io/korrel8r/korrel8r:0.9.1",
55-
"health-analyzer": "quay.io/openshiftanalytics/cluster-health-analyzer:v1.1.1-rc.0",
56-
"ui-monitoring-pf5": "quay.io/openshift-observability-ui/monitoring-console-plugin:v0.4.4",
57-
"ui-monitoring": "quay.io/openshift-observability-ui/monitoring-console-plugin:v0.5.3",
58-
"perses": "quay.io/openshift-observability-ui/perses:v0.54.0",
43+
"prometheus": "",
44+
"alertmanager": "",
45+
"thanos": obopo.DefaultThanosImage,
46+
"ui-dashboards": "quay.io/openshift-observability-ui/console-dashboards-plugin:v0.4.3",
47+
"ui-troubleshooting-panel-pf6": "quay.io/openshift-observability-ui/troubleshooting-panel-console-plugin:v0.4.5",
48+
"ui-troubleshooting-panel": "quay.io/openshift-observability-ui/troubleshooting-panel-console-plugin:v1.0.0",
49+
"ui-distributed-tracing-pf4": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v0.3.3",
50+
"ui-distributed-tracing-pf5": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v0.4.3",
51+
"ui-distributed-tracing-pf6": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v1.0.3",
52+
"ui-distributed-tracing": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v1.1.0",
53+
"ui-logging-pf4": "quay.io/openshift-observability-ui/logging-view-plugin:v6.0.5",
54+
"ui-logging-pf5": "quay.io/openshift-observability-ui/logging-view-plugin:v6.1.6",
55+
"ui-logging": "quay.io/openshift-observability-ui/logging-view-plugin:v6.2.1",
56+
"korrel8r": "quay.io/korrel8r/korrel8r:0.9.1",
57+
"health-analyzer": "quay.io/openshiftanalytics/cluster-health-analyzer:v1.1.1-rc.0",
58+
"ui-monitoring-pf5": "quay.io/openshift-observability-ui/monitoring-console-plugin:v0.4.5",
59+
"ui-monitoring-pf6": "quay.io/openshift-observability-ui/monitoring-console-plugin:v0.5.4",
60+
"ui-monitoring": "quay.io/openshift-observability-ui/monitoring-console-plugin:v1.0.0",
61+
"perses": "quay.io/openshift-observability-ui/perses:v0.54.0",
5962
}
6063

6164
func imagesUsed() []string {

pkg/controllers/uiplugin/compatibility_matrix.go

Lines changed: 78 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -38,52 +38,76 @@ type ListFunction func(ctx context.Context, list client.ObjectList, opts ...clie
3838

3939
var compatibilityMatrix = []CompatibilityEntry{
4040
{
41-
PluginType: uiv1alpha1.TypeDashboards,
42-
MinClusterVersion: "v4.11",
43-
MaxClusterVersion: "",
44-
ImageKey: "ui-dashboards",
45-
Features: []string{},
46-
SupportLevel: DevPreview,
41+
PluginType: uiv1alpha1.TypeDashboards,
42+
MinClusterVersion: "v4.11",
43+
MaxClusterVersion: "",
44+
ImageKey: "ui-dashboards",
45+
Features: []string{},
46+
SupportLevel: DevPreview,
47+
SupportsTLSProfile: true,
4748
},
4849
{
49-
PluginType: uiv1alpha1.TypeTroubleshootingPanel,
50-
MinClusterVersion: "v4.19",
51-
MaxClusterVersion: "",
52-
ImageKey: "ui-troubleshooting-panel",
53-
SupportLevel: GeneralAvailability,
54-
Features: []string{},
50+
PluginType: uiv1alpha1.TypeTroubleshootingPanel,
51+
MinClusterVersion: "v4.19",
52+
MaxClusterVersion: "v4.22",
53+
ImageKey: "ui-troubleshooting-panel-pf6",
54+
SupportLevel: GeneralAvailability,
55+
Features: []string{},
56+
SupportsTLSProfile: false,
5557
},
5658
{
57-
PluginType: uiv1alpha1.TypeDistributedTracing,
58-
MinClusterVersion: "v4.11",
59-
MaxClusterVersion: "v4.15",
60-
ImageKey: "ui-distributed-tracing-pf4",
61-
SupportLevel: GeneralAvailability,
62-
Features: []string{},
59+
PluginType: uiv1alpha1.TypeTroubleshootingPanel,
60+
MinClusterVersion: "v4.22",
61+
MaxClusterVersion: "",
62+
ImageKey: "ui-troubleshooting-panel",
63+
SupportLevel: GeneralAvailability,
64+
Features: []string{},
65+
SupportsTLSProfile: false,
6366
},
6467
{
65-
PluginType: uiv1alpha1.TypeDistributedTracing,
66-
MinClusterVersion: "v4.15",
67-
MaxClusterVersion: "v4.19",
68-
ImageKey: "ui-distributed-tracing-pf5",
69-
SupportLevel: GeneralAvailability,
70-
Features: []string{},
68+
PluginType: uiv1alpha1.TypeDistributedTracing,
69+
MinClusterVersion: "v4.11",
70+
MaxClusterVersion: "v4.15",
71+
ImageKey: "ui-distributed-tracing-pf4",
72+
SupportLevel: GeneralAvailability,
73+
Features: []string{},
74+
SupportsTLSProfile: true,
7175
},
7276
{
73-
PluginType: uiv1alpha1.TypeDistributedTracing,
74-
MinClusterVersion: "v4.19",
75-
MaxClusterVersion: "",
76-
ImageKey: "ui-distributed-tracing",
77-
SupportLevel: GeneralAvailability,
78-
Features: []string{},
77+
PluginType: uiv1alpha1.TypeDistributedTracing,
78+
MinClusterVersion: "v4.15",
79+
MaxClusterVersion: "v4.19",
80+
ImageKey: "ui-distributed-tracing-pf5",
81+
SupportLevel: GeneralAvailability,
82+
Features: []string{},
83+
SupportsTLSProfile: true,
7984
},
8085
{
81-
PluginType: uiv1alpha1.TypeLogging,
82-
MinClusterVersion: "v4.11",
83-
MaxClusterVersion: "v4.12",
84-
ImageKey: "ui-logging-pf4",
85-
SupportLevel: GeneralAvailability,
86-
Features: []string{},
86+
PluginType: uiv1alpha1.TypeDistributedTracing,
87+
MinClusterVersion: "v4.19",
88+
MaxClusterVersion: "v4.22",
89+
ImageKey: "ui-distributed-tracing-pf6",
90+
SupportLevel: GeneralAvailability,
91+
Features: []string{},
92+
SupportsTLSProfile: true,
93+
},
94+
{
95+
PluginType: uiv1alpha1.TypeDistributedTracing,
96+
MinClusterVersion: "v4.22",
97+
MaxClusterVersion: "",
98+
ImageKey: "ui-distributed-tracing",
99+
SupportLevel: GeneralAvailability,
100+
Features: []string{},
101+
SupportsTLSProfile: true,
102+
},
103+
{
104+
PluginType: uiv1alpha1.TypeLogging,
105+
MinClusterVersion: "v4.11",
106+
MaxClusterVersion: "v4.12",
107+
ImageKey: "ui-logging-pf4",
108+
SupportLevel: GeneralAvailability,
109+
Features: []string{},
110+
SupportsTLSProfile: true,
87111
},
88112
{
89113
PluginType: uiv1alpha1.TypeLogging,
@@ -94,6 +118,7 @@ var compatibilityMatrix = []CompatibilityEntry{
94118
Features: []string{
95119
"dev-console",
96120
},
121+
SupportsTLSProfile: true,
97122
},
98123
{
99124
PluginType: uiv1alpha1.TypeLogging,
@@ -105,6 +130,7 @@ var compatibilityMatrix = []CompatibilityEntry{
105130
"dev-console",
106131
"alerts",
107132
},
133+
SupportsTLSProfile: true,
108134
},
109135
{
110136
PluginType: uiv1alpha1.TypeLogging,
@@ -117,6 +143,7 @@ var compatibilityMatrix = []CompatibilityEntry{
117143
"alerts",
118144
"dev-alerts",
119145
},
146+
SupportsTLSProfile: true,
120147
},
121148
{
122149
PluginType: uiv1alpha1.TypeLogging,
@@ -129,6 +156,7 @@ var compatibilityMatrix = []CompatibilityEntry{
129156
"alerts",
130157
"dev-alerts",
131158
},
159+
SupportsTLSProfile: true,
132160
},
133161
{
134162
PluginType: uiv1alpha1.TypeLogging,
@@ -141,6 +169,7 @@ var compatibilityMatrix = []CompatibilityEntry{
141169
"alerts",
142170
"dev-alerts",
143171
},
172+
SupportsTLSProfile: true,
144173
},
145174
{
146175
PluginType: uiv1alpha1.TypeMonitoring,
@@ -150,11 +179,23 @@ var compatibilityMatrix = []CompatibilityEntry{
150179
SupportLevel: TechPreview,
151180
// feature flags for montioring are dynamically injected
152181
// based on the cluster version and and UIPlugin CR configurations
153-
Features: []string{},
182+
Features: []string{},
183+
SupportsTLSProfile: true,
154184
},
155185
{
156186
PluginType: uiv1alpha1.TypeMonitoring,
157187
MinClusterVersion: "v4.19",
188+
MaxClusterVersion: "v4.22",
189+
ImageKey: "ui-monitoring-pf6",
190+
SupportLevel: GeneralAvailability,
191+
// feature flags for montioring are dynamically injected
192+
// based on the cluster version and and UIPlugin CR configurations
193+
Features: []string{},
194+
SupportsTLSProfile: true,
195+
},
196+
{
197+
PluginType: uiv1alpha1.TypeMonitoring,
198+
MinClusterVersion: "v4.22",
158199
MaxClusterVersion: "",
159200
ImageKey: "ui-monitoring",
160201
SupportLevel: GeneralAvailability,

pkg/controllers/uiplugin/compatibility_matrix_test.go

Lines changed: 101 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ func TestLookupImageAndFeatures(t *testing.T) {
253253
{
254254
pluginType: uiv1alpha1.TypeTroubleshootingPanel,
255255
clusterVersion: "4.19",
256-
expectedKey: "ui-troubleshooting-panel",
256+
expectedKey: "ui-troubleshooting-panel-pf6",
257257
expectedErr: nil,
258258
supportLevel: GeneralAvailability,
259259
},
@@ -316,7 +316,7 @@ func TestLookupImageAndFeatures(t *testing.T) {
316316
{
317317
pluginType: uiv1alpha1.TypeDistributedTracing,
318318
clusterVersion: "4.19",
319-
expectedKey: "ui-distributed-tracing",
319+
expectedKey: "ui-distributed-tracing-pf6",
320320
expectedErr: nil,
321321
supportLevel: GeneralAvailability,
322322
},
@@ -344,7 +344,7 @@ func TestLookupImageAndFeatures(t *testing.T) {
344344
{
345345
pluginType: uiv1alpha1.TypeTroubleshootingPanel,
346346
clusterVersion: "v4.19.0-0.nightly-2024-06-06-064349",
347-
expectedKey: "ui-troubleshooting-panel",
347+
expectedKey: "ui-troubleshooting-panel-pf6",
348348
expectedErr: nil,
349349
supportLevel: GeneralAvailability,
350350
},
@@ -374,14 +374,22 @@ func TestLookupImageAndFeatures(t *testing.T) {
374374
{
375375
pluginType: uiv1alpha1.TypeMonitoring,
376376
clusterVersion: "v4.19",
377-
expectedKey: "ui-monitoring",
377+
expectedKey: "ui-monitoring-pf6",
378378
expectedFeatures: []string{},
379379
expectedErr: nil,
380380
supportLevel: GeneralAvailability,
381381
},
382382
{
383383
pluginType: uiv1alpha1.TypeMonitoring,
384384
clusterVersion: "v4.19.0-0.nightly-2024-06-06-064349",
385+
expectedKey: "ui-monitoring-pf6",
386+
expectedFeatures: []string{},
387+
expectedErr: nil,
388+
supportLevel: GeneralAvailability,
389+
},
390+
{
391+
pluginType: uiv1alpha1.TypeMonitoring,
392+
clusterVersion: "4.24.0-0.nightly-2024-03-11-200348",
385393
expectedKey: "ui-monitoring",
386394
expectedFeatures: []string{},
387395
expectedErr: nil,
@@ -409,3 +417,92 @@ func TestLookupImageAndFeatures(t *testing.T) {
409417
})
410418
}
411419
}
420+
421+
func TestSupportsTLSProfile(t *testing.T) {
422+
for _, tc := range []struct {
423+
pluginType uiv1alpha1.UIPluginType
424+
clusterVersion string
425+
expectedTLSSupport bool
426+
description string
427+
}{
428+
{
429+
pluginType: uiv1alpha1.TypeDashboards,
430+
clusterVersion: "4.11",
431+
expectedTLSSupport: true,
432+
description: "Dashboards plugin should support TLS profile",
433+
},
434+
{
435+
pluginType: uiv1alpha1.TypeLogging,
436+
clusterVersion: "4.11",
437+
expectedTLSSupport: true,
438+
description: "Logging plugin should support TLS profile",
439+
},
440+
{
441+
pluginType: uiv1alpha1.TypeLogging,
442+
clusterVersion: "4.13",
443+
expectedTLSSupport: true,
444+
description: "Logging plugin v4.13 should support TLS profile",
445+
},
446+
{
447+
pluginType: uiv1alpha1.TypeLogging,
448+
clusterVersion: "4.15",
449+
expectedTLSSupport: true,
450+
description: "Logging plugin v4.15 should support TLS profile",
451+
},
452+
{
453+
pluginType: uiv1alpha1.TypeLogging,
454+
clusterVersion: "4.22",
455+
expectedTLSSupport: true,
456+
description: "Logging plugin v4.22 should support TLS profile",
457+
},
458+
{
459+
pluginType: uiv1alpha1.TypeMonitoring,
460+
clusterVersion: "4.15",
461+
expectedTLSSupport: true,
462+
description: "Monitoring plugin v4.15 should support TLS profile",
463+
},
464+
{
465+
pluginType: uiv1alpha1.TypeMonitoring,
466+
clusterVersion: "4.19",
467+
expectedTLSSupport: true,
468+
description: "Monitoring plugin v4.19 should support TLS profile",
469+
},
470+
{
471+
pluginType: uiv1alpha1.TypeMonitoring,
472+
clusterVersion: "4.22",
473+
expectedTLSSupport: true,
474+
description: "Monitoring plugin v4.22 should support TLS profile",
475+
},
476+
{
477+
pluginType: uiv1alpha1.TypeDistributedTracing,
478+
clusterVersion: "4.11",
479+
expectedTLSSupport: true,
480+
description: "DistributedTracing plugin should support TLS profile",
481+
},
482+
{
483+
pluginType: uiv1alpha1.TypeDistributedTracing,
484+
clusterVersion: "4.22",
485+
expectedTLSSupport: true,
486+
description: "DistributedTracing plugin v4.22 should support TLS profile",
487+
},
488+
{
489+
pluginType: uiv1alpha1.TypeTroubleshootingPanel,
490+
clusterVersion: "4.19",
491+
expectedTLSSupport: false,
492+
description: "TroubleshootingPanel plugin should support TLS profile",
493+
},
494+
{
495+
pluginType: uiv1alpha1.TypeTroubleshootingPanel,
496+
clusterVersion: "4.22",
497+
expectedTLSSupport: false,
498+
description: "TroubleshootingPanel plugin v4.22 should support TLS profile",
499+
},
500+
} {
501+
t.Run(fmt.Sprintf("%s/%s", tc.pluginType, tc.clusterVersion), func(t *testing.T) {
502+
info, err := lookupImageAndFeatures(tc.pluginType, tc.clusterVersion)
503+
assert.NilError(t, err, "Should successfully lookup plugin info")
504+
505+
assert.Equal(t, tc.expectedTLSSupport, info.SupportsTLSProfile, tc.description)
506+
})
507+
}
508+
}

0 commit comments

Comments
 (0)