Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pass ListOptions to List in ListWatch. #18080

Merged
merged 1 commit into from
Dec 9, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion contrib/mesos/pkg/executor/executor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -523,7 +523,7 @@ func NewMockPodsListWatch(initialPodList api.PodList) *MockPodsListWatch {
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return lw.fakeWatcher, nil
},
ListFunc: func() (runtime.Object, error) {
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return &lw.list, nil
},
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ func NewMockPodsListWatch(initialPodList api.PodList) *MockPodsListWatch {
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return lw.fakeWatcher, nil
},
ListFunc: func() (runtime.Object, error) {
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
lw.lock.Lock()
defer lw.lock.Unlock()

Expand Down
8 changes: 4 additions & 4 deletions contrib/mesos/pkg/service/endpoints_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ func NewEndpointController(client *client.Client) *endpointController {
}
e.serviceStore.Store, e.serviceController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return e.client.Services(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return e.client.Services(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return e.client.Services(api.NamespaceAll).Watch(options)
Expand All @@ -78,8 +78,8 @@ func NewEndpointController(client *client.Client) *endpointController {

e.podStore.Store, e.podController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return e.client.Pods(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return e.client.Pods(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return e.client.Pods(api.NamespaceAll).Watch(options)
Expand Down
9 changes: 5 additions & 4 deletions pkg/client/cache/listwatch.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import (
)

// ListFunc knows how to list resources
type ListFunc func() (runtime.Object, error)
type ListFunc func(options unversioned.ListOptions) (runtime.Object, error)

// WatchFunc knows how to watch resources
type WatchFunc func(options unversioned.ListOptions) (watch.Interface, error)
Expand All @@ -48,10 +48,11 @@ type Getter interface {

// NewListWatchFromClient creates a new ListWatch from the specified client, resource, namespace and field selector.
func NewListWatchFromClient(c Getter, resource string, namespace string, fieldSelector fields.Selector) *ListWatch {
listFunc := func() (runtime.Object, error) {
listFunc := func(options unversioned.ListOptions) (runtime.Object, error) {
return c.Get().
Namespace(namespace).
Resource(resource).
VersionedParams(&options, api.Scheme).
FieldsSelectorParam(fieldSelector).
Do().
Get()
Expand All @@ -76,8 +77,8 @@ func timeoutFromListOptions(options unversioned.ListOptions) time.Duration {
}

// List a set of apiserver resources
func (lw *ListWatch) List() (runtime.Object, error) {
return lw.ListFunc()
func (lw *ListWatch) List(options unversioned.ListOptions) (runtime.Object, error) {
return lw.ListFunc(options)
}

// Watch a set of apiserver resources
Expand Down
2 changes: 1 addition & 1 deletion pkg/client/cache/listwatch_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ func TestListWatchesCanList(t *testing.T) {
client := client.NewOrDie(&client.Config{Host: server.URL, GroupVersion: testapi.Default.GroupVersion()})
lw := NewListWatchFromClient(client, item.resource, item.namespace, item.fieldSelector)
// This test merely tests that the correct request is made.
lw.List()
lw.List(unversioned.ListOptions{})
handler.ValidateRequest(t, item.location, "GET", nil)
}
}
Expand Down
5 changes: 3 additions & 2 deletions pkg/client/cache/reflector.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ import (
type ListerWatcher interface {
// List should return a list type object; the Items field will be extracted, and the
// ResourceVersion field will be used to start the watch in the right place.
List() (runtime.Object, error)
List(options unversioned.ListOptions) (runtime.Object, error)
// Watch should begin a watch at the specified version.
Watch(options unversioned.ListOptions) (watch.Interface, error)
}
Expand Down Expand Up @@ -227,7 +227,8 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
resyncCh, cleanup := r.resyncChan()
defer cleanup()

list, err := r.listerWatcher.List()
options := unversioned.ListOptions{}
list, err := r.listerWatcher.List(options)
if err != nil {
return fmt.Errorf("%s: Failed to list %v: %v", r.name, r.expectedType, err)
}
Expand Down
4 changes: 3 additions & 1 deletion pkg/client/cache/reflector_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ type testLW struct {
WatchFunc func(resourceVersion string) (watch.Interface, error)
}

func (t *testLW) List() (runtime.Object, error) { return t.ListFunc() }
func (t *testLW) List(options unversioned.ListOptions) (runtime.Object, error) {
return t.ListFunc()
}
func (t *testLW) Watch(options unversioned.ListOptions) (watch.Interface, error) {
return t.WatchFunc(options.ResourceVersion)
}
Expand Down
12 changes: 6 additions & 6 deletions pkg/controller/daemon/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@ func NewDaemonSetsController(kubeClient client.Interface, resyncPeriod controlle
// Manage addition/update of daemon sets.
dsc.dsStore.Store, dsc.dsController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return dsc.kubeClient.Extensions().DaemonSets(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return dsc.kubeClient.Extensions().DaemonSets(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return dsc.kubeClient.Extensions().DaemonSets(api.NamespaceAll).Watch(options)
Expand Down Expand Up @@ -128,8 +128,8 @@ func NewDaemonSetsController(kubeClient client.Interface, resyncPeriod controlle
// more pods until all the effects (expectations) of a daemon set's create/delete have been observed.
dsc.podStore.Store, dsc.podController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return dsc.kubeClient.Pods(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return dsc.kubeClient.Pods(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return dsc.kubeClient.Pods(api.NamespaceAll).Watch(options)
Expand All @@ -146,8 +146,8 @@ func NewDaemonSetsController(kubeClient client.Interface, resyncPeriod controlle
// Watch for new nodes or updates to nodes - daemon pods are launched on new nodes, and possibly when labels on nodes change,
dsc.nodeStore.Store, dsc.nodeController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return dsc.kubeClient.Nodes().List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return dsc.kubeClient.Nodes().List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return dsc.kubeClient.Nodes().Watch(options)
Expand Down
8 changes: 4 additions & 4 deletions pkg/controller/endpoint/endpoints_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ func NewEndpointController(client *client.Client, resyncPeriod controller.Resync

e.serviceStore.Store, e.serviceController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return e.client.Services(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return e.client.Services(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return e.client.Services(api.NamespaceAll).Watch(options)
Expand All @@ -83,8 +83,8 @@ func NewEndpointController(client *client.Client, resyncPeriod controller.Resync

e.podStore.Store, e.podController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return e.client.Pods(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return e.client.Pods(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return e.client.Pods(api.NamespaceAll).Watch(options)
Expand Down
2 changes: 1 addition & 1 deletion pkg/controller/framework/fake_controller_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ func (f *FakeControllerSource) Change(e watch.Event, watchProbability float64) {
}

// List returns a list object, with its resource version set.
func (f *FakeControllerSource) List() (runtime.Object, error) {
func (f *FakeControllerSource) List(options unversioned.ListOptions) (runtime.Object, error) {
f.lock.RLock()
defer f.lock.RUnlock()
list := make([]runtime.Object, 0, len(f.items))
Expand Down
2 changes: 1 addition & 1 deletion pkg/controller/framework/fake_controller_source_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ func TestRCNumber(t *testing.T) {
}
go consume(t, w, []string{"2", "3"}, wg)

list, err := source.List()
list, err := source.List(unversioned.ListOptions{})
if err != nil {
t.Fatalf("Unexpected error: %v", err)
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/controller/gc/gc_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ func New(kubeClient client.Interface, resyncPeriod controller.ResyncPeriodFunc,

gcc.podStore.Store, gcc.podStoreSyncer = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
options := unversioned.ListOptions{FieldSelector: unversioned.FieldSelector{terminatedSelector}}
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
options.FieldSelector.Selector = terminatedSelector
return gcc.kubeClient.Pods(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
Expand Down
8 changes: 4 additions & 4 deletions pkg/controller/job/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ func NewJobController(kubeClient client.Interface, resyncPeriod controller.Resyn

jm.jobStore.Store, jm.jobController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return jm.kubeClient.Extensions().Jobs(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return jm.kubeClient.Extensions().Jobs(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return jm.kubeClient.Extensions().Jobs(api.NamespaceAll).Watch(options)
Expand All @@ -106,8 +106,8 @@ func NewJobController(kubeClient client.Interface, resyncPeriod controller.Resyn

jm.podStore.Store, jm.podController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return jm.kubeClient.Pods(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return jm.kubeClient.Pods(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return jm.kubeClient.Pods(api.NamespaceAll).Watch(options)
Expand Down
4 changes: 2 additions & 2 deletions pkg/controller/namespace/namespace_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ func NewNamespaceController(kubeClient client.Interface, versions *unversioned.A
var controller *framework.Controller
_, controller = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return kubeClient.Namespaces().List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return kubeClient.Namespaces().List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return kubeClient.Namespaces().Watch(options)
Expand Down
8 changes: 4 additions & 4 deletions pkg/controller/node/nodecontroller.go
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,8 @@ func NewNodeController(

nc.podStore.Store, nc.podController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return nc.kubeClient.Pods(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return nc.kubeClient.Pods(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return nc.kubeClient.Pods(api.NamespaceAll).Watch(options)
Expand All @@ -178,8 +178,8 @@ func NewNodeController(
)
nc.nodeStore.Store, nc.nodeController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return nc.kubeClient.Nodes().List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return nc.kubeClient.Nodes().List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return nc.kubeClient.Nodes().Watch(options)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ func NewPersistentVolumeClaimBinder(kubeClient client.Interface, syncPeriod time

_, volumeController := framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return kubeClient.PersistentVolumes().List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return kubeClient.PersistentVolumes().List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return kubeClient.PersistentVolumes().Watch(options)
Expand All @@ -73,8 +73,8 @@ func NewPersistentVolumeClaimBinder(kubeClient client.Interface, syncPeriod time
)
_, claimController := framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return kubeClient.PersistentVolumeClaims(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return kubeClient.PersistentVolumeClaims(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return kubeClient.PersistentVolumeClaims(api.NamespaceAll).Watch(options)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ func NewPersistentVolumeRecycler(kubeClient client.Interface, syncPeriod time.Du

_, volumeController := framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return kubeClient.PersistentVolumes().List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return kubeClient.PersistentVolumes().List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return kubeClient.PersistentVolumes().Watch(options)
Expand Down
8 changes: 4 additions & 4 deletions pkg/controller/replication/replication_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,8 @@ func NewReplicationManager(kubeClient client.Interface, resyncPeriod controller.

rm.rcStore.Store, rm.rcController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return rm.kubeClient.ReplicationControllers(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return rm.kubeClient.ReplicationControllers(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return rm.kubeClient.ReplicationControllers(api.NamespaceAll).Watch(options)
Expand Down Expand Up @@ -148,8 +148,8 @@ func NewReplicationManager(kubeClient client.Interface, resyncPeriod controller.

rm.podStore.Store, rm.podController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return rm.kubeClient.Pods(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return rm.kubeClient.Pods(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return rm.kubeClient.Pods(api.NamespaceAll).Watch(options)
Expand Down
8 changes: 4 additions & 4 deletions pkg/controller/resourcequota/resource_quota_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ func NewResourceQuotaController(kubeClient client.Interface, resyncPeriod contro

rq.rqIndexer, rq.rqController = framework.NewIndexerInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return rq.kubeClient.ResourceQuotas(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return rq.kubeClient.ResourceQuotas(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return rq.kubeClient.ResourceQuotas(api.NamespaceAll).Watch(options)
Expand Down Expand Up @@ -105,8 +105,8 @@ func NewResourceQuotaController(kubeClient client.Interface, resyncPeriod contro
// release compute resources from any associated quota.
rq.podStore.Store, rq.podController = framework.NewInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return rq.kubeClient.Pods(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return rq.kubeClient.Pods(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return rq.kubeClient.Pods(api.NamespaceAll).Watch(options)
Expand Down
8 changes: 4 additions & 4 deletions pkg/controller/serviceaccount/serviceaccounts_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ func NewServiceAccountsController(cl client.Interface, options ServiceAccountsCo
}
e.serviceAccounts, e.serviceAccountController = framework.NewIndexerInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
options := unversioned.ListOptions{FieldSelector: unversioned.FieldSelector{accountSelector}}
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
options.FieldSelector.Selector = accountSelector
return e.client.ServiceAccounts(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
Expand All @@ -99,8 +99,8 @@ func NewServiceAccountsController(cl client.Interface, options ServiceAccountsCo

e.namespaces, e.namespaceController = framework.NewIndexerInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return e.client.Namespaces().List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return e.client.Namespaces().List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return e.client.Namespaces().Watch(options)
Expand Down
8 changes: 4 additions & 4 deletions pkg/controller/serviceaccount/tokens_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ func NewTokensController(cl client.Interface, options TokensControllerOptions) *

e.serviceAccounts, e.serviceAccountController = framework.NewIndexerInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
return e.client.ServiceAccounts(api.NamespaceAll).List(unversioned.ListOptions{})
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
return e.client.ServiceAccounts(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
return e.client.ServiceAccounts(api.NamespaceAll).Watch(options)
Expand All @@ -82,8 +82,8 @@ func NewTokensController(cl client.Interface, options TokensControllerOptions) *
tokenSelector := fields.SelectorFromSet(map[string]string{client.SecretType: string(api.SecretTypeServiceAccountToken)})
e.secrets, e.secretController = framework.NewIndexerInformer(
&cache.ListWatch{
ListFunc: func() (runtime.Object, error) {
options := unversioned.ListOptions{FieldSelector: unversioned.FieldSelector{tokenSelector}}
ListFunc: func(options unversioned.ListOptions) (runtime.Object, error) {
options.FieldSelector.Selector = tokenSelector
return e.client.Secrets(api.NamespaceAll).List(options)
},
WatchFunc: func(options unversioned.ListOptions) (watch.Interface, error) {
Expand Down
2 changes: 1 addition & 1 deletion pkg/kubelet/config/apiserver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ type fakePodLW struct {
watchResp watch.Interface
}

func (lw fakePodLW) List() (runtime.Object, error) {
func (lw fakePodLW) List(options unversioned.ListOptions) (runtime.Object, error) {
return lw.listResp, nil
}

Expand Down