Skip to content

Commit d63fb54

Browse files
Rework: Add ContainerFilesystems to ImageFsInfoResponse (#452)
Signed-off-by: Xinfeng Liu <[email protected]> Co-authored-by: Kinara Shah <[email protected]>
1 parent f9ec922 commit d63fb54

1,040 files changed

Lines changed: 96627 additions & 48754 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

core/imagefs_linux.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,16 @@ func (ds *dockerService) imageFsInfo() (*runtimeapi.ImageFsInfoResponse, error)
7676
InodesUsed: &runtimeapi.UInt64Value{
7777
Value: iNodesUsed,
7878
},
79-
},
80-
},
79+
}},
80+
ContainerFilesystems: []*runtimeapi.FilesystemUsage{
81+
{
82+
Timestamp: time.Now().UnixNano(),
83+
FsId: &runtimeapi.FilesystemIdentifier{
84+
Mountpoint: ds.dockerRootDir,
85+
},
86+
UsedBytes: &runtimeapi.UInt64Value{
87+
Value: ds.containerStatsCache.getWriteableLayer(),
88+
},
89+
}},
8190
}, nil
8291
}

core/sandbox_helpers_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import (
2828
"github.com/stretchr/testify/require"
2929

3030
runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1"
31-
"k8s.io/kubernetes/pkg/kubelet/types"
31+
"k8s.io/kubelet/pkg/types"
3232

3333
"github.com/Mirantis/cri-dockerd/config"
3434
"github.com/Mirantis/cri-dockerd/libdocker"

core/stats.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,17 @@ func (cs *cstats) getContainerRWSize() uint64 {
115115
return cs.rwLayerSize
116116
}
117117

118+
func (c *containerStatsCache) getWriteableLayer() uint64 {
119+
c.RLock()
120+
defer c.RUnlock()
121+
122+
var totalLayerSize uint64
123+
for _, stat := range c.stats {
124+
totalLayerSize += stat.rwLayerSize
125+
}
126+
return totalLayerSize
127+
}
128+
118129
func (c *containerStatsCache) getStats(containerID string) *cstats {
119130
c.RLock()
120131
defer c.RUnlock()

go.mod

Lines changed: 58 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -28,24 +28,25 @@ require (
2828
golang.org/x/sync v0.12.0
2929
golang.org/x/sys v0.31.0
3030
google.golang.org/grpc v1.62.1
31-
k8s.io/api v0.27.8
32-
k8s.io/apimachinery v0.27.8
33-
k8s.io/apiserver v0.27.8
34-
k8s.io/client-go v0.27.8
35-
k8s.io/component-base v0.27.8
36-
k8s.io/component-helpers v0.27.8
37-
k8s.io/cri-api v0.30.1
38-
k8s.io/cri-api/v1alpha2 v0.25.8
39-
k8s.io/kubernetes v1.27.8
40-
k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5
31+
k8s.io/api v0.29.10
32+
k8s.io/apimachinery v0.29.10
33+
k8s.io/apiserver v0.29.10
34+
k8s.io/client-go v0.29.10
35+
k8s.io/component-base v0.29.10
36+
k8s.io/component-helpers v0.29.10
37+
k8s.io/cri-api v0.29.10
38+
k8s.io/cri-api/v1alpha2 v0.29.10
39+
k8s.io/kubelet v0.0.0
40+
k8s.io/kubernetes v1.29.10
41+
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
4142
)
4243

4344
require (
4445
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
4546
github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab // indirect
4647
github.com/Microsoft/go-winio v0.6.1 // indirect
4748
github.com/NYTimes/gziphandler v1.1.1 // indirect
48-
github.com/antlr/antlr4/runtime/Go/antlr v1.4.10 // indirect
49+
github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df // indirect
4950
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a // indirect
5051
github.com/beorn7/perks v1.0.1 // indirect
5152
github.com/blang/semver/v4 v4.0.0 // indirect
@@ -54,27 +55,26 @@ require (
5455
github.com/containerd/cgroups/v3 v3.0.2 // indirect
5556
github.com/containerd/errdefs v0.1.0 // indirect
5657
github.com/containerd/log v0.1.0 // indirect
57-
github.com/coreos/go-semver v0.3.0 // indirect
58+
github.com/coreos/go-semver v0.3.1 // indirect
5859
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
5960
github.com/distribution/reference v0.5.0 // indirect
6061
github.com/docker/go-units v0.5.0 // indirect
61-
github.com/emicklei/go-restful/v3 v3.10.1 // indirect
62+
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
6263
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
6364
github.com/felixge/httpsnoop v1.0.3 // indirect
64-
github.com/fsnotify/fsnotify v1.6.0 // indirect
65+
github.com/fsnotify/fsnotify v1.7.0 // indirect
6566
github.com/go-logr/logr v1.3.0 // indirect
6667
github.com/go-logr/stdr v1.2.2 // indirect
6768
github.com/go-openapi/jsonpointer v0.19.6 // indirect
68-
github.com/go-openapi/jsonreference v0.20.1 // indirect
69+
github.com/go-openapi/jsonreference v0.20.2 // indirect
6970
github.com/go-openapi/swag v0.22.3 // indirect
7071
github.com/godbus/dbus/v5 v5.1.0 // indirect
7172
github.com/gogo/protobuf v1.3.2 // indirect
7273
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
7374
github.com/golang/protobuf v1.5.4 // indirect
7475
github.com/google/btree v1.1.2 // indirect
75-
github.com/google/cadvisor v0.47.2 // indirect
76-
github.com/google/cel-go v0.12.7 // indirect
77-
github.com/google/gnostic v0.7.0 // indirect
76+
github.com/google/cadvisor v0.48.1 // indirect
77+
github.com/google/cel-go v0.17.7 // indirect
7878
github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 // indirect
7979
github.com/google/go-cmp v0.6.0 // indirect
8080
github.com/google/gofuzz v1.2.0 // indirect
@@ -87,9 +87,9 @@ require (
8787
github.com/jonboulle/clockwork v0.3.0 // indirect
8888
github.com/josharian/intern v1.0.0 // indirect
8989
github.com/json-iterator/go v1.1.12 // indirect
90+
github.com/lithammer/dedent v1.1.0 // indirect
9091
github.com/mailru/easyjson v0.7.7 // indirect
9192
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
92-
github.com/mitchellh/mapstructure v1.4.1 // indirect
9393
github.com/moby/docker-image-spec v1.3.1 // indirect
9494
github.com/moby/spdystream v0.2.0 // indirect
9595
github.com/moby/sys/mountinfo v0.6.2 // indirect
@@ -98,18 +98,19 @@ require (
9898
github.com/modern-go/reflect2 v1.0.2 // indirect
9999
github.com/morikuni/aec v1.0.0 // indirect
100100
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
101+
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
101102
github.com/pmezard/go-difflib v1.0.0 // indirect
102-
github.com/prometheus/client_golang v1.14.0 // indirect
103-
github.com/prometheus/client_model v0.3.0 // indirect
104-
github.com/prometheus/common v0.39.0 // indirect
105-
github.com/prometheus/procfs v0.9.0 // indirect
103+
github.com/prometheus/client_golang v1.16.0 // indirect
104+
github.com/prometheus/client_model v0.4.0 // indirect
105+
github.com/prometheus/common v0.44.0 // indirect
106+
github.com/prometheus/procfs v0.10.1 // indirect
106107
github.com/stoewer/go-strcase v1.2.0 // indirect
107108
github.com/stretchr/objx v0.5.2 // indirect
108109
github.com/vishvananda/netns v0.0.4 // indirect
109110
github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510 // indirect
110-
go.etcd.io/etcd/api/v3 v3.5.7 // indirect
111-
go.etcd.io/etcd/client/pkg/v3 v3.5.7 // indirect
112-
go.etcd.io/etcd/client/v3 v3.5.7 // indirect
111+
go.etcd.io/etcd/api/v3 v3.5.10 // indirect
112+
go.etcd.io/etcd/client/pkg/v3 v3.5.10 // indirect
113+
go.etcd.io/etcd/client/v3 v3.5.10 // indirect
113114
go.opencensus.io v0.24.0 // indirect
114115
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.0 // indirect
115116
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 // indirect
@@ -122,9 +123,10 @@ require (
122123
go.opentelemetry.io/otel/trace v1.21.0 // indirect
123124
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
124125
go.uber.org/atomic v1.10.0 // indirect
125-
go.uber.org/multierr v1.9.0 // indirect
126+
go.uber.org/multierr v1.11.0 // indirect
126127
go.uber.org/zap v1.24.0 // indirect
127128
golang.org/x/crypto v0.36.0 // indirect
129+
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
128130
golang.org/x/mod v0.17.0 // indirect
129131
golang.org/x/net v0.37.0 // indirect
130132
golang.org/x/oauth2 v0.28.0 // indirect
@@ -139,41 +141,43 @@ require (
139141
gopkg.in/inf.v0 v0.9.1 // indirect
140142
gopkg.in/yaml.v2 v2.4.0 // indirect
141143
gopkg.in/yaml.v3 v3.0.1 // indirect
144+
k8s.io/apiextensions-apiserver v0.29.10 // indirect
142145
k8s.io/cloud-provider v0.27.8 // indirect
143-
k8s.io/klog/v2 v2.90.1 // indirect
144-
k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect
146+
k8s.io/klog/v2 v2.110.1 // indirect
147+
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
145148
k8s.io/mount-utils v0.27.8 // indirect
146-
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.1.2 // indirect
149+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 // indirect
147150
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
148-
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
151+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
149152
sigs.k8s.io/yaml v1.3.0 // indirect
150153
)
151154

152155
replace (
153156
google.golang.org/grpc/naming => google.golang.org/grpc v1.29.0
154-
k8s.io/api => k8s.io/api v0.27.8
155-
k8s.io/apimachinery => k8s.io/apimachinery v0.27.8
156-
k8s.io/apiserver => k8s.io/apiserver v0.27.8
157-
k8s.io/cli-runtime => k8s.io/cli-runtime v0.27.8
158-
k8s.io/client-go => k8s.io/client-go v0.27.8
159-
k8s.io/cloud-provider => k8s.io/cloud-provider v0.27.8
160-
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.27.8
161-
k8s.io/code-generator => k8s.io/code-generator v0.27.8
162-
k8s.io/component-base => k8s.io/component-base v0.27.8
163-
k8s.io/component-helpers => k8s.io/component-helpers v0.26.0
164-
k8s.io/controller-manager => k8s.io/controller-manager v0.27.8
157+
k8s.io/api => k8s.io/api v0.29.10
158+
k8s.io/apimachinery => k8s.io/apimachinery v0.29.10
159+
k8s.io/apiserver => k8s.io/apiserver v0.29.10
160+
k8s.io/cli-runtime => k8s.io/cli-runtime v0.29.10
161+
k8s.io/client-go => k8s.io/client-go v0.29.10
162+
k8s.io/cloud-provider => k8s.io/cloud-provider v0.29.10
163+
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.29.10
164+
k8s.io/code-generator => k8s.io/code-generator v0.29.10
165+
k8s.io/component-base => k8s.io/component-base v0.29.10
166+
k8s.io/component-helpers => k8s.io/component-helpers v0.29.10
167+
k8s.io/controller-manager => k8s.io/controller-manager v0.29.10
165168
k8s.io/cri-api => k8s.io/cri-api v0.30.1
166169
k8s.io/cri-api/v1alpha2 => k8s.io/cri-api v0.25.16
167-
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.27.8
168-
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.27.8
169-
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.27.8
170-
k8s.io/kube-proxy => k8s.io/kube-proxy v0.27.8
171-
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.27.8
172-
k8s.io/kubectl => k8s.io/kubectl v0.27.8
173-
k8s.io/kubelet => k8s.io/kubelet v0.27.8
174-
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.27.8
175-
k8s.io/metrics => k8s.io/metrics v0.27.8
176-
k8s.io/mount-utils => k8s.io/mount-utils v0.27.8
177-
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.27.8
178-
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.27.8
170+
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.29.10
171+
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.29.10
172+
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.29.10
173+
k8s.io/kube-proxy => k8s.io/kube-proxy v0.29.10
174+
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.29.10
175+
k8s.io/kubectl => k8s.io/kubectl v0.29.10
176+
k8s.io/kubelet => k8s.io/kubelet v0.29.10
177+
k8s.io/kubernetes => k8s.io/kubernetes v1.29.10
178+
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.29.10
179+
k8s.io/metrics => k8s.io/metrics v0.29.10
180+
k8s.io/mount-utils => k8s.io/mount-utils v0.29.10
181+
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.29.10
182+
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.29.10
179183
)

0 commit comments

Comments
 (0)