Skip to content

Commit 288e0af

Browse files
Merge pull request #523 from ciiay/cherry-pick-2646-into-v1.9
Merge pull request #440 from ciiay/gitops-2646-update-dynamic-plugin-cr
2 parents 4e3774e + db59369 commit 288e0af

File tree

4 files changed

+54
-43
lines changed

4 files changed

+54
-43
lines changed

controllers/consoleplugin.go

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"os"
77
"reflect"
88

9-
consolepluginv1 "github.com/openshift/api/console/v1alpha1"
9+
consolev1 "github.com/openshift/api/console/v1"
1010
pipelinesv1alpha1 "github.com/redhat-developer/gitops-operator/api/v1alpha1"
1111
"github.com/redhat-developer/gitops-operator/controllers/util"
1212

@@ -159,18 +159,24 @@ func pluginDeployment() *appsv1.Deployment {
159159
}
160160
}
161161

162-
func consolePlugin() *consolepluginv1.ConsolePlugin {
163-
return &consolepluginv1.ConsolePlugin{
162+
func consolePlugin() *consolev1.ConsolePlugin {
163+
return &consolev1.ConsolePlugin{
164164
ObjectMeta: metav1.ObjectMeta{
165165
Name: gitopsPluginName,
166166
},
167-
Spec: consolepluginv1.ConsolePluginSpec{
167+
Spec: consolev1.ConsolePluginSpec{
168168
DisplayName: displayName,
169-
Service: consolepluginv1.ConsolePluginService{
170-
Name: gitopsPluginName,
171-
Namespace: serviceNamespace,
172-
Port: servicePort,
173-
BasePath: "/",
169+
Backend: consolev1.ConsolePluginBackend{
170+
Type: consolev1.Service,
171+
Service: &consolev1.ConsolePluginService{
172+
Name: gitopsPluginName,
173+
Namespace: serviceNamespace,
174+
Port: servicePort,
175+
BasePath: "/",
176+
},
177+
},
178+
I18n: consolev1.ConsolePluginI18n{
179+
LoadType: consolev1.Preload,
174180
},
175181
},
176182
}
@@ -332,7 +338,7 @@ func (r *ReconcileGitopsService) reconcileConsolePlugin(instance *pipelinesv1alp
332338
return reconcile.Result{}, err
333339
}
334340

335-
existingPlugin := &consolepluginv1.ConsolePlugin{}
341+
existingPlugin := &consolev1.ConsolePlugin{}
336342

337343
if err := r.Client.Get(context.TODO(), types.NamespacedName{Name: gitopsPluginName},
338344
existingPlugin); err != nil {
@@ -349,12 +355,12 @@ func (r *ReconcileGitopsService) reconcileConsolePlugin(instance *pipelinesv1alp
349355
}
350356
} else {
351357
changed := !reflect.DeepEqual(existingPlugin.Spec.DisplayName, newConsolePlugin.Spec.DisplayName) ||
352-
!reflect.DeepEqual(existingPlugin.Spec.Service, newConsolePlugin.Spec.Service)
358+
!reflect.DeepEqual(existingPlugin.Spec.Backend.Service, newConsolePlugin.Spec.Backend.Service)
353359

354360
if changed {
355361
reqLogger.Info("Reconciling Console Plugin", "Namespace", existingPlugin.Namespace, "Name", existingPlugin.Name)
356362
existingPlugin.Spec.DisplayName = newConsolePlugin.Spec.DisplayName
357-
existingPlugin.Spec.Service = newConsolePlugin.Spec.Service
363+
existingPlugin.Spec.Backend.Service = newConsolePlugin.Spec.Backend.Service
358364
return reconcile.Result{}, r.Client.Update(context.TODO(), newConsolePlugin)
359365
}
360366
}

controllers/consoleplugin_test.go

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"context"
55
"testing"
66

7-
consolepluginv1 "github.com/openshift/api/console/v1alpha1"
7+
consolev1 "github.com/openshift/api/console/v1"
88
pipelinesv1alpha1 "github.com/redhat-developer/gitops-operator/api/v1alpha1"
99
"gotest.tools/assert"
1010
appsv1 "k8s.io/api/apps/v1"
@@ -25,13 +25,15 @@ func TestPlugin(t *testing.T) {
2525
testDisplayName := displayName
2626
assert.Equal(t, testConsolePlugin.Spec.DisplayName, testDisplayName)
2727

28-
testPluginService := consolepluginv1.ConsolePluginService{
28+
testPluginService := &consolev1.ConsolePluginService{
2929
Name: gitopsPluginName,
3030
Namespace: serviceNamespace,
3131
Port: servicePort,
3232
BasePath: "/",
3333
}
34-
assert.DeepEqual(t, testConsolePlugin.Spec.Service, testPluginService)
34+
assert.DeepEqual(t, testConsolePlugin.Spec.I18n.LoadType, consolev1.Preload)
35+
assert.DeepEqual(t, testConsolePlugin.Spec.Backend.Type, consolev1.Service)
36+
assert.DeepEqual(t, testConsolePlugin.Spec.Backend.Service, testPluginService)
3537
}
3638

3739
func TestPlugin_reconcileDeployment_changedLabels(t *testing.T) {
@@ -1388,7 +1390,7 @@ func TestPlugin_reconcileConsolePlugin(t *testing.T) {
13881390
_, err := reconciler.reconcileConsolePlugin(instance, newRequest(serviceNamespace, gitopsPluginName))
13891391
assertNoError(t, err)
13901392

1391-
consolePlugin := &consolepluginv1.ConsolePlugin{}
1393+
consolePlugin := &consolev1.ConsolePlugin{}
13921394
err = fakeClient.Get(context.TODO(), types.NamespacedName{Name: gitopsPluginName}, consolePlugin)
13931395
assertNoError(t, err)
13941396
}
@@ -1417,17 +1419,20 @@ func TestPlugin_reconcileConsolePlugin_changedDisplayName(t *testing.T) {
14171419

14181420
for _, test := range tests {
14191421
t.Run(test.name, func(t *testing.T) {
1420-
cp := &consolepluginv1.ConsolePlugin{
1422+
cp := &consolev1.ConsolePlugin{
14211423
ObjectMeta: metav1.ObjectMeta{
14221424
Name: gitopsPluginName,
14231425
},
1424-
Spec: consolepluginv1.ConsolePluginSpec{
1426+
Spec: consolev1.ConsolePluginSpec{
14251427
DisplayName: test.displayName,
1426-
Service: consolepluginv1.ConsolePluginService{
1427-
Name: gitopsPluginName,
1428-
Namespace: serviceNamespace,
1429-
Port: servicePort,
1430-
BasePath: "/",
1428+
Backend: consolev1.ConsolePluginBackend{
1429+
Type: consolev1.Service,
1430+
Service: &consolev1.ConsolePluginService{
1431+
Name: gitopsPluginName,
1432+
Namespace: serviceNamespace,
1433+
Port: servicePort,
1434+
BasePath: "/",
1435+
},
14311436
},
14321437
},
14331438
}
@@ -1436,7 +1441,7 @@ func TestPlugin_reconcileConsolePlugin_changedDisplayName(t *testing.T) {
14361441
_, err := reconciler.reconcileConsolePlugin(instance, newRequest(serviceNamespace, gitopsPluginName))
14371442
assertNoError(t, err)
14381443

1439-
consolePlugin := &consolepluginv1.ConsolePlugin{}
1444+
consolePlugin := &consolev1.ConsolePlugin{}
14401445
err = fakeClient.Get(context.TODO(), types.NamespacedName{Name: gitopsPluginName}, consolePlugin)
14411446
assertNoError(t, err)
14421447

@@ -1447,11 +1452,11 @@ func TestPlugin_reconcileConsolePlugin_changedDisplayName(t *testing.T) {
14471452
func TestPlugin_reconcileConsolePlugin_changedService(t *testing.T) {
14481453
tests := []struct {
14491454
name string
1450-
service consolepluginv1.ConsolePluginService
1455+
service consolev1.ConsolePluginService
14511456
}{
14521457
{
14531458
name: "default service",
1454-
service: consolepluginv1.ConsolePluginService{
1459+
service: consolev1.ConsolePluginService{
14551460
Name: gitopsPluginName,
14561461
Namespace: serviceNamespace,
14571462
Port: servicePort,
@@ -1460,7 +1465,7 @@ func TestPlugin_reconcileConsolePlugin_changedService(t *testing.T) {
14601465
},
14611466
{
14621467
name: "changed service",
1463-
service: consolepluginv1.ConsolePluginService{
1468+
service: consolev1.ConsolePluginService{
14641469
Name: "wrong name",
14651470
Namespace: "wrong namespace",
14661471
Port: int32(9002),
@@ -1478,28 +1483,31 @@ func TestPlugin_reconcileConsolePlugin_changedService(t *testing.T) {
14781483

14791484
for _, test := range tests {
14801485
t.Run(test.name, func(t *testing.T) {
1481-
cp := &consolepluginv1.ConsolePlugin{
1486+
cp := &consolev1.ConsolePlugin{
14821487
ObjectMeta: metav1.ObjectMeta{
14831488
Name: gitopsPluginName,
14841489
},
1485-
Spec: consolepluginv1.ConsolePluginSpec{
1490+
Spec: consolev1.ConsolePluginSpec{
14861491
DisplayName: displayName,
1487-
Service: test.service,
1492+
Backend: consolev1.ConsolePluginBackend{
1493+
Type: consolev1.Service,
1494+
Service: &test.service,
1495+
},
14881496
},
14891497
}
14901498
reconciler.Client.Create(context.TODO(), cp)
14911499

14921500
_, err := reconciler.reconcileConsolePlugin(instance, newRequest(serviceNamespace, gitopsPluginName))
14931501
assertNoError(t, err)
14941502

1495-
consolePlugin := &consolepluginv1.ConsolePlugin{}
1503+
consolePlugin := &consolev1.ConsolePlugin{}
14961504
err = fakeClient.Get(context.TODO(), types.NamespacedName{Name: gitopsPluginName}, consolePlugin)
14971505
assertNoError(t, err)
14981506

1499-
assert.Equal(t, consolePlugin.Spec.Service.Name, "gitops-plugin")
1500-
assert.Equal(t, consolePlugin.Spec.Service.Namespace, "openshift-gitops")
1501-
assert.Equal(t, consolePlugin.Spec.Service.Port, int32(9001))
1502-
assert.Equal(t, consolePlugin.Spec.Service.BasePath, "/")
1507+
assert.Equal(t, consolePlugin.Spec.Backend.Service.Name, "gitops-plugin")
1508+
assert.Equal(t, consolePlugin.Spec.Backend.Service.Namespace, "openshift-gitops")
1509+
assert.Equal(t, consolePlugin.Spec.Backend.Service.Port, int32(9001))
1510+
assert.Equal(t, consolePlugin.Spec.Backend.Service.BasePath, "/")
15031511
})
15041512
}
15051513
}

controllers/gitopsservice_controller_test.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import (
2828
"github.com/argoproj-labs/argocd-operator/controllers/argoutil"
2929
configv1 "github.com/openshift/api/config/v1"
3030
consolev1 "github.com/openshift/api/console/v1"
31-
consolepluginv1 "github.com/openshift/api/console/v1alpha1"
3231
routev1 "github.com/openshift/api/route/v1"
3332
pipelinesv1alpha1 "github.com/redhat-developer/gitops-operator/api/v1alpha1"
3433
"github.com/redhat-developer/gitops-operator/common"
@@ -245,10 +244,10 @@ func TestReconcile(t *testing.T) {
245244
assert.DeepEqual(t, deploy.Spec.Template.Spec.Containers[0].Image, backendImage)
246245

247246
// Check if plugin instance is created in openshift-gitops namespace
248-
consolePlugin := &consolepluginv1.ConsolePlugin{}
247+
consolePlugin := &consolev1.ConsolePlugin{}
249248
err = fakeClient.Get(context.TODO(), types.NamespacedName{Name: gitopsPluginName}, consolePlugin)
250249
assertNoError(t, err)
251-
assert.DeepEqual(t, consolePlugin.Spec.Service.Name, gitopsPluginName)
250+
assert.DeepEqual(t, consolePlugin.Spec.Backend.Service.Name, gitopsPluginName)
252251

253252
pluginDeploy := &appsv1.Deployment{}
254253
err = fakeClient.Get(context.TODO(), types.NamespacedName{Name: gitopsPluginName, Namespace: serviceNamespace}, pluginDeploy)
@@ -310,7 +309,7 @@ func TestReconcile_consoleAPINotFound(t *testing.T) {
310309
assertNoError(t, err)
311310

312311
// Check consolePlugin and other resources are not created
313-
consolePlugin := &consolepluginv1.ConsolePlugin{}
312+
consolePlugin := &consolev1.ConsolePlugin{}
314313
err = fakeClient.Get(context.TODO(), types.NamespacedName{Name: gitopsPluginName}, consolePlugin)
315314
assert.Error(t, err, "consoleplugins.console.openshift.io \"gitops-plugin\" not found")
316315

@@ -342,7 +341,7 @@ func TestReconcile_ocpVersionLowerThan4_15(t *testing.T) {
342341
assertNoError(t, err)
343342

344343
// Check consolePlugin and other resources are not created
345-
consolePlugin := &consolepluginv1.ConsolePlugin{}
344+
consolePlugin := &consolev1.ConsolePlugin{}
346345
err = fakeClient.Get(context.TODO(), types.NamespacedName{Name: gitopsPluginName}, consolePlugin)
347346
assert.Error(t, err, "consoleplugins.console.openshift.io \"gitops-plugin\" not found")
348347

@@ -651,7 +650,7 @@ func addKnownTypesToScheme(scheme *runtime.Scheme) {
651650
scheme.AddKnownTypes(argoapp.GroupVersion, &argoapp.ArgoCD{})
652651
scheme.AddKnownTypes(consolev1.GroupVersion, &consolev1.ConsoleCLIDownload{})
653652
scheme.AddKnownTypes(routev1.GroupVersion, &routev1.Route{})
654-
scheme.AddKnownTypes(consolepluginv1.GroupVersion, &consolepluginv1.ConsolePlugin{})
653+
scheme.AddKnownTypes(consolev1.GroupVersion, &consolev1.ConsolePlugin{})
655654
}
656655

657656
func newReconcileGitOpsService(client client.Client, scheme *runtime.Scheme) *ReconcileGitopsService {

main.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ import (
3838
appsv1 "github.com/openshift/api/apps/v1"
3939
configv1 "github.com/openshift/api/config/v1"
4040
console "github.com/openshift/api/console/v1"
41-
consolepluginv1 "github.com/openshift/api/console/v1alpha1"
4241
oauthv1 "github.com/openshift/api/oauth/v1"
4342
routev1 "github.com/openshift/api/route/v1"
4443
templatev1 "github.com/openshift/api/template/v1"
@@ -113,7 +112,6 @@ func main() {
113112
registerComponentOrExit(mgr, operatorsv1alpha1.AddToScheme)
114113
registerComponentOrExit(mgr, argoapi.AddToScheme)
115114
registerComponentOrExit(mgr, configv1.AddToScheme)
116-
registerComponentOrExit(mgr, consolepluginv1.AddToScheme)
117115
registerComponentOrExit(mgr, monitoringv1.AddToScheme)
118116
registerComponentOrExit(mgr, rolloutManagerApi.AddToScheme)
119117
registerComponentOrExit(mgr, templatev1.AddToScheme)

0 commit comments

Comments
 (0)