Skip to content
This repository was archived by the owner on Apr 24, 2024. It is now read-only.

Commit e4a2c39

Browse files
committed
Report reconciliation duration
1 parent 9b893a2 commit e4a2c39

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

internal/controller/dnsresolver_controller.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,17 @@ import (
2323
"strconv"
2424
"time"
2525

26+
"github.com/go-logr/logr"
2627
"github.com/miekg/dns"
2728
"k8s.io/api/core/v1"
29+
networking "k8s.io/api/networking/v1"
2830
"k8s.io/apimachinery/pkg/api/errors"
2931
"k8s.io/apimachinery/pkg/runtime"
3032
"k8s.io/apimachinery/pkg/types"
3133
ctrl "sigs.k8s.io/controller-runtime"
3234
"sigs.k8s.io/controller-runtime/pkg/client"
3335
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
3436
"sigs.k8s.io/controller-runtime/pkg/log"
35-
networking "k8s.io/api/networking/v1"
3637

3738
dnsv1alpha1 "github.com/delta10/dns-resolution-operator/api/v1alpha1"
3839
)
@@ -107,6 +108,10 @@ func init() {
107108
}
108109
}
109110

111+
func logRequeue(start time.Time, requeue time.Duration, log *logr.Logger) {
112+
log.Info("Requeueing DNSResolver", "RequeueAfter", requeue, "Reconcile duration", time.Since(start).String())
113+
}
114+
110115
//+kubebuilder:rbac:groups=dns.k8s.delta10.nl,resources=dnsresolvers,verbs=get;list;watch
111116
//+kubebuilder:rbac:groups=dns.k8s.delta10.nl,resources=dnsresolvers/status,verbs=get;update;patch
112117
//+kubebuilder:rbac:groups=dns.k8s.delta10.nl,resources=dnsresolvers/finalizers,verbs=update
@@ -119,6 +124,7 @@ func init() {
119124
// Reconcile makes sure that each DNSResolver has an associated IPMap.
120125
// It gets triggered by changes in DNSResolvers
121126
func (r *DNSResolverReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
127+
start_time := time.Now()
122128
log := log.FromContext(ctx)
123129
// result object used for errors
124130
default_result_obj := ctrl.Result{}
@@ -199,7 +205,7 @@ func (r *DNSResolverReconciler) Reconcile(ctx context.Context, req ctrl.Request)
199205
}
200206

201207
requeue := time.Second * time.Duration(minttl+1)
202-
log.Info("Requeueing DNSResolver", "RequeueAfter", requeue)
208+
logRequeue(start_time, requeue, &log)
203209
return ctrl.Result{RequeueAfter: requeue}, nil
204210

205211
} else if get_err == nil {
@@ -237,7 +243,7 @@ func (r *DNSResolverReconciler) Reconcile(ctx context.Context, req ctrl.Request)
237243
}
238244

239245
requeue := time.Second * time.Duration(minttl+1)
240-
log.Info("Requeueing DNSResolver", "RequeueAfter", requeue)
246+
logRequeue(start_time, requeue, &log)
241247
return ctrl.Result{RequeueAfter: requeue}, nil
242248
} else {
243249
return default_result_obj, fmt.Errorf("failed to get IPMap: %w", get_err)

internal/controller/networkpolicy.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@ func NPGenerate(ip_map *dnsv1alpha1.IPMap) (np *networking.NetworkPolicy) {
2929
ObjectMeta: v1.ObjectMeta{
3030
Name: ip_map.Name,
3131
Namespace: ip_map.Namespace,
32-
Labels: ip_map.Labels,
33-
OwnerReferences: ip_map.OwnerReferences,
3432
},
3533
Spec: networking.NetworkPolicySpec{
3634
Egress: []networking.NetworkPolicyEgressRule{
@@ -53,6 +51,8 @@ func (r DNSResolverReconciler) NPReconcile(ctx context.Context, ip_map *dnsv1alp
5351
log.Info("Creating NetworkPolicy")
5452

5553
np := NPGenerate(ip_map)
54+
np.ObjectMeta.OwnerReferences = ip_map.OwnerReferences
55+
np.ObjectMeta.Labels = ip_map.Labels
5656
if err := r.Create(ctx, np); err != nil {
5757
return err
5858
}
@@ -61,6 +61,8 @@ func (r DNSResolverReconciler) NPReconcile(ctx context.Context, ip_map *dnsv1alp
6161

6262
np := NPGenerate(ip_map)
6363
np.ObjectMeta = old_np.ObjectMeta
64+
np.ObjectMeta.OwnerReferences = ip_map.OwnerReferences
65+
np.ObjectMeta.Labels = ip_map.Labels
6466
if err := r.Update(ctx, np); err != nil {
6567
return err
6668
}

0 commit comments

Comments
 (0)