use istio client-go library instead of knative (#1661)
use istio client-go library instead of knative bump kubernetes dependency version change code coverage to codecov
This commit is contained in:
41
vendor/sigs.k8s.io/controller-runtime/pkg/cache/informer_cache.go
generated
vendored
41
vendor/sigs.k8s.io/controller-runtime/pkg/cache/informer_cache.go
generated
vendored
@@ -38,6 +38,13 @@ var (
|
||||
_ Cache = &informerCache{}
|
||||
)
|
||||
|
||||
// ErrCacheNotStarted is returned when trying to read from the cache that wasn't started.
|
||||
type ErrCacheNotStarted struct{}
|
||||
|
||||
func (*ErrCacheNotStarted) Error() string {
|
||||
return "the cache is not started, can not read objects"
|
||||
}
|
||||
|
||||
// informerCache is a Kubernetes Object cache populated from InformersMap. informerCache wraps an InformersMap.
|
||||
type informerCache struct {
|
||||
*internal.InformersMap
|
||||
@@ -50,15 +57,19 @@ func (ip *informerCache) Get(ctx context.Context, key client.ObjectKey, out runt
|
||||
return err
|
||||
}
|
||||
|
||||
cache, err := ip.InformersMap.Get(gvk, out)
|
||||
started, cache, err := ip.InformersMap.Get(gvk, out)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if !started {
|
||||
return &ErrCacheNotStarted{}
|
||||
}
|
||||
return cache.Reader.Get(ctx, key, out)
|
||||
}
|
||||
|
||||
// List implements Reader
|
||||
func (ip *informerCache) List(ctx context.Context, opts *client.ListOptions, out runtime.Object) error {
|
||||
func (ip *informerCache) List(ctx context.Context, out runtime.Object, opts ...client.ListOption) error {
|
||||
gvk, err := apiutil.GVKForObject(out, ip.Scheme)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -90,22 +101,26 @@ func (ip *informerCache) List(ctx context.Context, opts *client.ListOptions, out
|
||||
}
|
||||
}
|
||||
|
||||
cache, err := ip.InformersMap.Get(gvk, cacheTypeObj)
|
||||
started, cache, err := ip.InformersMap.Get(gvk, cacheTypeObj)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return cache.Reader.List(ctx, opts, out)
|
||||
if !started {
|
||||
return &ErrCacheNotStarted{}
|
||||
}
|
||||
|
||||
return cache.Reader.List(ctx, out, opts...)
|
||||
}
|
||||
|
||||
// GetInformerForKind returns the informer for the GroupVersionKind
|
||||
func (ip *informerCache) GetInformerForKind(gvk schema.GroupVersionKind) (cache.SharedIndexInformer, error) {
|
||||
func (ip *informerCache) GetInformerForKind(gvk schema.GroupVersionKind) (Informer, error) {
|
||||
// Map the gvk to an object
|
||||
obj, err := ip.Scheme.New(gvk)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
i, err := ip.InformersMap.Get(gvk, obj)
|
||||
_, i, err := ip.InformersMap.Get(gvk, obj)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -113,18 +128,24 @@ func (ip *informerCache) GetInformerForKind(gvk schema.GroupVersionKind) (cache.
|
||||
}
|
||||
|
||||
// GetInformer returns the informer for the obj
|
||||
func (ip *informerCache) GetInformer(obj runtime.Object) (cache.SharedIndexInformer, error) {
|
||||
func (ip *informerCache) GetInformer(obj runtime.Object) (Informer, error) {
|
||||
gvk, err := apiutil.GVKForObject(obj, ip.Scheme)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
i, err := ip.InformersMap.Get(gvk, obj)
|
||||
_, i, err := ip.InformersMap.Get(gvk, obj)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return i.Informer, err
|
||||
}
|
||||
|
||||
// NeedLeaderElection implements the LeaderElectionRunnable interface
|
||||
// to indicate that this can be started without requiring the leader lock
|
||||
func (ip *informerCache) NeedLeaderElection() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// IndexField adds an indexer to the underlying cache, using extraction function to get
|
||||
// value(s) from the given field. This index can then be used by passing a field selector
|
||||
// to List. For one-to-one compatibility with "normal" field selectors, only return one value.
|
||||
@@ -135,10 +156,10 @@ func (ip *informerCache) IndexField(obj runtime.Object, field string, extractVal
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return indexByField(informer.GetIndexer(), field, extractValue)
|
||||
return indexByField(informer, field, extractValue)
|
||||
}
|
||||
|
||||
func indexByField(indexer cache.Indexer, field string, extractor client.IndexerFunc) error {
|
||||
func indexByField(indexer Informer, field string, extractor client.IndexerFunc) error {
|
||||
indexFunc := func(objRaw interface{}) ([]string, error) {
|
||||
// TODO(directxman12): check if this is the correct type?
|
||||
obj, isObj := objRaw.(runtime.Object)
|
||||
|
||||
Reference in New Issue
Block a user