Skip to content

Commit c686b6f

Browse files
VanillaSpoonopenshift-merge-robot
authored andcommitted
refactor: creation of OCM Connection within machinepools.go
1 parent 26ae232 commit c686b6f

File tree

1 file changed

+21
-50
lines changed

1 file changed

+21
-50
lines changed

controllers/machinepools.go

+21-50
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import (
55
"fmt"
66
ocmsdk "github.com/openshift-online/ocm-sdk-go"
77
cmv1 "github.com/openshift-online/ocm-sdk-go/clustersmgmt/v1"
8-
"github.com/openshift-online/ocm-sdk-go/logging"
98
configv1 "github.com/openshift/api/config/v1"
109
arbv1 "github.com/project-codeflare/multi-cluster-app-dispatcher/pkg/apis/controller/v1beta1"
1110
"k8s.io/apimachinery/pkg/types"
@@ -14,23 +13,30 @@ import (
1413
"strings"
1514
)
1615

17-
func scaleMachinePool(aw *arbv1.AppWrapper, userRequestedInstanceType string, replicas int) {
16+
func createOCMConnection() (*ocmsdk.Connection, error) {
1817
logger, err := ocmsdk.NewGoLoggerBuilder().
1918
Debug(false).
2019
Build()
2120
if err != nil {
22-
fmt.Fprintf(os.Stderr, "Can't build logger: %v\n", err)
23-
os.Exit(1)
21+
return nil, fmt.Errorf("can't build logger: %v", err)
2422
}
2523

26-
// Create the connection, and remember to close it:
2724
connection, err := ocmsdk.NewConnectionBuilder().
2825
Logger(logger).
2926
Tokens(ocmToken).
3027
Build()
3128
if err != nil {
32-
fmt.Fprintf(os.Stderr, "Can't build connection: %v\n", err)
33-
os.Exit(1)
29+
return nil, fmt.Errorf("can't build connection: %v", err)
30+
}
31+
32+
return connection, nil
33+
}
34+
35+
func scaleMachinePool(aw *arbv1.AppWrapper, userRequestedInstanceType string, replicas int) {
36+
connection, err := createOCMConnection()
37+
if err != nil {
38+
fmt.Fprintf(os.Stderr, "Error creating OCM connection: %v", err)
39+
return
3440
}
3541
defer connection.Close()
3642

@@ -53,23 +59,13 @@ func scaleMachinePool(aw *arbv1.AppWrapper, userRequestedInstanceType string, re
5359
}
5460

5561
func deleteMachinePool(aw *arbv1.AppWrapper) {
56-
57-
logger, err := ocmsdk.NewGoLoggerBuilder().
58-
Debug(false).
59-
Build()
62+
connection, err := createOCMConnection()
6063
if err != nil {
61-
fmt.Fprintf(os.Stderr, "Can't build logger: %v\n", err)
62-
os.Exit(1)
63-
}
64-
connection, err := ocmsdk.NewConnectionBuilder().
65-
Logger(logger).
66-
Tokens(ocmToken).
67-
Build()
68-
if err != nil {
69-
fmt.Fprintf(os.Stderr, "Can't build connection: %v\n", err)
70-
os.Exit(1)
64+
fmt.Fprintf(os.Stderr, "Error creating OCM connection: %v", err)
65+
return
7166
}
7267
defer connection.Close()
68+
7369
machinePoolsConnection := connection.ClustersMgmt().V1().Clusters().Cluster(ocmClusterID).MachinePools().List()
7470

7571
machinePoolsListResponse, _ := machinePoolsConnection.Send()
@@ -88,20 +84,9 @@ func deleteMachinePool(aw *arbv1.AppWrapper) {
8884

8985
// Check if machine pools exist
9086
func machinePoolExists() bool {
91-
logger, err := ocmsdk.NewGoLoggerBuilder().
92-
Debug(false).
93-
Build()
87+
connection, err := createOCMConnection()
9488
if err != nil {
95-
fmt.Fprintf(os.Stderr, "Can't build logger: %v\n", err)
96-
os.Exit(1)
97-
}
98-
connection, err := ocmsdk.NewConnectionBuilder().
99-
Logger(logger).
100-
Tokens(ocmToken).
101-
Build()
102-
if err != nil {
103-
fmt.Fprintf(os.Stderr, "Can't build connection: %v\n", err)
104-
os.Exit(1)
89+
fmt.Fprintf(os.Stderr, "Error creating OCM connection: %v", err)
10590
}
10691
defer connection.Close()
10792

@@ -112,7 +97,6 @@ func machinePoolExists() bool {
11297

11398
// getOCMClusterID determines the internal clusterID to be used for OCM API calls
11499
func getOCMClusterID(r *AppWrapperReconciler) error {
115-
116100
cv := &configv1.ClusterVersion{}
117101
err := r.Client.Get(context.TODO(), types.NamespacedName{Name: "version"}, cv)
118102
if err != nil {
@@ -123,22 +107,9 @@ func getOCMClusterID(r *AppWrapperReconciler) error {
123107

124108
ctx := context.Background()
125109

126-
// Create a logger that has the debug level enabled:
127-
logger, err := logging.NewGoLoggerBuilder().
128-
Debug(false).
129-
Build()
130-
if err != nil {
131-
fmt.Fprintf(os.Stderr, "Can't build logger: %v\n", err)
132-
os.Exit(1)
133-
}
134-
135-
connection, err := ocmsdk.NewConnectionBuilder().
136-
Logger(logger).
137-
Tokens(ocmToken).
138-
Build()
110+
connection, err := createOCMConnection()
139111
if err != nil {
140-
fmt.Fprintf(os.Stderr, "Can't build connection: %v\n", err)
141-
os.Exit(1)
112+
fmt.Fprintf(os.Stderr, "Error creating OCM connection: %v", err)
142113
}
143114
defer connection.Close()
144115

0 commit comments

Comments
 (0)