@@ -3,6 +3,7 @@ package common
3
3
4
4
import (
5
5
"context"
6
+ "errors"
6
7
"fmt"
7
8
"strings"
8
9
@@ -14,7 +15,7 @@ import (
14
15
corev1 "k8s.io/api/core/v1"
15
16
rbacv1 "k8s.io/api/rbac/v1"
16
17
storagev1 "k8s.io/api/storage/v1"
17
- "k8s.io/apimachinery/pkg/api/errors"
18
+ k8sErr "k8s.io/apimachinery/pkg/api/errors"
18
19
"k8s.io/apimachinery/pkg/api/meta"
19
20
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
20
21
"k8s.io/apimachinery/pkg/types"
@@ -48,7 +49,7 @@ func (ch *ControllerHelper) DeleteClusterRoleBindings(clusterRoleBindings []*rba
48
49
logger := ch .Log .WithName ("DeleteClusterRoleBindings" )
49
50
for _ , crb := range clusterRoleBindings {
50
51
found , err := ch .getClusterRoleBinding (crb )
51
- if err != nil && errors .IsNotFound (err ) {
52
+ if err != nil && k8sErr .IsNotFound (err ) {
52
53
continue
53
54
} else if err != nil {
54
55
logger .Error (err , "failed to get ClusterRoleBinding" , "Name" , crb .GetName ())
@@ -69,7 +70,7 @@ func (ch *ControllerHelper) DeleteStorageClasses(storageClasses []*storagev1.Sto
69
70
logger := ch .Log .WithName ("DeleteStorageClasses" )
70
71
for _ , sc := range storageClasses {
71
72
found , err := ch .getStorageClass (sc )
72
- if err != nil && errors .IsNotFound (err ) {
73
+ if err != nil && k8sErr .IsNotFound (err ) {
73
74
continue
74
75
} else if err != nil {
75
76
logger .Error (err , "failed to get StorageClasses" , "Name" , sc .GetName ())
@@ -89,7 +90,7 @@ func (ch *ControllerHelper) ReconcileClusterRoleBinding(clusterRoleBindings []*r
89
90
logger := ch .Log .WithValues ("Resource Type" , "ClusterRoleBinding" )
90
91
for _ , crb := range clusterRoleBindings {
91
92
_ , err := ch .getClusterRoleBinding (crb )
92
- if err != nil && errors .IsNotFound (err ) {
93
+ if err != nil && k8sErr .IsNotFound (err ) {
93
94
logger .Info ("Creating a new ClusterRoleBinding" , "Name" , crb .GetName ())
94
95
err = ch .Create (context .TODO (), crb )
95
96
if err != nil {
@@ -109,7 +110,7 @@ func (ch *ControllerHelper) ReconcileStorageClasses(storageclasses []*storagev1.
109
110
logger := ch .Log .WithValues ("Resource Type" , "StorageClasses" )
110
111
for _ , sc := range storageclasses {
111
112
_ , err := ch .getStorageClass (sc )
112
- if err != nil && errors .IsNotFound (err ) {
113
+ if err != nil && k8sErr .IsNotFound (err ) {
113
114
logger .Info ("Creating a new StorageClass" , "Name" , sc .GetName ())
114
115
err = ch .Create (context .TODO (), sc )
115
116
if err != nil {
@@ -147,7 +148,7 @@ func (ch *ControllerHelper) DeleteClusterRoles(clusterRoles []*rbacv1.ClusterRol
147
148
logger := ch .Log .WithName ("DeleteClusterRoles" )
148
149
for _ , cr := range clusterRoles {
149
150
found , err := ch .getClusterRole (cr )
150
- if err != nil && errors .IsNotFound (err ) {
151
+ if err != nil && k8sErr .IsNotFound (err ) {
151
152
continue
152
153
} else if err != nil {
153
154
logger .Error (err , "failed to get ClusterRole" , "Name" , cr .GetName ())
@@ -167,7 +168,7 @@ func (ch *ControllerHelper) ReconcileClusterRole(clusterRoles []*rbacv1.ClusterR
167
168
logger := ch .Log .WithValues ("Resource Type" , "ClusterRole" )
168
169
for _ , cr := range clusterRoles {
169
170
_ , err := ch .getClusterRole (cr )
170
- if err != nil && errors .IsNotFound (err ) {
171
+ if err != nil && k8sErr .IsNotFound (err ) {
171
172
logger .Info ("Creating a new ClusterRole" , "Name" , cr .GetName ())
172
173
err = ch .Create (context .TODO (), cr )
173
174
if err != nil {
@@ -284,6 +285,12 @@ func (ch *ControllerHelper) GetClusterInfo(inConfig rest.Config) error {
284
285
return err
285
286
}
286
287
288
+ if len (nodes .Items ) == 0 {
289
+ err := errors .New ("cluster nodes not found" )
290
+ logger .Error (err , "failed to fetch cluster nodes list" )
291
+ return err
292
+ }
293
+
287
294
logger .Info ("Get IBM cluster region..." )
288
295
if val , ok := nodes .Items [0 ].Labels ["ibm-cloud.kubernetes.io/region" ]; ok {
289
296
ch .Region = val
0 commit comments