mirror of https://github.com/k3s-io/k3s
Merge pull request #16589 from wojtek-t/list_options_in_clients
Auto commit by PR queue botpull/6/head
commit
9e16b1dec9
|
@ -384,7 +384,7 @@ func (e *endpointController) syncService(key string) {
|
||||||
// some stragglers could have been left behind if the endpoint controller
|
// some stragglers could have been left behind if the endpoint controller
|
||||||
// reboots).
|
// reboots).
|
||||||
func (e *endpointController) checkLeftoverEndpoints() {
|
func (e *endpointController) checkLeftoverEndpoints() {
|
||||||
list, err := e.client.Endpoints(api.NamespaceAll).List(labels.Everything())
|
list, err := e.client.Endpoints(api.NamespaceAll).List(labels.Everything(), fields.Everything())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("Unable to list endpoints (%v); orphaned endpoints will not be cleaned up. (They're pretty harmless, but you can restart this component if you want another attempt made.)", err)
|
glog.Errorf("Unable to list endpoints (%v); orphaned endpoints will not be cleaned up. (They're pretty harmless, but you can restart this component if you want another attempt made.)", err)
|
||||||
return
|
return
|
||||||
|
|
|
@ -33,7 +33,7 @@ type EndpointsNamespacer interface {
|
||||||
// EndpointsInterface has methods to work with Endpoints resources
|
// EndpointsInterface has methods to work with Endpoints resources
|
||||||
type EndpointsInterface interface {
|
type EndpointsInterface interface {
|
||||||
Create(endpoints *api.Endpoints) (*api.Endpoints, error)
|
Create(endpoints *api.Endpoints) (*api.Endpoints, error)
|
||||||
List(selector labels.Selector) (*api.EndpointsList, error)
|
List(label labels.Selector, field fields.Selector) (*api.EndpointsList, error)
|
||||||
Get(name string) (*api.Endpoints, error)
|
Get(name string) (*api.Endpoints, error)
|
||||||
Delete(name string) error
|
Delete(name string) error
|
||||||
Update(endpoints *api.Endpoints) (*api.Endpoints, error)
|
Update(endpoints *api.Endpoints) (*api.Endpoints, error)
|
||||||
|
@ -59,12 +59,13 @@ func (c *endpoints) Create(endpoints *api.Endpoints) (*api.Endpoints, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// List takes a selector, and returns the list of endpoints that match that selector
|
// List takes a selector, and returns the list of endpoints that match that selector
|
||||||
func (c *endpoints) List(selector labels.Selector) (result *api.EndpointsList, err error) {
|
func (c *endpoints) List(label labels.Selector, field fields.Selector) (result *api.EndpointsList, err error) {
|
||||||
result = &api.EndpointsList{}
|
result = &api.EndpointsList{}
|
||||||
err = c.r.Get().
|
err = c.r.Get().
|
||||||
Namespace(c.ns).
|
Namespace(c.ns).
|
||||||
Resource("endpoints").
|
Resource("endpoints").
|
||||||
LabelsSelectorParam(selector).
|
LabelsSelectorParam(label).
|
||||||
|
FieldsSelectorParam(field).
|
||||||
Do().
|
Do().
|
||||||
Into(result)
|
Into(result)
|
||||||
return
|
return
|
||||||
|
|
|
@ -21,6 +21,7 @@ import (
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/testapi"
|
"k8s.io/kubernetes/pkg/api/testapi"
|
||||||
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
"k8s.io/kubernetes/pkg/labels"
|
"k8s.io/kubernetes/pkg/labels"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -42,7 +43,7 @@ func TestListEndpoints(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
receivedEndpointsList, err := c.Setup(t).Endpoints(ns).List(labels.Everything())
|
receivedEndpointsList, err := c.Setup(t).Endpoints(ns).List(labels.Everything(), fields.Everything())
|
||||||
c.Validate(t, receivedEndpointsList, err)
|
c.Validate(t, receivedEndpointsList, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,8 +39,8 @@ func (c *FakeEndpoints) Get(name string) (*api.Endpoints, error) {
|
||||||
return obj.(*api.Endpoints), err
|
return obj.(*api.Endpoints), err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *FakeEndpoints) List(label labels.Selector) (*api.EndpointsList, error) {
|
func (c *FakeEndpoints) List(label labels.Selector, field fields.Selector) (*api.EndpointsList, error) {
|
||||||
obj, err := c.Fake.Invokes(NewListAction("endpoints", c.Namespace, label, nil), &api.EndpointsList{})
|
obj, err := c.Fake.Invokes(NewListAction("endpoints", c.Namespace, label, field), &api.EndpointsList{})
|
||||||
if obj == nil {
|
if obj == nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -384,7 +384,7 @@ func (e *EndpointController) syncService(key string) {
|
||||||
// some stragglers could have been left behind if the endpoint controller
|
// some stragglers could have been left behind if the endpoint controller
|
||||||
// reboots).
|
// reboots).
|
||||||
func (e *EndpointController) checkLeftoverEndpoints() {
|
func (e *EndpointController) checkLeftoverEndpoints() {
|
||||||
list, err := e.client.Endpoints(api.NamespaceAll).List(labels.Everything())
|
list, err := e.client.Endpoints(api.NamespaceAll).List(labels.Everything(), fields.Everything())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("Unable to list endpoints (%v); orphaned endpoints will not be cleaned up. (They're pretty harmless, but you can restart this component if you want another attempt made.)", err)
|
glog.Errorf("Unable to list endpoints (%v); orphaned endpoints will not be cleaned up. (They're pretty harmless, but you can restart this component if you want another attempt made.)", err)
|
||||||
return
|
return
|
||||||
|
|
|
@ -139,7 +139,7 @@ func (f *Framework) WaitForAnEndpoint(serviceName string) error {
|
||||||
for {
|
for {
|
||||||
// TODO: Endpoints client should take a field selector so we
|
// TODO: Endpoints client should take a field selector so we
|
||||||
// don't have to list everything.
|
// don't have to list everything.
|
||||||
list, err := f.Client.Endpoints(f.Namespace.Name).List(labels.Everything())
|
list, err := f.Client.Endpoints(f.Namespace.Name).List(labels.Everything(), fields.Everything())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -279,7 +279,7 @@ func startEndpointWatcher(f *Framework, q *endpointQueries) {
|
||||||
_, controller := framework.NewInformer(
|
_, controller := framework.NewInformer(
|
||||||
&cache.ListWatch{
|
&cache.ListWatch{
|
||||||
ListFunc: func() (runtime.Object, error) {
|
ListFunc: func() (runtime.Object, error) {
|
||||||
return f.Client.Endpoints(f.Namespace.Name).List(labels.Everything())
|
return f.Client.Endpoints(f.Namespace.Name).List(labels.Everything(), fields.Everything())
|
||||||
},
|
},
|
||||||
WatchFunc: func(options api.ListOptions) (watch.Interface, error) {
|
WatchFunc: func(options api.ListOptions) (watch.Interface, error) {
|
||||||
return f.Client.Endpoints(f.Namespace.Name).Watch(labels.Everything(), fields.Everything(), options)
|
return f.Client.Endpoints(f.Namespace.Name).Watch(labels.Everything(), fields.Everything(), options)
|
||||||
|
|
|
@ -705,7 +705,7 @@ func waitForService(c *client.Client, namespace, name string, exist bool, interv
|
||||||
func waitForServiceEndpointsNum(c *client.Client, namespace, serviceName string, expectNum int, interval, timeout time.Duration) error {
|
func waitForServiceEndpointsNum(c *client.Client, namespace, serviceName string, expectNum int, interval, timeout time.Duration) error {
|
||||||
return wait.Poll(interval, timeout, func() (bool, error) {
|
return wait.Poll(interval, timeout, func() (bool, error) {
|
||||||
Logf("Waiting for amount of service:%s endpoints to %d", serviceName, expectNum)
|
Logf("Waiting for amount of service:%s endpoints to %d", serviceName, expectNum)
|
||||||
list, err := c.Endpoints(namespace).List(labels.Everything())
|
list, err := c.Endpoints(namespace).List(labels.Everything(), fields.Everything())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue