Skip to content

Commit 22e0ee7

Browse files
committed
Removes container RefManager
1 parent 84dc704 commit 22e0ee7

File tree

11 files changed

+33
-144
lines changed

11 files changed

+33
-144
lines changed

pkg/kubelet/container/BUILD

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ go_library(
55
srcs = [
66
"cache.go",
77
"container_gc.go",
8-
"container_reference_manager.go",
98
"helpers.go",
109
"os.go",
1110
"ref.go",

pkg/kubelet/container/container_reference_manager.go

Lines changed: 0 additions & 60 deletions
This file was deleted.

pkg/kubelet/kubelet.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -538,8 +538,6 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
538538
Namespace: "",
539539
}
540540

541-
containerRefManager := kubecontainer.NewRefManager()
542-
543541
oomWatcher, err := oomwatcher.NewWatcher(kubeDeps.Recorder)
544542
if err != nil {
545543
return nil, err
@@ -685,7 +683,6 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
685683
klet.livenessManager,
686684
klet.startupManager,
687685
seccompProfileRoot,
688-
containerRefManager,
689686
machineInfo,
690687
klet,
691688
kubeDeps.OSInterface,
@@ -792,7 +789,6 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
792789
klet.livenessManager,
793790
klet.startupManager,
794791
klet.runner,
795-
containerRefManager,
796792
kubeDeps.Recorder)
797793

798794
tokenManager := token.NewManager(kubeDeps.KubeClient)

pkg/kubelet/kuberuntime/fake_kuberuntime_manager.go

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -74,21 +74,20 @@ func (f *fakePodStateProvider) IsPodTerminated(uid types.UID) bool {
7474
func newFakeKubeRuntimeManager(runtimeService internalapi.RuntimeService, imageService internalapi.ImageManagerService, machineInfo *cadvisorapi.MachineInfo, osInterface kubecontainer.OSInterface, runtimeHelper kubecontainer.RuntimeHelper, keyring credentialprovider.DockerKeyring) (*kubeGenericRuntimeManager, error) {
7575
recorder := &record.FakeRecorder{}
7676
kubeRuntimeManager := &kubeGenericRuntimeManager{
77-
recorder: recorder,
78-
cpuCFSQuota: false,
79-
cpuCFSQuotaPeriod: metav1.Duration{Duration: time.Microsecond * 100},
80-
livenessManager: proberesults.NewManager(),
81-
startupManager: proberesults.NewManager(),
82-
containerRefManager: kubecontainer.NewRefManager(),
83-
machineInfo: machineInfo,
84-
osInterface: osInterface,
85-
runtimeHelper: runtimeHelper,
86-
runtimeService: runtimeService,
87-
imageService: imageService,
88-
keyring: keyring,
89-
seccompProfileRoot: fakeSeccompProfileRoot,
90-
internalLifecycle: cm.NewFakeInternalContainerLifecycle(),
91-
logReduction: logreduction.NewLogReduction(identicalErrorDelay),
77+
recorder: recorder,
78+
cpuCFSQuota: false,
79+
cpuCFSQuotaPeriod: metav1.Duration{Duration: time.Microsecond * 100},
80+
livenessManager: proberesults.NewManager(),
81+
startupManager: proberesults.NewManager(),
82+
machineInfo: machineInfo,
83+
osInterface: osInterface,
84+
runtimeHelper: runtimeHelper,
85+
runtimeService: runtimeService,
86+
imageService: imageService,
87+
keyring: keyring,
88+
seccompProfileRoot: fakeSeccompProfileRoot,
89+
internalLifecycle: cm.NewFakeInternalContainerLifecycle(),
90+
logReduction: logreduction.NewLogReduction(identicalErrorDelay),
9291
}
9392

9493
typedVersion, err := runtimeService.Version(kubeRuntimeAPIVersion)

pkg/kubelet/kuberuntime/kuberuntime_container.go

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -143,12 +143,6 @@ func (m *kubeGenericRuntimeManager) startContainer(podSandboxID string, podSandb
143143
}
144144

145145
// Step 2: create the container.
146-
ref, err := kubecontainer.GenerateContainerRef(pod, container)
147-
if err != nil {
148-
klog.Errorf("Can't make a ref to pod %q, container %v: %v", format.Pod(pod), container.Name, err)
149-
}
150-
klog.V(4).Infof("Generating ref for container %s: %#v", container.Name, ref)
151-
152146
// For a new container, the RestartCount should be 0
153147
restartCount := 0
154148
containerStatus := podStatus.FindContainerStatusByName(container.Name)
@@ -187,13 +181,6 @@ func (m *kubeGenericRuntimeManager) startContainer(podSandboxID string, podSandb
187181
}
188182
m.recordContainerEvent(pod, container, containerID, v1.EventTypeNormal, events.CreatedContainer, fmt.Sprintf("Created container %s", container.Name))
189183

190-
if ref != nil {
191-
m.containerRefManager.SetRef(kubecontainer.ContainerID{
192-
Type: m.runtimeName,
193-
ID: containerID,
194-
}, ref)
195-
}
196-
197184
// Step 3: start the container.
198185
err = m.runtimeService.StartContainer(containerID)
199186
if err != nil {
@@ -654,8 +641,6 @@ func (m *kubeGenericRuntimeManager) killContainer(pod *v1.Pod, containerID kubec
654641
klog.V(3).Infof("Container %q exited normally", containerID.String())
655642
}
656643

657-
m.containerRefManager.ClearRef(containerID)
658-
659644
return err
660645
}
661646

@@ -719,13 +704,6 @@ func (m *kubeGenericRuntimeManager) pruneInitContainersBeforeStart(pod *v1.Pod,
719704
utilruntime.HandleError(fmt.Errorf("failed to remove pod init container %q: %v; Skipping pod %q", status.Name, err, format.Pod(pod)))
720705
continue
721706
}
722-
723-
// remove any references to this container
724-
if _, ok := m.containerRefManager.GetRef(status.ID); ok {
725-
m.containerRefManager.ClearRef(status.ID)
726-
} else {
727-
klog.Warningf("No ref for container %q", status.ID)
728-
}
729707
}
730708
}
731709
}
@@ -751,12 +729,6 @@ func (m *kubeGenericRuntimeManager) purgeInitContainers(pod *v1.Pod, podStatus *
751729
utilruntime.HandleError(fmt.Errorf("failed to remove pod init container %q: %v; Skipping pod %q", status.Name, err, format.Pod(pod)))
752730
continue
753731
}
754-
// Remove any references to this container
755-
if _, ok := m.containerRefManager.GetRef(status.ID); ok {
756-
m.containerRefManager.ClearRef(status.ID)
757-
} else {
758-
klog.Warningf("No ref for container %q", status.ID)
759-
}
760732
}
761733
}
762734
}

