From fb9903ed7c2c2ac606031360a440a9bc83073af9 Mon Sep 17 00:00:00 2001 From: Leonor Oliveira <9090754+leonorfmartins@users.noreply.github.com> Date: Thu, 1 Aug 2024 14:09:51 +0100 Subject: [PATCH] Allow to watch from the dual writer (#91375) * Allow to watch from the dual writer * Remove comments * Lint --- pkg/apiserver/rest/dualwriter_mode3.go | 17 +++++++++-------- pkg/apiserver/rest/dualwriter_mode4.go | 17 +++++++++-------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/pkg/apiserver/rest/dualwriter_mode3.go b/pkg/apiserver/rest/dualwriter_mode3.go index 76dd8adb127..b52f2e42ea1 100644 --- a/pkg/apiserver/rest/dualwriter_mode3.go +++ b/pkg/apiserver/rest/dualwriter_mode3.go @@ -8,13 +8,15 @@ import ( metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/apiserver/pkg/registry/rest" "k8s.io/klog/v2" ) type DualWriterMode3 struct { - Legacy LegacyStorage - Storage Storage + Legacy LegacyStorage + Storage Storage + watchImp rest.Watcher // watch is only available in mode 3 and 4 *dualWriterMetrics kind string Log klog.Logger @@ -170,12 +172,11 @@ func (d *DualWriterMode3) DeleteCollection(ctx context.Context, deleteValidation return res, err } -//TODO: uncomment when storage watch is implemented -// func (d *DualWriterMode3) Watch(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { -// var method = "watch" -// d.Log.WithValues("kind", d.kind, "method", method, "mode", mode3Str).Info("starting to watch") -// return d.Storage.Watch(ctx, options) -// } +func (d *DualWriterMode3) Watch(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { + var method = "watch" + d.Log.WithValues("method", method, "mode", mode3Str).Info("starting to watch") + return d.watchImp.Watch(ctx, options) +} func (d *DualWriterMode3) Destroy() { d.Storage.Destroy() diff --git a/pkg/apiserver/rest/dualwriter_mode4.go b/pkg/apiserver/rest/dualwriter_mode4.go index f0491e567a0..9f98b3c6f11 100644 --- a/pkg/apiserver/rest/dualwriter_mode4.go +++ b/pkg/apiserver/rest/dualwriter_mode4.go @@ -7,13 +7,15 @@ import ( metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/apiserver/pkg/registry/rest" "k8s.io/klog/v2" ) type DualWriterMode4 struct { - Legacy LegacyStorage - Storage Storage + Legacy LegacyStorage + Storage Storage + watchImp rest.Watcher // watch is only available in mode 3 and 4 *dualWriterMetrics kind string Log klog.Logger @@ -122,12 +124,11 @@ func (d *DualWriterMode4) List(ctx context.Context, options *metainternalversion return res, err } -//TODO: uncomment when storage watch is implemented -// func (d *DualWriterMode4) Watch(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { -// var method = "watch" -// d.Log.WithValues("kind", d.kind, "method", method, "mode", mode4Str).Info("starting to watch") -// return d.Storage.Watch(ctx, options) -// } +func (d *DualWriterMode4) Watch(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { + var method = "watch" + d.Log.WithValues("method", method, "mode", mode4Str).Info("starting to watch") + return d.watchImp.Watch(ctx, options) +} func (d *DualWriterMode4) Destroy() { d.Storage.Destroy()