@@ -17,7 +17,7 @@ limitations under the License.
17
17
package controllers
18
18
19
19
import (
20
- goctx "context"
20
+ "context"
21
21
"fmt"
22
22
"strings"
23
23
@@ -38,7 +38,7 @@ import (
38
38
39
39
infrav1 "sigs.k8s.io/cluster-api-provider-vsphere/apis/v1beta1"
40
40
"sigs.k8s.io/cluster-api-provider-vsphere/pkg/clustermodule"
41
- "sigs.k8s.io/cluster-api-provider-vsphere/pkg/context"
41
+ capvcontext "sigs.k8s.io/cluster-api-provider-vsphere/pkg/context"
42
42
)
43
43
44
44
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machinedeployments,verbs=get;list;watch
@@ -47,56 +47,56 @@ import (
47
47
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=vspheremachinetemplates,verbs=get;list;watch
48
48
49
49
type Reconciler struct {
50
- * context .ControllerContext
50
+ * capvcontext .ControllerContext
51
51
52
52
ClusterModuleService clustermodule.Service
53
53
}
54
54
55
- func NewReconciler (ctx * context .ControllerContext ) Reconciler {
55
+ func NewReconciler (controllerCtx * capvcontext .ControllerContext ) Reconciler {
56
56
return Reconciler {
57
- ControllerContext : ctx ,
57
+ ControllerContext : controllerCtx ,
58
58
ClusterModuleService : clustermodule .NewService (),
59
59
}
60
60
}
61
61
62
- func (r Reconciler ) Reconcile (ctx * context .ClusterContext ) (reconcile.Result , error ) {
63
- ctx .Logger .Info ("reconcile anti affinity setup" )
64
- if ! clustermodule .IsClusterCompatible (ctx ) {
65
- conditions .MarkFalse (ctx .VSphereCluster , infrav1 .ClusterModulesAvailableCondition , infrav1 .VCenterVersionIncompatibleReason , clusterv1 .ConditionSeverityInfo ,
66
- "vCenter API version %s is not compatible with cluster modules" , ctx .VSphereCluster .Status .VCenterVersion )
67
- ctx .Logger .Info ("cluster is not compatible for anti affinity" ,
68
- "api version" , ctx .VSphereCluster .Status .VCenterVersion )
62
+ func (r Reconciler ) Reconcile (clusterCtx * capvcontext .ClusterContext ) (reconcile.Result , error ) {
63
+ clusterCtx .Logger .Info ("reconcile anti affinity setup" )
64
+ if ! clustermodule .IsClusterCompatible (clusterCtx ) {
65
+ conditions .MarkFalse (clusterCtx .VSphereCluster , infrav1 .ClusterModulesAvailableCondition , infrav1 .VCenterVersionIncompatibleReason , clusterv1 .ConditionSeverityInfo ,
66
+ "vCenter API version %s is not compatible with cluster modules" , clusterCtx .VSphereCluster .Status .VCenterVersion )
67
+ clusterCtx .Logger .Info ("cluster is not compatible for anti affinity" ,
68
+ "api version" , clusterCtx .VSphereCluster .Status .VCenterVersion )
69
69
return reconcile.Result {}, nil
70
70
}
71
71
72
- objectMap , err := r .fetchMachineOwnerObjects (ctx )
72
+ objectMap , err := r .fetchMachineOwnerObjects (clusterCtx )
73
73
if err != nil {
74
74
return reconcile.Result {}, err
75
75
}
76
76
77
77
modErrs := []clusterModError {}
78
78
79
79
clusterModuleSpecs := []infrav1.ClusterModule {}
80
- for _ , mod := range ctx .VSphereCluster .Spec .ClusterModules {
80
+ for _ , mod := range clusterCtx .VSphereCluster .Spec .ClusterModules {
81
81
curr := mod .TargetObjectName
82
82
if mod .ControlPlane {
83
83
curr = appendKCPKey (curr )
84
84
}
85
85
if obj , ok := objectMap [curr ]; ! ok {
86
86
// delete the cluster module as the object is marked for deletion
87
87
// or already deleted.
88
- if err := r .ClusterModuleService .Remove (ctx , mod .ModuleUUID ); err != nil {
89
- ctx .Logger .Error (err , "failed to delete cluster module for object" ,
88
+ if err := r .ClusterModuleService .Remove (clusterCtx , mod .ModuleUUID ); err != nil {
89
+ clusterCtx .Logger .Error (err , "failed to delete cluster module for object" ,
90
90
"name" , mod .TargetObjectName , "moduleUUID" , mod .ModuleUUID )
91
91
}
92
92
delete (objectMap , curr )
93
93
} else {
94
94
// verify the cluster module
95
- exists , err := r .ClusterModuleService .DoesExist (ctx , obj , mod .ModuleUUID )
95
+ exists , err := r .ClusterModuleService .DoesExist (clusterCtx , obj , mod .ModuleUUID )
96
96
if err != nil {
97
97
// Add the error to modErrs so it gets handled below.
98
98
modErrs = append (modErrs , clusterModError {obj .GetName (), errors .Wrapf (err , "failed to verify cluster module %q" , mod .ModuleUUID )})
99
- ctx .Logger .Error (err , "failed to verify cluster module for object" ,
99
+ clusterCtx .Logger .Error (err , "failed to verify cluster module for object" ,
100
100
"name" , mod .TargetObjectName , "moduleUUID" , mod .ModuleUUID )
101
101
// Append the module and remove it from objectMap to not create new ones instead.
102
102
clusterModuleSpecs = append (clusterModuleSpecs , infrav1.ClusterModule {
@@ -119,17 +119,17 @@ func (r Reconciler) Reconcile(ctx *context.ClusterContext) (reconcile.Result, er
119
119
})
120
120
delete (objectMap , curr )
121
121
} else {
122
- ctx .Logger .Info ("module for object not found" ,
122
+ clusterCtx .Logger .Info ("module for object not found" ,
123
123
"moduleUUID" , mod .ModuleUUID ,
124
124
"object" , mod .TargetObjectName )
125
125
}
126
126
}
127
127
}
128
128
129
129
for _ , obj := range objectMap {
130
- moduleUUID , err := r .ClusterModuleService .Create (ctx , obj )
130
+ moduleUUID , err := r .ClusterModuleService .Create (clusterCtx , obj )
131
131
if err != nil {
132
- ctx .Logger .Error (err , "failed to create cluster module for target object" , "name" , obj .GetName ())
132
+ clusterCtx .Logger .Error (err , "failed to create cluster module for target object" , "name" , obj .GetName ())
133
133
modErrs = append (modErrs , clusterModError {obj .GetName (), err })
134
134
continue
135
135
}
@@ -143,7 +143,7 @@ func (r Reconciler) Reconcile(ctx *context.ClusterContext) (reconcile.Result, er
143
143
ModuleUUID : moduleUUID ,
144
144
})
145
145
}
146
- ctx .VSphereCluster .Spec .ClusterModules = clusterModuleSpecs
146
+ clusterCtx .VSphereCluster .Spec .ClusterModules = clusterModuleSpecs
147
147
148
148
switch {
149
149
case len (modErrs ) > 0 :
@@ -155,17 +155,17 @@ func (r Reconciler) Reconcile(ctx *context.ClusterContext) (reconcile.Result, er
155
155
} else {
156
156
err = errors .New (generateClusterModuleErrorMessage (modErrs ))
157
157
}
158
- conditions .MarkFalse (ctx .VSphereCluster , infrav1 .ClusterModulesAvailableCondition , infrav1 .ClusterModuleSetupFailedReason ,
158
+ conditions .MarkFalse (clusterCtx .VSphereCluster , infrav1 .ClusterModulesAvailableCondition , infrav1 .ClusterModuleSetupFailedReason ,
159
159
clusterv1 .ConditionSeverityWarning , generateClusterModuleErrorMessage (modErrs ))
160
160
case len (modErrs ) == 0 && len (clusterModuleSpecs ) > 0 :
161
- conditions .MarkTrue (ctx .VSphereCluster , infrav1 .ClusterModulesAvailableCondition )
161
+ conditions .MarkTrue (clusterCtx .VSphereCluster , infrav1 .ClusterModulesAvailableCondition )
162
162
default :
163
- conditions .Delete (ctx .VSphereCluster , infrav1 .ClusterModulesAvailableCondition )
163
+ conditions .Delete (clusterCtx .VSphereCluster , infrav1 .ClusterModulesAvailableCondition )
164
164
}
165
165
return reconcile.Result {}, err
166
166
}
167
167
168
- func (r Reconciler ) toAffinityInput (ctx goctx .Context , obj client.Object ) []reconcile.Request {
168
+ func (r Reconciler ) toAffinityInput (ctx context .Context , obj client.Object ) []reconcile.Request {
169
169
cluster , err := util .GetClusterFromMetadata (ctx , r .Client , metav1.ObjectMeta {
170
170
Namespace : obj .GetNamespace (),
171
171
Labels : obj .GetLabels (),
@@ -226,19 +226,19 @@ func (r Reconciler) PopulateWatchesOnController(mgr manager.Manager, controller
226
226
)
227
227
}
228
228
229
- func (r Reconciler ) fetchMachineOwnerObjects (ctx * context .ClusterContext ) (map [string ]clustermodule.Wrapper , error ) {
229
+ func (r Reconciler ) fetchMachineOwnerObjects (clusterCtx * capvcontext .ClusterContext ) (map [string ]clustermodule.Wrapper , error ) {
230
230
objects := map [string ]clustermodule.Wrapper {}
231
231
232
- name , ok := ctx .VSphereCluster .GetLabels ()[clusterv1 .ClusterNameLabel ]
232
+ name , ok := clusterCtx .VSphereCluster .GetLabels ()[clusterv1 .ClusterNameLabel ]
233
233
if ! ok {
234
234
return nil , errors .Errorf ("missing CAPI cluster label" )
235
235
}
236
236
237
237
labels := map [string ]string {clusterv1 .ClusterNameLabel : name }
238
238
kcpList := & controlplanev1.KubeadmControlPlaneList {}
239
239
if err := r .Client .List (
240
- ctx , kcpList ,
241
- client .InNamespace (ctx .VSphereCluster .GetNamespace ()),
240
+ clusterCtx , kcpList ,
241
+ client .InNamespace (clusterCtx .VSphereCluster .GetNamespace ()),
242
242
client .MatchingLabels (labels )); err != nil {
243
243
return nil , errors .Wrapf (err , "failed to list control plane objects" )
244
244
}
@@ -254,8 +254,8 @@ func (r Reconciler) fetchMachineOwnerObjects(ctx *context.ClusterContext) (map[s
254
254
255
255
mdList := & clusterv1.MachineDeploymentList {}
256
256
if err := r .Client .List (
257
- ctx , mdList ,
258
- client .InNamespace (ctx .VSphereCluster .GetNamespace ()),
257
+ clusterCtx , mdList ,
258
+ client .InNamespace (clusterCtx .VSphereCluster .GetNamespace ()),
259
259
client .MatchingLabels (labels )); err != nil {
260
260
return nil , errors .Wrapf (err , "failed to list machine deployment objects" )
261
261
}
0 commit comments