Skip to content

Commit 1b775f4

Browse files
committed
Pass cluster Capabilities instance to initializer
Use the cluster.Capabilities instance created in main for the ConsolePlugin instead than create a new one. Signed-off-by: Carlo Lobrano <[email protected]>
1 parent a8d31d5 commit 1b775f4

File tree

4 files changed

+16
-18
lines changed

4 files changed

+16
-18
lines changed

controllers/console/plugin.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import (
2424

2525
apierrors "k8s.io/apimachinery/pkg/api/errors"
2626
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
27-
"k8s.io/client-go/rest"
2827
"sigs.k8s.io/controller-runtime/pkg/client"
2928

3029
"github.com/openshift/api/console/v1alpha1"
@@ -47,14 +46,10 @@ const (
4746
// HEADS UP: consider cleanup of old resources in case of name changes or removals!
4847
//
4948
// TODO image reference to console plugin in CSV?
50-
func CreateOrUpdatePlugin(ctx context.Context, cl client.Client, config *rest.Config, namespace string, log logr.Logger) error {
49+
func CreateOrUpdatePlugin(ctx context.Context, cl client.Client, caps cluster.Capabilities, namespace string, log logr.Logger) error {
5150

5251
// check if we are on OCP
53-
clusterCapabilities, err := cluster.NewCapabilities(config)
54-
if err != nil {
55-
return errors.Wrap(err, "failed to check cluster capabilities")
56-
}
57-
if !clusterCapabilities.IsOnOpenshift {
52+
if !caps.IsOnOpenshift {
5853
log.Info("we are not on Openshift, skipping console plugin activation")
5954
return nil
6055
}

controllers/initializer/init.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ import (
66
"github.com/go-logr/logr"
77
"github.com/pkg/errors"
88

9-
"k8s.io/client-go/rest"
109
ctrl "sigs.k8s.io/controller-runtime"
1110
"sigs.k8s.io/controller-runtime/pkg/client"
1211

12+
"github.com/medik8s/node-healthcheck-operator/controllers/cluster"
1313
"github.com/medik8s/node-healthcheck-operator/controllers/console"
1414
"github.com/medik8s/node-healthcheck-operator/controllers/rbac"
1515
"github.com/medik8s/node-healthcheck-operator/controllers/utils"
@@ -20,17 +20,17 @@ import (
2020
// - create default NHC
2121
// - create console plugin
2222
type initializer struct {
23-
cl client.Client
24-
config *rest.Config
25-
logger logr.Logger
23+
cl client.Client
24+
capabilities cluster.Capabilities
25+
logger logr.Logger
2626
}
2727

2828
// New returns a new Initializer
29-
func New(mgr ctrl.Manager, logger logr.Logger) *initializer {
29+
func New(mgr ctrl.Manager, caps cluster.Capabilities, logger logr.Logger) *initializer {
3030
return &initializer{
31-
cl: mgr.GetClient(),
32-
config: mgr.GetConfig(),
33-
logger: logger,
31+
cl: mgr.GetClient(),
32+
capabilities: caps,
33+
logger: logger,
3434
}
3535
}
3636

@@ -46,7 +46,7 @@ func (i *initializer) Start(ctx context.Context) error {
4646
return errors.Wrap(err, "failed to create or update RBAC aggregation role")
4747
}
4848

49-
if err = console.CreateOrUpdatePlugin(ctx, i.cl, i.config, ns, ctrl.Log.WithName("console-plugin")); err != nil {
49+
if err = console.CreateOrUpdatePlugin(ctx, i.cl, i.capabilities, ns, ctrl.Log.WithName("console-plugin")); err != nil {
5050
return errors.Wrap(err, "failed to create or update the console plugin")
5151
}
5252

controllers/initializer/init_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,17 @@ import (
77
. "github.com/onsi/gomega"
88

99
ctrl "sigs.k8s.io/controller-runtime"
10+
11+
"github.com/medik8s/node-healthcheck-operator/controllers/cluster"
1012
)
1113

1214
var _ = Describe("Init", func() {
1315

1416
var initializer *initializer
1517

1618
JustBeforeEach(func() {
17-
initializer = New(k8sManager, ctrl.Log.WithName("test initializer"))
19+
caps := cluster.Capabilities{IsOnOpenshift: true, HasMachineAPI: true}
20+
initializer = New(k8sManager, caps, ctrl.Log.WithName("test initializer"))
1821
})
1922

2023
AfterEach(func() {

main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ func main() {
199199
ctx := ctrl.SetupSignalHandler()
200200

201201
// Do some initialization
202-
initializer := initializer.New(mgr, ctrl.Log.WithName("Initializer"))
202+
initializer := initializer.New(mgr, caps, ctrl.Log.WithName("Initializer"))
203203
if err = mgr.Add(initializer); err != nil {
204204
setupLog.Error(err, "failed to add initializer to the manager")
205205
os.Exit(1)

0 commit comments

Comments
 (0)