vendor changes

This commit is contained in:
Arvind Iyengar 2020-05-20 10:42:08 -07:00
parent c5087d55cf
commit 1c0302e17b
6 changed files with 43 additions and 21 deletions

2
go.mod
View File

@ -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

2
go.sum
View File

@ -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=

View File

@ -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{}) {

View File

@ -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)
}
}
}

View File

@ -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
}
}()

2
vendor/modules.txt vendored
View File

@ -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