mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 07:20:13 +00:00
Merge pull request #34817 from gmarek/podgc
Automatic merge from submit-queue PodGCController waits for informer sync before doing anything.
This commit is contained in:
commit
560c46574e
@ -112,6 +112,10 @@ func (gcc *PodGCController) Run(stop <-chan struct{}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (gcc *PodGCController) gc() {
|
func (gcc *PodGCController) gc() {
|
||||||
|
if !gcc.podController.HasSynced() || !gcc.nodeController.HasSynced() {
|
||||||
|
glog.V(2).Infof("PodGCController is waiting for informer sync...")
|
||||||
|
return
|
||||||
|
}
|
||||||
pods, err := gcc.podStore.List(labels.Everything())
|
pods, err := gcc.podStore.List(labels.Everything())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("Error while listing all Pods: %v", err)
|
glog.Errorf("Error while listing all Pods: %v", err)
|
||||||
|
@ -28,6 +28,14 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/util/sets"
|
"k8s.io/kubernetes/pkg/util/sets"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type FakeController struct{}
|
||||||
|
|
||||||
|
func (*FakeController) Run(<-chan struct{}) {}
|
||||||
|
|
||||||
|
func (*FakeController) HasSynced() bool {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
func TestGCTerminated(t *testing.T) {
|
func TestGCTerminated(t *testing.T) {
|
||||||
type nameToPhase struct {
|
type nameToPhase struct {
|
||||||
name string
|
name string
|
||||||
@ -111,6 +119,8 @@ func TestGCTerminated(t *testing.T) {
|
|||||||
ObjectMeta: api.ObjectMeta{Name: "node"},
|
ObjectMeta: api.ObjectMeta{Name: "node"},
|
||||||
})
|
})
|
||||||
gcc.nodeStore = cache.StoreToNodeLister{Store: store}
|
gcc.nodeStore = cache.StoreToNodeLister{Store: store}
|
||||||
|
gcc.podController = &FakeController{}
|
||||||
|
gcc.nodeController = &FakeController{}
|
||||||
|
|
||||||
gcc.gc()
|
gcc.gc()
|
||||||
|
|
||||||
@ -181,6 +191,8 @@ func TestGCOrphaned(t *testing.T) {
|
|||||||
|
|
||||||
store := cache.NewStore(cache.MetaNamespaceKeyFunc)
|
store := cache.NewStore(cache.MetaNamespaceKeyFunc)
|
||||||
gcc.nodeStore = cache.StoreToNodeLister{Store: store}
|
gcc.nodeStore = cache.StoreToNodeLister{Store: store}
|
||||||
|
gcc.podController = &FakeController{}
|
||||||
|
gcc.nodeController = &FakeController{}
|
||||||
|
|
||||||
gcc.gc()
|
gcc.gc()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user