Skip to content

Commit b799da3

Browse files
committed
Reconcile with controller-runtime v0.7.2 changes
This updates our controllers to work with recent controller runtime updates (Simplify usage of EnqueueRequestsFromMapFunc, and Remove MapObject type and use client.Object directly): - kubernetes-sigs/controller-runtime#1119 - kubernetes-sigs/controller-runtime#1207
1 parent a6d04c0 commit b799da3

8 files changed

+25
-44
lines changed

config/manager/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1
44
kind: Kustomization
55
images:
66
- name: controller
7-
newName: quay.io/openstack-k8s-operators/osp-director-operator
7+
newName: quay.io/dprince/osp-director-operator
88
newTag: 0.0.1

controllers/openstackbaremetalset_controller.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,8 @@ func (r *OpenStackBaremetalSetReconciler) GetScheme() *runtime.Scheme {
8989
// +kubebuilder:rbac:groups=core,resources=secrets/finalizers,verbs=create;delete;get;list;patch;update;watch
9090

9191
// Reconcile baremetalset
92-
func (r *OpenStackBaremetalSetReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
92+
func (r *OpenStackBaremetalSetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
9393
_ = r.Log.WithValues("openstackbaremetalset", req.NamespacedName)
94-
ctx := context.Background()
9594

9695
// Fetch the instance
9796
instance := &ospdirectorv1beta1.OpenStackBaremetalSet{}
@@ -246,12 +245,12 @@ func (r *OpenStackBaremetalSetReconciler) Reconcile(req ctrl.Request) (ctrl.Resu
246245

247246
// SetupWithManager - prepare controller for use with operator manager
248247
func (r *OpenStackBaremetalSetReconciler) SetupWithManager(mgr ctrl.Manager) error {
249-
openshiftMachineAPIBareMetalHostsFn := handler.ToRequestsFunc(func(o handler.MapObject) []reconcile.Request {
248+
openshiftMachineAPIBareMetalHostsFn := handler.EnqueueRequestsFromMapFunc(func(o client.Object) []reconcile.Request {
250249
result := []reconcile.Request{}
251-
label := o.Meta.GetLabels()
250+
label := o.GetLabels()
252251
// verify object has ownerUIDLabelSelector
253252
if uid, ok := label[baremetalset.OwnerUIDLabelSelector]; ok {
254-
r.Log.Info(fmt.Sprintf("BareMetalHost object %s marked with OSP owner ref: %s", o.Meta.GetName(), uid))
253+
r.Log.Info(fmt.Sprintf("BareMetalHost object %s marked with OSP owner ref: %s", o.GetName(), uid))
255254
// return namespace and Name of CR
256255
name := client.ObjectKey{
257256
Namespace: label[baremetalset.OwnerNameSpaceLabelSelector],
@@ -268,10 +267,7 @@ func (r *OpenStackBaremetalSetReconciler) SetupWithManager(mgr ctrl.Manager) err
268267
return ctrl.NewControllerManagedBy(mgr).
269268
For(&ospdirectorv1beta1.OpenStackBaremetalSet{}).
270269
Owns(&ospdirectorv1beta1.OpenStackProvisionServer{}).
271-
Watches(&source.Kind{Type: &metal3v1alpha1.BareMetalHost{}},
272-
&handler.EnqueueRequestsFromMapFunc{
273-
ToRequests: openshiftMachineAPIBareMetalHostsFn,
274-
}).
270+
Watches(&source.Kind{Type: &metal3v1alpha1.BareMetalHost{}}, openshiftMachineAPIBareMetalHostsFn).
275271
Complete(r)
276272
}
277273

controllers/openstackclient_controller.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,7 @@ func (r *OpenStackClientReconciler) GetScheme() *runtime.Scheme {
7373
// +kubebuilder:rbac:groups=core,resources=pods,verbs=create;delete;get;list;patch;update;watch
7474

7575
// Reconcile - openstackclient
76-
func (r *OpenStackClientReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
77-
_ = context.Background()
76+
func (r *OpenStackClientReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
7877
_ = r.Log.WithValues("openstackclient", req.NamespacedName)
7978

8079
// Fetch the controller VM instance

controllers/openstackcontrolplane_controller.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,7 @@ func (r *OpenStackControlPlaneReconciler) GetScheme() *runtime.Scheme {
8080
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=create;delete;get;list;patch;update;watch
8181

8282
// Reconcile - control plane
83-
func (r *OpenStackControlPlaneReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
84-
_ = context.Background()
83+
func (r *OpenStackControlPlaneReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
8584
_ = r.Log.WithValues("controlplane", req.NamespacedName)
8685

8786
// Fetch the controller VM instance
@@ -275,21 +274,21 @@ func (r *OpenStackControlPlaneReconciler) Reconcile(req ctrl.Request) (ctrl.Resu
275274
func (r *OpenStackControlPlaneReconciler) SetupWithManager(mgr ctrl.Manager) error {
276275

277276
// watch for objects in the same namespace as the controller CR
278-
namespacedFn := handler.ToRequestsFunc(func(obj handler.MapObject) []reconcile.Request {
277+
namespacedFn := handler.EnqueueRequestsFromMapFunc(func(obj client.Object) []reconcile.Request {
279278
result := []reconcile.Request{}
280279

281280
// get all CRs from the same namespace
282281
crs := &ospdirectorv1beta1.OpenStackControlPlaneList{}
283282
listOpts := []client.ListOption{
284-
client.InNamespace(obj.Meta.GetNamespace()),
283+
client.InNamespace(obj.GetNamespace()),
285284
}
286285
if err := r.Client.List(context.Background(), crs, listOpts...); err != nil {
287286
r.Log.Error(err, "Unable to retrieve CRs %v")
288287
return nil
289288
}
290289

291290
for _, cr := range crs.Items {
292-
if obj.Meta.GetNamespace() == cr.Namespace {
291+
if obj.GetNamespace() == cr.Namespace {
293292
// return namespace and Name of CR
294293
name := client.ObjectKey{
295294
Namespace: cr.Namespace,
@@ -311,10 +310,7 @@ func (r *OpenStackControlPlaneReconciler) SetupWithManager(mgr ctrl.Manager) err
311310
Owns(&ospdirectorv1beta1.OpenStackClient{}).
312311
// watch pods in the same namespace as we want to reconcile if
313312
// e.g. a controller vm gets destroyed
314-
Watches(&source.Kind{Type: &corev1.Pod{}},
315-
&handler.EnqueueRequestsFromMapFunc{
316-
ToRequests: namespacedFn,
317-
}).
313+
Watches(&source.Kind{Type: &corev1.Pod{}}, namespacedFn).
318314
Complete(r)
319315
}
320316

controllers/openstackipset_controller.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@ func (r *OpenStackIPSetReconciler) GetScheme() *runtime.Scheme {
6969
// +kubebuilder:rbac:groups=osp-director.openstack.org,resources=openstackipsets/status,verbs=get;update;patch
7070

7171
// Reconcile - reconcile OpenStackIPSet objects
72-
func (r *OpenStackIPSetReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
73-
_ = context.Background()
72+
func (r *OpenStackIPSetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
7473
_ = r.Log.WithValues("openstackipset", req.NamespacedName)
7574

7675
// Fetch the controller VM instance

controllers/openstacknet_controller.go

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,7 @@ func (r *OpenStackNetReconciler) GetScheme() *runtime.Scheme {
8080
// +kubebuilder:rbac:groups=nmstate.io,resources=nodenetworkconfigurationpolicies,verbs=create;delete;get;list;patch;update;watch
8181

8282
// Reconcile -
83-
func (r *OpenStackNetReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
84-
_ = context.Background()
83+
func (r *OpenStackNetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
8584
_ = r.Log.WithValues("overcloudnet", req.NamespacedName)
8685

8786
// Fetch the controller VM instance
@@ -203,12 +202,12 @@ func (r *OpenStackNetReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error
203202

204203
// SetupWithManager -
205204
func (r *OpenStackNetReconciler) SetupWithManager(mgr ctrl.Manager) error {
206-
sriovNetworkFn := handler.ToRequestsFunc(func(o handler.MapObject) []reconcile.Request {
205+
sriovNetworkFn := handler.EnqueueRequestsFromMapFunc(func(o client.Object) []reconcile.Request {
207206
result := []reconcile.Request{}
208-
label := o.Meta.GetLabels()
207+
label := o.GetLabels()
209208
// verify object has ownerUIDLabelSelector
210209
if uid, ok := label[OwnerUIDLabelSelector]; ok {
211-
r.Log.Info(fmt.Sprintf("SriovNetwork object %s marked with OSP owner ref: %s", o.Meta.GetName(), uid))
210+
r.Log.Info(fmt.Sprintf("SriovNetwork object %s marked with OSP owner ref: %s", o.GetName(), uid))
212211
// return namespace and Name of CR
213212
name := client.ObjectKey{
214213
Namespace: label[OwnerNameSpaceLabelSelector],
@@ -222,12 +221,12 @@ func (r *OpenStackNetReconciler) SetupWithManager(mgr ctrl.Manager) error {
222221
return nil
223222
})
224223

225-
sriovNetworkNodePolicyFn := handler.ToRequestsFunc(func(o handler.MapObject) []reconcile.Request {
224+
sriovNetworkNodePolicyFn := handler.EnqueueRequestsFromMapFunc(func(o client.Object) []reconcile.Request {
226225
result := []reconcile.Request{}
227-
label := o.Meta.GetLabels()
226+
label := o.GetLabels()
228227
// verify object has ownerUIDLabelSelector
229228
if uid, ok := label[OwnerUIDLabelSelector]; ok {
230-
r.Log.Info(fmt.Sprintf("SriovNetworkNodePolicy object %s marked with OSP owner ref: %s", o.Meta.GetName(), uid))
229+
r.Log.Info(fmt.Sprintf("SriovNetworkNodePolicy object %s marked with OSP owner ref: %s", o.GetName(), uid))
231230
// return namespace and Name of CR
232231
name := client.ObjectKey{
233232
Namespace: label[OwnerNameSpaceLabelSelector],
@@ -244,14 +243,8 @@ func (r *OpenStackNetReconciler) SetupWithManager(mgr ctrl.Manager) error {
244243
return ctrl.NewControllerManagedBy(mgr).
245244
For(&ospdirectorv1beta1.OpenStackNet{}).
246245
Owns(&networkv1.NetworkAttachmentDefinition{}).
247-
Watches(&source.Kind{Type: &sriovnetworkv1.SriovNetwork{}},
248-
&handler.EnqueueRequestsFromMapFunc{
249-
ToRequests: sriovNetworkFn,
250-
}).
251-
Watches(&source.Kind{Type: &sriovnetworkv1.SriovNetworkNodePolicy{}},
252-
&handler.EnqueueRequestsFromMapFunc{
253-
ToRequests: sriovNetworkNodePolicyFn,
254-
}).
246+
Watches(&source.Kind{Type: &sriovnetworkv1.SriovNetwork{}}, sriovNetworkFn).
247+
Watches(&source.Kind{Type: &sriovnetworkv1.SriovNetworkNodePolicy{}}, sriovNetworkNodePolicyFn).
255248
Complete(r)
256249
}
257250

controllers/openstackprovisionserver_controller.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,7 @@ func (r *OpenStackProvisionServerReconciler) GetScheme() *runtime.Scheme {
9494
// +kubebuilder:rbac:groups=security.openshift.io,namespace=openstack,resources="securitycontextconstraints",resourceNames="anyuid",verbs="use"
9595

9696
// Reconcile - provision image servers
97-
func (r *OpenStackProvisionServerReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
98-
_ = context.Background()
97+
func (r *OpenStackProvisionServerReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
9998
_ = r.Log.WithValues("openstackprovisionserver", req.NamespacedName)
10099

101100
// Fetch the ProvisionServer instance

controllers/openstackvmset_controller.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,7 @@ func (r *OpenStackVMSetReconciler) GetScheme() *runtime.Scheme {
9797
// +kubebuilder:rbac:groups=sriovnetwork.openshift.io,resources=sriovnetworknodepolicies;sriovnetworks,verbs=get;list;watch;create;update;patch;delete
9898

9999
// Reconcile - controller VMs
100-
func (r *OpenStackVMSetReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
101-
_ = context.Background()
100+
func (r *OpenStackVMSetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
102101
_ = r.Log.WithValues("vmset", req.NamespacedName)
103102

104103
// Fetch the controller VM instance
@@ -131,7 +130,7 @@ func (r *OpenStackVMSetReconciler) Reconcile(req ctrl.Request) (ctrl.Result, err
131130
// registering our finalizer.
132131
if !controllerutil.ContainsFinalizer(instance, vmset.FinalizerName) {
133132
controllerutil.AddFinalizer(instance, vmset.FinalizerName)
134-
if err := r.Update(context.Background(), instance); err != nil {
133+
if err := r.Update(ctx, instance); err != nil {
135134
return ctrl.Result{}, err
136135
}
137136
r.Log.Info(fmt.Sprintf("Finalizer %s added to CR %s", vmset.FinalizerName, instance.Name))

0 commit comments

Comments
 (0)