Skip to content

Commit 01f3f67

Browse files
authored
Merge pull request kubernetes#92663 from AndersonQ/68026-golint-/pkg/kubelet/stats
cleanup: fix golint errors in /pkg/kubelet/stats
2 parents 53d9bed + 8c724d7 commit 01f3f67

File tree

7 files changed

+71
-20
lines changed

7 files changed

+71
-20
lines changed

hack/.golint_failures

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ pkg/kubelet/dockershim/network/testing
106106
pkg/kubelet/pluginmanager/pluginwatcher
107107
pkg/kubelet/pod/testing
108108
pkg/kubelet/preemption
109-
pkg/kubelet/stats
110109
pkg/kubelet/sysctl
111110
pkg/kubelet/types
112111
pkg/kubemark

pkg/kubelet/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ go_library(
145145
"//staging/src/k8s.io/cri-api/pkg/apis:go_default_library",
146146
"//staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2:go_default_library",
147147
"//staging/src/k8s.io/kubelet/pkg/apis/pluginregistration/v1:go_default_library",
148+
"//staging/src/k8s.io/kubelet/pkg/apis/stats/v1alpha1:go_default_library",
148149
"//staging/src/k8s.io/mount-utils:go_default_library",
149150
"//third_party/forked/golang/expansion:go_default_library",
150151
"//vendor/github.com/golang/groupcache/lru:go_default_library",

pkg/kubelet/kubelet.go

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ import (
5858
internalapi "k8s.io/cri-api/pkg/apis"
5959
"k8s.io/klog/v2"
6060
pluginwatcherapi "k8s.io/kubelet/pkg/apis/pluginregistration/v1"
61+
statsapi "k8s.io/kubelet/pkg/apis/stats/v1alpha1"
6162
api "k8s.io/kubernetes/pkg/apis/core"
6263
"k8s.io/kubernetes/pkg/features"
6364
kubeletconfiginternal "k8s.io/kubernetes/pkg/kubelet/apis/config"
@@ -1118,7 +1119,7 @@ type Kubelet struct {
11181119
dockerLegacyService legacy.DockerLegacyService
11191120

11201121
// StatsProvider provides the node and the container stats.
1121-
*stats.StatsProvider
1122+
StatsProvider *stats.Provider
11221123

11231124
// This flag, if set, instructs the kubelet to keep volumes from terminated pods mounted to the node.
11241125
// This can be useful for debugging volume related issues.
@@ -1135,6 +1136,56 @@ type Kubelet struct {
11351136
runtimeClassManager *runtimeclass.Manager
11361137
}
11371138

1139+
// ListPodStats is delegated to StatsProvider, which implements stats.Provider interface
1140+
func (kl *Kubelet) ListPodStats() ([]statsapi.PodStats, error) {
1141+
return kl.StatsProvider.ListPodStats()
1142+
}
1143+
1144+
// ListPodCPUAndMemoryStats is delegated to StatsProvider, which implements stats.Provider interface
1145+
func (kl *Kubelet) ListPodCPUAndMemoryStats() ([]statsapi.PodStats, error) {
1146+
return kl.StatsProvider.ListPodCPUAndMemoryStats()
1147+
}
1148+
1149+
// ListPodStatsAndUpdateCPUNanoCoreUsage is delegated to StatsProvider, which implements stats.Provider interface
1150+
func (kl *Kubelet) ListPodStatsAndUpdateCPUNanoCoreUsage() ([]statsapi.PodStats, error) {
1151+
return kl.StatsProvider.ListPodStatsAndUpdateCPUNanoCoreUsage()
1152+
}
1153+
1154+
// ImageFsStats is delegated to StatsProvider, which implements stats.Provider interface
1155+
func (kl *Kubelet) ImageFsStats() (*statsapi.FsStats, error) {
1156+
return kl.StatsProvider.ImageFsStats()
1157+
}
1158+
1159+
// GetCgroupStats is delegated to StatsProvider, which implements stats.Provider interface
1160+
func (kl *Kubelet) GetCgroupStats(cgroupName string, updateStats bool) (*statsapi.ContainerStats, *statsapi.NetworkStats, error) {
1161+
return kl.StatsProvider.GetCgroupStats(cgroupName, updateStats)
1162+
}
1163+
1164+
// GetCgroupCPUAndMemoryStats is delegated to StatsProvider, which implements stats.Provider interface
1165+
func (kl *Kubelet) GetCgroupCPUAndMemoryStats(cgroupName string, updateStats bool) (*statsapi.ContainerStats, error) {
1166+
return kl.StatsProvider.GetCgroupCPUAndMemoryStats(cgroupName, updateStats)
1167+
}
1168+
1169+
// RootFsStats is delegated to StatsProvider, which implements stats.Provider interface
1170+
func (kl *Kubelet) RootFsStats() (*statsapi.FsStats, error) {
1171+
return kl.StatsProvider.RootFsStats()
1172+
}
1173+
1174+
// GetContainerInfo is delegated to StatsProvider, which implements stats.Provider interface
1175+
func (kl *Kubelet) GetContainerInfo(podFullName string, uid types.UID, containerName string, req *cadvisorapi.ContainerInfoRequest) (*cadvisorapi.ContainerInfo, error) {
1176+
return kl.StatsProvider.GetContainerInfo(podFullName, uid, containerName, req)
1177+
}
1178+
1179+
// GetRawContainerInfo is delegated to StatsProvider, which implements stats.Provider interface
1180+
func (kl *Kubelet) GetRawContainerInfo(containerName string, req *cadvisorapi.ContainerInfoRequest, subcontainers bool) (map[string]*cadvisorapi.ContainerInfo, error) {
1181+
return kl.StatsProvider.GetRawContainerInfo(containerName, req, subcontainers)
1182+
}
1183+
1184+
// RlimitStats is delegated to StatsProvider, which implements stats.Provider interface
1185+
func (kl *Kubelet) RlimitStats() (*statsapi.RlimitStats, error) {
1186+
return kl.StatsProvider.RlimitStats()
1187+
}
1188+
11381189
// setupDataDirs creates:
11391190
// 1. the root directory
11401191
// 2. the pods directory

pkg/kubelet/runonce_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ func TestRunOnce(t *testing.T) {
113113
false, /* keepTerminatedPodVolumes */
114114
volumetest.NewBlockVolumePathHandler())
115115

116-
// TODO: Factor out "StatsProvider" from Kubelet so we don't have a cyclic dependency
116+
// TODO: Factor out "stats.Provider" from Kubelet so we don't have a cyclic dependency
117117
volumeStatsAggPeriod := time.Second * 10
118118
kb.resourceAnalyzer = stats.NewResourceAnalyzer(kb, volumeStatsAggPeriod)
119119
nodeRef := &v1.ObjectReference{

pkg/kubelet/stats/BUILD

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ go_library(
99
"cri_stats_provider_windows.go",
1010
"helper.go",
1111
"log_metrics_provider.go",
12-
"stats_provider.go",
12+
"provider.go",
1313
],
1414
importpath = "k8s.io/kubernetes/pkg/kubelet/stats",
1515
visibility = ["//visibility:public"],
@@ -67,7 +67,7 @@ go_test(
6767
"cri_stats_provider_test.go",
6868
"helper_test.go",
6969
"log_metrics_provider_test.go",
70-
"stats_provider_test.go",
70+
"provider_test.go",
7171
],
7272
embed = [":go_default_library"],
7373
deps = [

pkg/kubelet/stats/stats_provider.go renamed to pkg/kubelet/stats/provider.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import (
3232
"k8s.io/kubernetes/pkg/kubelet/status"
3333
)
3434

35-
// NewCRIStatsProvider returns a StatsProvider that provides the node stats
35+
// NewCRIStatsProvider returns a Provider that provides the node stats
3636
// from cAdvisor and the container stats from CRI.
3737
func NewCRIStatsProvider(
3838
cadvisor cadvisor.Interface,
@@ -43,7 +43,7 @@ func NewCRIStatsProvider(
4343
imageService internalapi.ImageManagerService,
4444
logMetricsService LogMetricsService,
4545
osInterface kubecontainer.OSInterface,
46-
) *StatsProvider {
46+
) *Provider {
4747
return newStatsProvider(cadvisor, podManager, runtimeCache, newCRIStatsProvider(cadvisor, resourceAnalyzer,
4848
runtimeService, imageService, logMetricsService, osInterface))
4949
}
@@ -57,28 +57,28 @@ func NewCadvisorStatsProvider(
5757
runtimeCache kubecontainer.RuntimeCache,
5858
imageService kubecontainer.ImageService,
5959
statusProvider status.PodStatusProvider,
60-
) *StatsProvider {
60+
) *Provider {
6161
return newStatsProvider(cadvisor, podManager, runtimeCache, newCadvisorStatsProvider(cadvisor, resourceAnalyzer, imageService, statusProvider))
6262
}
6363

64-
// newStatsProvider returns a new StatsProvider that provides node stats from
64+
// newStatsProvider returns a new Provider that provides node stats from
6565
// cAdvisor and the container stats using the containerStatsProvider.
6666
func newStatsProvider(
6767
cadvisor cadvisor.Interface,
6868
podManager kubepod.Manager,
6969
runtimeCache kubecontainer.RuntimeCache,
7070
containerStatsProvider containerStatsProvider,
71-
) *StatsProvider {
72-
return &StatsProvider{
71+
) *Provider {
72+
return &Provider{
7373
cadvisor: cadvisor,
7474
podManager: podManager,
7575
runtimeCache: runtimeCache,
7676
containerStatsProvider: containerStatsProvider,
7777
}
7878
}
7979

80-
// StatsProvider provides the stats of the node and the pod-managed containers.
81-
type StatsProvider struct {
80+
// Provider provides the stats of the node and the pod-managed containers.
81+
type Provider struct {
8282
cadvisor cadvisor.Interface
8383
podManager kubepod.Manager
8484
runtimeCache kubecontainer.RuntimeCache
@@ -101,13 +101,13 @@ type rlimitStatsProvider interface {
101101
}
102102

103103
// RlimitStats returns base information about process count
104-
func (p *StatsProvider) RlimitStats() (*statsapi.RlimitStats, error) {
104+
func (p *Provider) RlimitStats() (*statsapi.RlimitStats, error) {
105105
return pidlimit.Stats()
106106
}
107107

108108
// GetCgroupStats returns the stats of the cgroup with the cgroupName. Note that
109109
// this function doesn't generate filesystem stats.
110-
func (p *StatsProvider) GetCgroupStats(cgroupName string, updateStats bool) (*statsapi.ContainerStats, *statsapi.NetworkStats, error) {
110+
func (p *Provider) GetCgroupStats(cgroupName string, updateStats bool) (*statsapi.ContainerStats, *statsapi.NetworkStats, error) {
111111
info, err := getCgroupInfo(p.cadvisor, cgroupName, updateStats)
112112
if err != nil {
113113
return nil, nil, fmt.Errorf("failed to get cgroup stats for %q: %v", cgroupName, err)
@@ -120,7 +120,7 @@ func (p *StatsProvider) GetCgroupStats(cgroupName string, updateStats bool) (*st
120120

121121
// GetCgroupCPUAndMemoryStats returns the CPU and memory stats of the cgroup with the cgroupName. Note that
122122
// this function doesn't generate filesystem stats.
123-
func (p *StatsProvider) GetCgroupCPUAndMemoryStats(cgroupName string, updateStats bool) (*statsapi.ContainerStats, error) {
123+
func (p *Provider) GetCgroupCPUAndMemoryStats(cgroupName string, updateStats bool) (*statsapi.ContainerStats, error) {
124124
info, err := getCgroupInfo(p.cadvisor, cgroupName, updateStats)
125125
if err != nil {
126126
return nil, fmt.Errorf("failed to get cgroup stats for %q: %v", cgroupName, err)
@@ -131,7 +131,7 @@ func (p *StatsProvider) GetCgroupCPUAndMemoryStats(cgroupName string, updateStat
131131
}
132132

133133
// RootFsStats returns the stats of the node root filesystem.
134-
func (p *StatsProvider) RootFsStats() (*statsapi.FsStats, error) {
134+
func (p *Provider) RootFsStats() (*statsapi.FsStats, error) {
135135
rootFsInfo, err := p.cadvisor.RootFsInfo()
136136
if err != nil {
137137
return nil, fmt.Errorf("failed to get rootFs info: %v", err)
@@ -162,7 +162,7 @@ func (p *StatsProvider) RootFsStats() (*statsapi.FsStats, error) {
162162
}
163163

164164
// GetContainerInfo returns stats (from cAdvisor) for a container.
165-
func (p *StatsProvider) GetContainerInfo(podFullName string, podUID types.UID, containerName string, req *cadvisorapiv1.ContainerInfoRequest) (*cadvisorapiv1.ContainerInfo, error) {
165+
func (p *Provider) GetContainerInfo(podFullName string, podUID types.UID, containerName string, req *cadvisorapiv1.ContainerInfoRequest) (*cadvisorapiv1.ContainerInfo, error) {
166166
// Resolve and type convert back again.
167167
// We need the static pod UID but the kubecontainer API works with types.UID.
168168
podUID = types.UID(p.podManager.TranslatePodUID(podUID))
@@ -186,7 +186,7 @@ func (p *StatsProvider) GetContainerInfo(podFullName string, podUID types.UID, c
186186

187187
// GetRawContainerInfo returns the stats (from cadvisor) for a non-Kubernetes
188188
// container.
189-
func (p *StatsProvider) GetRawContainerInfo(containerName string, req *cadvisorapiv1.ContainerInfoRequest, subcontainers bool) (map[string]*cadvisorapiv1.ContainerInfo, error) {
189+
func (p *Provider) GetRawContainerInfo(containerName string, req *cadvisorapiv1.ContainerInfoRequest, subcontainers bool) (map[string]*cadvisorapiv1.ContainerInfo, error) {
190190
if subcontainers {
191191
return p.cadvisor.SubcontainerInfo(containerName, req)
192192
}
@@ -200,7 +200,7 @@ func (p *StatsProvider) GetRawContainerInfo(containerName string, req *cadvisora
200200
}
201201

202202
// HasDedicatedImageFs returns true if a dedicated image filesystem exists for storing images.
203-
func (p *StatsProvider) HasDedicatedImageFs() (bool, error) {
203+
func (p *Provider) HasDedicatedImageFs() (bool, error) {
204204
device, err := p.containerStatsProvider.ImageFsDevice()
205205
if err != nil {
206206
return false, err
File renamed without changes.

0 commit comments

Comments
 (0)