Use ListOptions when listing RCs in deployment
This commit is contained in:
4
pkg/client/cache/listers.go
vendored
4
pkg/client/cache/listers.go
vendored
@@ -170,13 +170,15 @@ type storeReplicationControllersNamespacer struct {
|
|||||||
namespace string
|
namespace string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s storeReplicationControllersNamespacer) List() (controllers []api.ReplicationController, err error) {
|
func (s storeReplicationControllersNamespacer) List(selector labels.Selector) (controllers []api.ReplicationController, err error) {
|
||||||
for _, c := range s.store.List() {
|
for _, c := range s.store.List() {
|
||||||
rc := *(c.(*api.ReplicationController))
|
rc := *(c.(*api.ReplicationController))
|
||||||
if s.namespace == api.NamespaceAll || s.namespace == rc.Namespace {
|
if s.namespace == api.NamespaceAll || s.namespace == rc.Namespace {
|
||||||
|
if selector.Matches(labels.Set(rc.Labels)) {
|
||||||
controllers = append(controllers, rc)
|
controllers = append(controllers, rc)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -32,7 +32,6 @@ import (
|
|||||||
client "k8s.io/kubernetes/pkg/client/unversioned"
|
client "k8s.io/kubernetes/pkg/client/unversioned"
|
||||||
"k8s.io/kubernetes/pkg/controller"
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
"k8s.io/kubernetes/pkg/controller/framework"
|
"k8s.io/kubernetes/pkg/controller/framework"
|
||||||
"k8s.io/kubernetes/pkg/labels"
|
|
||||||
"k8s.io/kubernetes/pkg/runtime"
|
"k8s.io/kubernetes/pkg/runtime"
|
||||||
"k8s.io/kubernetes/pkg/util"
|
"k8s.io/kubernetes/pkg/util"
|
||||||
deploymentutil "k8s.io/kubernetes/pkg/util/deployment"
|
deploymentutil "k8s.io/kubernetes/pkg/util/deployment"
|
||||||
@@ -563,11 +562,11 @@ func maxRevision(allRCs []*api.ReplicationController) int {
|
|||||||
func (dc *DeploymentController) getOldRCs(deployment extensions.Deployment) ([]*api.ReplicationController, []*api.ReplicationController, error) {
|
func (dc *DeploymentController) getOldRCs(deployment extensions.Deployment) ([]*api.ReplicationController, []*api.ReplicationController, error) {
|
||||||
return deploymentutil.GetOldRCsFromLists(deployment, dc.client,
|
return deploymentutil.GetOldRCsFromLists(deployment, dc.client,
|
||||||
func(namespace string, options api.ListOptions) (*api.PodList, error) {
|
func(namespace string, options api.ListOptions) (*api.PodList, error) {
|
||||||
podList, err := dc.podStore.Pods(namespace).List(labels.SelectorFromSet(deployment.Spec.Selector))
|
podList, err := dc.podStore.Pods(namespace).List(options.LabelSelector)
|
||||||
return &podList, err
|
return &podList, err
|
||||||
},
|
},
|
||||||
func(namespace string, options api.ListOptions) ([]api.ReplicationController, error) {
|
func(namespace string, options api.ListOptions) ([]api.ReplicationController, error) {
|
||||||
return dc.rcStore.ReplicationControllers(namespace).List()
|
return dc.rcStore.ReplicationControllers(namespace).List(options.LabelSelector)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -580,7 +579,7 @@ func (dc *DeploymentController) getNewRC(deployment extensions.Deployment, maxOl
|
|||||||
|
|
||||||
existingNewRC, err := deploymentutil.GetNewRCFromList(deployment, dc.client,
|
existingNewRC, err := deploymentutil.GetNewRCFromList(deployment, dc.client,
|
||||||
func(namespace string, options api.ListOptions) ([]api.ReplicationController, error) {
|
func(namespace string, options api.ListOptions) ([]api.ReplicationController, error) {
|
||||||
return dc.rcStore.ReplicationControllers(namespace).List()
|
return dc.rcStore.ReplicationControllers(namespace).List(options.LabelSelector)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@@ -59,7 +59,7 @@ func GetOldRCsFromLists(deployment extensions.Deployment, c client.Interface, ge
|
|||||||
// TODO: Right now we list all RCs and then filter. We should add an API for this.
|
// TODO: Right now we list all RCs and then filter. We should add an API for this.
|
||||||
oldRCs := map[string]api.ReplicationController{}
|
oldRCs := map[string]api.ReplicationController{}
|
||||||
allOldRCs := map[string]api.ReplicationController{}
|
allOldRCs := map[string]api.ReplicationController{}
|
||||||
rcList, err := getRcList(namespace, api.ListOptions{})
|
rcList, err := getRcList(namespace, options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, fmt.Errorf("error listing replication controllers: %v", err)
|
return nil, nil, fmt.Errorf("error listing replication controllers: %v", err)
|
||||||
}
|
}
|
||||||
@@ -105,7 +105,7 @@ func GetNewRC(deployment extensions.Deployment, c client.Interface) (*api.Replic
|
|||||||
// Returns nil if the new RC doesnt exist yet.
|
// Returns nil if the new RC doesnt exist yet.
|
||||||
func GetNewRCFromList(deployment extensions.Deployment, c client.Interface, getRcList func(string, api.ListOptions) ([]api.ReplicationController, error)) (*api.ReplicationController, error) {
|
func GetNewRCFromList(deployment extensions.Deployment, c client.Interface, getRcList func(string, api.ListOptions) ([]api.ReplicationController, error)) (*api.ReplicationController, error) {
|
||||||
namespace := deployment.ObjectMeta.Namespace
|
namespace := deployment.ObjectMeta.Namespace
|
||||||
rcList, err := getRcList(namespace, api.ListOptions{})
|
rcList, err := getRcList(namespace, api.ListOptions{LabelSelector: labels.SelectorFromSet(deployment.Spec.Selector)})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("error listing replication controllers: %v", err)
|
return nil, fmt.Errorf("error listing replication controllers: %v", err)
|
||||||
}
|
}
|
||||||
|
@@ -2024,7 +2024,7 @@ func waitForDeploymentOldRCsNum(c *client.Client, ns, deploymentName string, des
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
oldRCs, err := deploymentutil.GetOldRCs(*deployment, c)
|
oldRCs, _, err := deploymentutil.GetOldRCs(*deployment, c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user