pkg/kubelet/kuberuntime/kuberuntime_manager.go

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,9 @@ type podStateProvider interface {
7979
}
8080

8181
type kubeGenericRuntimeManager struct {
82-
runtimeName string
83-
recorder record.EventRecorder
84-
osInterface kubecontainer.OSInterface
85-
containerRefManager *kubecontainer.RefManager
82+
runtimeName string
83+
recorder record.EventRecorder
84+
osInterface kubecontainer.OSInterface
8685

8786
// machineInfo contains the machine information.
8887
machineInfo *cadvisorapi.MachineInfo
@@ -154,7 +153,6 @@ func NewKubeGenericRuntimeManager(
154153
livenessManager proberesults.Manager,
155154
startupManager proberesults.Manager,
156155
seccompProfileRoot string,
157-
containerRefManager *kubecontainer.RefManager,
158156
machineInfo *cadvisorapi.MachineInfo,
159157
podStateProvider podStateProvider,
160158
osInterface kubecontainer.OSInterface,
@@ -179,7 +177,6 @@ func NewKubeGenericRuntimeManager(
179177
seccompProfileRoot: seccompProfileRoot,
180178
livenessManager: livenessManager,
181179
startupManager: startupManager,
182-
containerRefManager: containerRefManager,
183180
machineInfo: machineInfo,
184181
osInterface: osInterface,
185182
runtimeHelper: runtimeHelper,

pkg/kubelet/prober/common_test.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"reflect"
2121
"sync"
2222

23-
"k8s.io/api/core/v1"
23+
v1 "k8s.io/api/core/v1"
2424
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2525
"k8s.io/client-go/kubernetes/fake"
2626
"k8s.io/client-go/tools/record"
@@ -104,8 +104,6 @@ func setTestProbe(pod *v1.Pod, probeType probeType, probeSpec v1.Probe) {
104104
}
105105

106106
func newTestManager() *manager {
107-
refManager := kubecontainer.NewRefManager()
108-
refManager.SetRef(testContainerID, &v1.ObjectReference{}) // Suppress prober warnings.
109107
podManager := kubepod.NewBasicPodManager(nil, nil, nil, nil)
110108
// Add test pod to pod manager, so that status manager can get the pod from pod manager if needed.
111109
podManager.AddPod(getTestPod())
@@ -114,7 +112,6 @@ func newTestManager() *manager {
114112
results.NewManager(),
115113
results.NewManager(),
116114
nil, // runner
117-
refManager,
118115
&record.FakeRecorder{},
119116
).(*manager)
120117
// Don't actually execute probes.

pkg/kubelet/prober/prober.go

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,13 @@ type prober struct {
5656
tcp tcpprobe.Prober
5757
runner kubecontainer.ContainerCommandRunner
5858

59-
refManager *kubecontainer.RefManager
60-
recorder record.EventRecorder
59+
recorder record.EventRecorder
6160
}
6261

6362
// NewProber creates a Prober, it takes a command runner and
6463
// several container info managers.
6564
func newProber(
6665
runner kubecontainer.ContainerCommandRunner,
67-
refManager *kubecontainer.RefManager,
6866
recorder record.EventRecorder) *prober {
6967

7068
const followNonLocalRedirects = false
@@ -75,21 +73,16 @@ func newProber(
7573
startupHTTP: httpprobe.New(followNonLocalRedirects),
7674
tcp: tcpprobe.New(),
7775
runner: runner,
78-
refManager: refManager,
7976
recorder: recorder,
8077
}
8178
}
8279

8380
// recordContainerEvent should be used by the prober for all container related events.
84-
func (pb *prober) recordContainerEvent(pod *v1.Pod, container *v1.Container, containerID kubecontainer.ContainerID, eventType, reason, message string, args ...interface{}) {
85-
var err error
86-
ref, hasRef := pb.refManager.GetRef(containerID)
87-
if !hasRef {
88-
ref, err = kubecontainer.GenerateContainerRef(pod, container)
89-
if err != nil {
90-
klog.Errorf("Can't make a ref to pod %q, container %v: %v", format.Pod(pod), container.Name, err)
91-
return
92-
}
81+
func (pb *prober) recordContainerEvent(pod *v1.Pod, container *v1.Container, eventType, reason, message string, args ...interface{}) {
82+
ref, err := kubecontainer.GenerateContainerRef(pod, container)
83+
if err != nil {
84+
klog.Errorf("Can't make a ref to pod %q, container %v: %v", format.Pod(pod), container.Name, err)
85+
return
9386
}
9487
pb.recorder.Eventf(ref, eventType, reason, message, args...)
9588
}
@@ -119,15 +112,15 @@ func (pb *prober) probe(probeType probeType, pod *v1.Pod, status v1.PodStatus, c
119112
// Probe failed in one way or another.
120113
if err != nil {
121114
klog.V(1).Infof("%s probe for %q errored: %v", probeType, ctrName, err)
122-
pb.recordContainerEvent(pod, &container, containerID, v1.EventTypeWarning, events.ContainerUnhealthy, "%s probe errored: %v", probeType, err)
115+
pb.recordContainerEvent(pod, &container, v1.EventTypeWarning, events.ContainerUnhealthy, "%s probe errored: %v", probeType, err)
123116
} else { // result != probe.Success
124117
klog.V(1).Infof("%s probe for %q failed (%v): %s", probeType, ctrName, result, output)
125-
pb.recordContainerEvent(pod, &container, containerID, v1.EventTypeWarning, events.ContainerUnhealthy, "%s probe failed: %v", probeType, output)
118+
pb.recordContainerEvent(pod, &container, v1.EventTypeWarning, events.ContainerUnhealthy, "%s probe failed: %s", probeType, output)
126119
}
127120
return results.Failure, err
128121
}
129122
if result == probe.Warning {
130-
pb.recordContainerEvent(pod, &container, containerID, v1.EventTypeWarning, events.ContainerProbeWarning, "%s probe warning: %v", probeType, output)
123+
pb.recordContainerEvent(pod, &container, v1.EventTypeWarning, events.ContainerProbeWarning, "%s probe warning: %s", probeType, output)
131124
klog.V(3).Infof("%s probe for %q succeeded with a warning: %s", probeType, ctrName, output)
132125
} else {
133126
klog.V(3).Infof("%s probe for %q succeeded", probeType, ctrName)

pkg/kubelet/prober/prober_manager.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,9 @@ func NewManager(
104104
livenessManager results.Manager,
105105
startupManager results.Manager,
106106
runner kubecontainer.ContainerCommandRunner,
107-
refManager *kubecontainer.RefManager,
108107
recorder record.EventRecorder) Manager {
109108

110-
prober := newProber(runner, refManager, recorder)
109+
prober := newProber(runner, recorder)
111110
readinessManager := results.NewManager()
112111
return &manager{
113112
statusManager: statusManager,

pkg/kubelet/prober/prober_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
"strings"
2626
"testing"
2727

28-
"k8s.io/api/core/v1"
28+
v1 "k8s.io/api/core/v1"
2929
"k8s.io/apimachinery/pkg/util/intstr"
3030
"k8s.io/client-go/tools/record"
3131
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
@@ -285,8 +285,7 @@ func TestProbe(t *testing.T) {
285285
for i, test := range tests {
286286
for _, probeType := range [...]probeType{liveness, readiness, startup} {
287287
prober := &prober{
288-
refManager: kubecontainer.NewRefManager(),
289-
recorder: &record.FakeRecorder{},
288+
recorder: &record.FakeRecorder{},
290289
}
291290
testID := fmt.Sprintf("%d-%s", i, probeType)
292291
testContainer := v1.Container{Env: test.env}

0 commit comments

Comments
 (0)