From 1c0302e17b91b12bb956d59d4249be4ee11ff683 Mon Sep 17 00:00:00 2001 From: Arvind Iyengar Date: Wed, 20 May 2020 10:42:08 -0700 Subject: [PATCH] vendor changes --- go.mod | 2 +- go.sum | 2 + .../wrangler/pkg/generic/controller.go | 45 +++++++++++++------ .../wrangler/pkg/generic/controllerfactory.go | 8 ++-- .../wrangler/pkg/summary/client/simple.go | 5 ++- vendor/modules.txt | 2 +- 6 files changed, 43 insertions(+), 21 deletions(-) diff --git a/go.mod b/go.mod index e018fdc..17408cc 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/json-iterator/go v1.1.9 // indirect github.com/pkg/errors v0.8.1 github.com/rancher/dynamiclistener v0.2.1-0.20200213165308-111c5b43e932 - github.com/rancher/wrangler v0.5.4-0.20200326191509-4054411d9736 + github.com/rancher/wrangler v0.5.4-0.20200520040055-b8d49179cfc8 github.com/rancher/wrangler-api v0.5.1-0.20200326194427-c13310506d04 github.com/sirupsen/logrus v1.4.2 github.com/stretchr/testify v1.4.0 diff --git a/go.sum b/go.sum index 951ab2a..8715d67 100644 --- a/go.sum +++ b/go.sum @@ -290,6 +290,8 @@ github.com/rancher/wrangler v0.1.4 h1:bdzBw4H9JKQhXPBPNp4eHbmrkA24+VII865VLiVWcw github.com/rancher/wrangler v0.1.4/go.mod h1:EYP7cqpg42YqElaCm+U9ieSrGQKAXxUH5xsr+XGpWyE= github.com/rancher/wrangler v0.5.4-0.20200326191509-4054411d9736 h1:hqpVLgNUxU5sQUV6SzJPMY8Fy7T9Qht2QkA2Q7O/SH0= github.com/rancher/wrangler v0.5.4-0.20200326191509-4054411d9736/go.mod h1:L4HtjPeX8iqLgsxfJgz+JjKMcX2q3qbRXSeTlC/CSd4= +github.com/rancher/wrangler v0.5.4-0.20200520040055-b8d49179cfc8 h1:gyboq5L4bx+iWyz4xHHFRqt7wyoou8+akRczPgVlFaQ= +github.com/rancher/wrangler v0.5.4-0.20200520040055-b8d49179cfc8/go.mod h1:L4HtjPeX8iqLgsxfJgz+JjKMcX2q3qbRXSeTlC/CSd4= github.com/rancher/wrangler-api v0.2.0/go.mod h1:zTPdNLZO07KvRaVOx6XQbKBSV55Fnn4s7nqmrMPJqd8= github.com/rancher/wrangler-api v0.5.1-0.20200326194427-c13310506d04 h1:y55e+kUaz/UswjN/oJdqHWMuoCG1FxwZJkxJEUONZZE= github.com/rancher/wrangler-api v0.5.1-0.20200326194427-c13310506d04/go.mod h1:R3nemXoECcrDqXDSHdY7yJay4j42TeEkU79Hep0rdJ8= diff --git a/vendor/github.com/rancher/wrangler/pkg/generic/controller.go b/vendor/github.com/rancher/wrangler/pkg/generic/controller.go index 4608875..2ca34c8 100644 --- a/vendor/github.com/rancher/wrangler/pkg/generic/controller.go +++ b/vendor/github.com/rancher/wrangler/pkg/generic/controller.go @@ -46,6 +46,7 @@ type Controller struct { informer cache.SharedIndexInformer handler Handler gvk schema.GroupVersionKind + preStart []string } type ControllerMeta interface { @@ -58,12 +59,11 @@ type ControllerMeta interface { } // NewController returns a new sample controller -func NewController(gvk schema.GroupVersionKind, informer cache.SharedIndexInformer, workqueue workqueue.RateLimitingInterface, handler Handler) *Controller { +func NewController(gvk schema.GroupVersionKind, informer cache.SharedIndexInformer, handler Handler) *Controller { controller := &Controller{ - name: gvk.String(), - handler: handler, - informer: informer, - workqueue: workqueue, + name: gvk.String(), + handler: handler, + informer: informer, } informer.AddEventHandler(cache.ResourceEventHandlerFuncs{ @@ -94,6 +94,15 @@ func (c *Controller) GroupVersionKind() schema.GroupVersionKind { func (c *Controller) run(threadiness int, stopCh <-chan struct{}) { defer utilruntime.HandleCrash() + + if c.workqueue == nil { + c.workqueue = workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), c.name) + for _, key := range c.preStart { + c.workqueue.Add(key) + } + c.preStart = nil + } + defer c.workqueue.ShutDown() // Start the informer factories to begin populating the informer caches @@ -110,7 +119,9 @@ func (c *Controller) run(threadiness int, stopCh <-chan struct{}) { func (c *Controller) Run(threadiness int, stopCh <-chan struct{}) error { if ok := cache.WaitForCacheSync(stopCh, c.informer.HasSynced); !ok { - c.workqueue.ShutDown() + if c.workqueue != nil { + c.workqueue.ShutDown() + } return fmt.Errorf("failed to wait for caches to sync") } @@ -177,18 +188,26 @@ func (c *Controller) syncHandler(key string) error { } func (c *Controller) Enqueue(namespace, name string) { - if namespace == "" { - c.workqueue.AddRateLimited(name) + key := name + if namespace != "" { + key = namespace + "/" + name + } + if c.workqueue == nil { + c.preStart = append(c.preStart, key) } else { - c.workqueue.AddRateLimited(namespace + "/" + name) + c.workqueue.AddRateLimited(key) } } func (c *Controller) EnqueueAfter(namespace, name string, duration time.Duration) { - if namespace == "" { - c.workqueue.AddAfter(name, duration) + key := name + if namespace != "" { + key = namespace + "/" + name + } + if c.workqueue == nil { + c.preStart = append(c.preStart, key) } else { - c.workqueue.AddAfter(namespace+"/"+name, duration) + c.workqueue.AddAfter(key, duration) } } @@ -199,7 +218,7 @@ func (c *Controller) enqueue(obj interface{}) { utilruntime.HandleError(err) return } - c.workqueue.Add(key) + c.Enqueue("", key) } func (c *Controller) handleObject(obj interface{}) { diff --git a/vendor/github.com/rancher/wrangler/pkg/generic/controllerfactory.go b/vendor/github.com/rancher/wrangler/pkg/generic/controllerfactory.go index 9c490ec..f796b87 100644 --- a/vendor/github.com/rancher/wrangler/pkg/generic/controllerfactory.go +++ b/vendor/github.com/rancher/wrangler/pkg/generic/controllerfactory.go @@ -8,7 +8,6 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/client-go/tools/cache" - "k8s.io/client-go/util/workqueue" ) type ControllerManager struct { @@ -89,7 +88,7 @@ func (g *ControllerManager) Enqueue(gvk schema.GroupVersionKind, informer cache. if name != "*" && !nameMatches(key, name) { continue } - controller.workqueue.AddRateLimited(key) + controller.Enqueue("", key) } } else { controller.Enqueue(namespace, name) @@ -137,8 +136,7 @@ func (g *ControllerManager) getController(gvk schema.GroupVersionKind, informer handlers := &Handlers{} - queue := workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), gvk.String()) - controller := NewController(gvk, informer, queue, handlers.Handle) + controller := NewController(gvk, informer, handlers.Handle) if g.handlers == nil { g.handlers = map[schema.GroupVersionKind]*Handlers{} @@ -189,7 +187,7 @@ func (g *ControllerManager) addHandler(ctx context.Context, gvk schema.GroupVers if ok { for _, key := range controller.informer.GetStore().ListKeys() { - controller.workqueue.Add(key) + controller.Enqueue("", key) } } } diff --git a/vendor/github.com/rancher/wrangler/pkg/summary/client/simple.go b/vendor/github.com/rancher/wrangler/pkg/summary/client/simple.go index 446f5a7..5fd919c 100644 --- a/vendor/github.com/rancher/wrangler/pkg/summary/client/simple.go +++ b/vendor/github.com/rancher/wrangler/pkg/summary/client/simple.go @@ -90,7 +90,10 @@ func (c *summaryResourceClient) Watch(ctx context.Context, opts metav1.ListOptio go func() { defer close(eventChan) for event := range resp.ResultChan() { - event.Object = summary.Summarized(event.Object) + // don't encode status objects + if _, ok := event.Object.(*metav1.Status); !ok { + event.Object = summary.Summarized(event.Object) + } eventChan <- event } }() diff --git a/vendor/modules.txt b/vendor/modules.txt index 59e2db7..5de563c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -79,7 +79,7 @@ github.com/rancher/dynamiclistener/server github.com/rancher/dynamiclistener/storage/file github.com/rancher/dynamiclistener/storage/kubernetes github.com/rancher/dynamiclistener/storage/memory -# github.com/rancher/wrangler v0.5.4-0.20200326191509-4054411d9736 +# github.com/rancher/wrangler v0.5.4-0.20200520040055-b8d49179cfc8 github.com/rancher/wrangler/pkg/apply github.com/rancher/wrangler/pkg/apply/injectors github.com/rancher/wrangler/pkg/broadcast