diff --git a/cmd/kube-controller-manager/app/controllermanager.go b/cmd/kube-controller-manager/app/controllermanager.go index b94beb0c47a..6bfc0c0d248 100644 --- a/cmd/kube-controller-manager/app/controllermanager.go +++ b/cmd/kube-controller-manager/app/controllermanager.go @@ -52,7 +52,6 @@ import ( "k8s.io/kubernetes/pkg/controller/framework" "k8s.io/kubernetes/pkg/controller/framework/informers" "k8s.io/kubernetes/pkg/controller/garbagecollector" - "k8s.io/kubernetes/pkg/controller/gc" "k8s.io/kubernetes/pkg/controller/job" namespacecontroller "k8s.io/kubernetes/pkg/controller/namespace" nodecontroller "k8s.io/kubernetes/pkg/controller/node" @@ -60,6 +59,7 @@ import ( petset "k8s.io/kubernetes/pkg/controller/petset" "k8s.io/kubernetes/pkg/controller/podautoscaler" "k8s.io/kubernetes/pkg/controller/podautoscaler/metrics" + "k8s.io/kubernetes/pkg/controller/podgc" replicaset "k8s.io/kubernetes/pkg/controller/replicaset" replicationcontroller "k8s.io/kubernetes/pkg/controller/replication" resourcequotacontroller "k8s.io/kubernetes/pkg/controller/resourcequota" @@ -220,7 +220,7 @@ func StartControllers(s *options.CMServer, kubeClient *client.Client, kubeconfig time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter)) if s.TerminatedPodGCThreshold > 0 { - go gc.New(clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "garbage-collector")), ResyncPeriod(s), int(s.TerminatedPodGCThreshold)). + go podgc.New(clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "pod-garbage-collector")), ResyncPeriod(s), int(s.TerminatedPodGCThreshold)). Run(wait.NeverStop) time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter)) } diff --git a/contrib/mesos/pkg/controllermanager/controllermanager.go b/contrib/mesos/pkg/controllermanager/controllermanager.go index 7c7f602a843..930153b8e68 100644 --- a/contrib/mesos/pkg/controllermanager/controllermanager.go +++ b/contrib/mesos/pkg/controllermanager/controllermanager.go @@ -42,13 +42,13 @@ import ( "k8s.io/kubernetes/pkg/controller/daemon" "k8s.io/kubernetes/pkg/controller/deployment" endpointcontroller "k8s.io/kubernetes/pkg/controller/endpoint" - "k8s.io/kubernetes/pkg/controller/gc" "k8s.io/kubernetes/pkg/controller/job" namespacecontroller "k8s.io/kubernetes/pkg/controller/namespace" nodecontroller "k8s.io/kubernetes/pkg/controller/node" persistentvolumecontroller "k8s.io/kubernetes/pkg/controller/persistentvolume" "k8s.io/kubernetes/pkg/controller/podautoscaler" "k8s.io/kubernetes/pkg/controller/podautoscaler/metrics" + "k8s.io/kubernetes/pkg/controller/podgc" replicaset "k8s.io/kubernetes/pkg/controller/replicaset" replicationcontroller "k8s.io/kubernetes/pkg/controller/replication" resourcequotacontroller "k8s.io/kubernetes/pkg/controller/resourcequota" @@ -140,7 +140,7 @@ func (s *CMServer) Run(_ []string) error { Run(int(s.ConcurrentRCSyncs), wait.NeverStop) if s.TerminatedPodGCThreshold > 0 { - go gc.New(clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "garbage-collector")), s.resyncPeriod, int(s.TerminatedPodGCThreshold)). + go podgc.New(clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "pod-garbage-collector")), s.resyncPeriod, int(s.TerminatedPodGCThreshold)). Run(wait.NeverStop) } diff --git a/pkg/controller/gc/doc.go b/pkg/controller/podgc/doc.go similarity index 71% rename from pkg/controller/gc/doc.go rename to pkg/controller/podgc/doc.go index db08e7a36da..735e2c727a0 100644 --- a/pkg/controller/gc/doc.go +++ b/pkg/controller/podgc/doc.go @@ -14,11 +14,12 @@ See the License for the specific language governing permissions and limitations under the License. */ -// Package gc contains a very simple pod "garbage collector" implementation, -// GCController, that runs in the controller manager. If the number of pods +// Package podgc contains a very simple pod "garbage collector" implementation, +// PodGCController, that runs in the controller manager. If the number of pods // in terminated phases (right now either Failed or Succeeded) surpasses a // configurable threshold, the controller will delete pods in terminated state -// until the system reaches the allowed threshold again. The GCController +// until the system reaches the allowed threshold again. The PodGCController // prioritizes pods to delete by sorting by creation timestamp and deleting the -// oldest objects first. The GCController will not delete non-terminated pods. -package gc +// oldest objects first. The PodGCController will not delete non-terminated +// pods. +package podgc diff --git a/pkg/controller/gc/gc_controller.go b/pkg/controller/podgc/gc_controller.go similarity index 95% rename from pkg/controller/gc/gc_controller.go rename to pkg/controller/podgc/gc_controller.go index 485c326c177..fbeab69ad94 100644 --- a/pkg/controller/gc/gc_controller.go +++ b/pkg/controller/podgc/gc_controller.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package gc +package podgc import ( "sort" @@ -41,7 +41,7 @@ const ( gcCheckPeriod = 20 * time.Second ) -type GCController struct { +type PodGCController struct { kubeClient clientset.Interface podStore cache.StoreToPodLister podStoreSyncer *framework.Controller @@ -49,11 +49,11 @@ type GCController struct { threshold int } -func New(kubeClient clientset.Interface, resyncPeriod controller.ResyncPeriodFunc, threshold int) *GCController { +func New(kubeClient clientset.Interface, resyncPeriod controller.ResyncPeriodFunc, threshold int) *PodGCController { if kubeClient != nil && kubeClient.Core().GetRESTClient().GetRateLimiter() != nil { metrics.RegisterMetricAndTrackRateLimiterUsage("gc_controller", kubeClient.Core().GetRESTClient().GetRateLimiter()) } - gcc := &GCController{ + gcc := &PodGCController{ kubeClient: kubeClient, threshold: threshold, deletePod: func(namespace, name string) error { @@ -85,13 +85,13 @@ func New(kubeClient clientset.Interface, resyncPeriod controller.ResyncPeriodFun return gcc } -func (gcc *GCController) Run(stop <-chan struct{}) { +func (gcc *PodGCController) Run(stop <-chan struct{}) { go gcc.podStoreSyncer.Run(stop) go wait.Until(gcc.gc, gcCheckPeriod, stop) <-stop } -func (gcc *GCController) gc() { +func (gcc *PodGCController) gc() { terminatedPods, _ := gcc.podStore.List(labels.Everything()) terminatedPodCount := len(terminatedPods) sort.Sort(byCreationTimestamp(terminatedPods)) diff --git a/pkg/controller/gc/gc_controller_test.go b/pkg/controller/podgc/gc_controller_test.go similarity index 99% rename from pkg/controller/gc/gc_controller_test.go rename to pkg/controller/podgc/gc_controller_test.go index e28c9cf03fa..c6d230d38c0 100644 --- a/pkg/controller/gc/gc_controller_test.go +++ b/pkg/controller/podgc/gc_controller_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package gc +package podgc import ( "sync" diff --git a/test/e2e/garbage_collector.go b/test/e2e/pod_gc.go similarity index 100% rename from test/e2e/garbage_collector.go rename to test/e2e/pod_gc.go