This change updates four dependencies:
- github.com/containerd/containerd/api from v1.11.0 to v1.11.1
- github.com/cyphar/filepath-securejoin from v0.6.1 to v0.7.0
- github.com/opencontainers/cgroups from v0.0.6 to v0.0.7
- github.com/opencontainers/selinux from v1.13.1 to v1.15.1
The new filepath-securejoin release requires a newer version of
cyphar.com/go-pathrs, so that module also moves from v0.2.2 to v0.2.5.
The file hack/unwanted-dependencies.json did not need any changes.
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
When the container runtime provides stats via CRI, cAdvisor only needs
to track the root container for node-level resource and filesystem
metrics. Set DisableContainerDiscovery on the cAdvisor manager to skip
plugin initialization, cgroup watchers, and subcontainer scanning in
that mode.
Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
The new cadvisor version requires newer golang.org/x modules. Module
version selection raised crypto, mod, net, sync, sys, term, text, and
tools. golang.org/x/net moves from a pseudo-version to the v0.57.0
release, which includes the http2 fixes the pseudo-version pointed at.
cadvisor/lib no longer depends on github.com/gogo/protobuf. This change
removes cadvisor/lib from the gogo/protobuf dependants list in
hack/unwanted-dependencies.json.
This update adds a a new command-line flag to tests, --sleep-on-failure,
which pauses execution at the first failed assertion. This gives time to
debug the state of the system before the After* hooks teardown any
state.
Signed-off-by: Casey Callendrello <c1@caseyc.net>
The kubelet used cadvisor's lib/utils/oomparser to watch the kernel log for
OOM kills and to produce the container_oom_events_total metric. That made the
kubelet depend on the cadvisor lib module for OOM handling.
This moves OOM handling in-tree:
- The OOM kill parser is forked from cadvisor into
third_party/forked/cadvisor/oomparser. It reads /dev/kmsg and extracts OOM
events, adapted to take a context.Context and log through klog.
- The kmsg reader is forked from github.com/euank/go-kmsg-parser into
third_party/forked/go-kmsg-parser/kmsgparser.
- The kubelet OOM watcher reads OOM events through the forked parser and
records the container_oom_events_total metric in-tree.
- cadvisor/lib is bumped to v0.60.3, which no longer ships the OOM parser.
This removes the transitive github.com/euank/go-kmsg-parser
v2.0.0+incompatible dependency and the vendored cadvisor lib/utils/oomparser
package.
Behavior is unchanged. OOM events are still emitted and the metric still
reports the same counts.
github.com/google/cadvisor/lib v0.60.2 models the per-subsystem container
stats (Cpu, Memory, Network, DiskIo, Processes) as pointers, so a nil
again distinguishes "not collected" from a collected zero. Restore the
kubelet's original nil-checks in helper.go and cadvisor_stats_provider.go
(now equivalent to the pre-lib code), adapt the test fixtures and winstats
to build pointer sub-stats, and bump the vendored lib to v0.60.2.
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
Migrate the kubelet (and the kube-proxy conntrack helper) off the full github.com/google/cadvisor module onto the lean github.com/google/cadvisor/lib: repoint info/v1+info/v2 type usage to lib/model and the manager/fs/cache/etc. consumers to lib/*; regenerate the cadvisor.Interface mocks; keep the kubelet-pinned cAdvisor global flags via lib/cadvisorflags.
go.mod: require + replace github.com/google/cadvisor/lib (=> the dims/cadvisor/lib fork for now, until lib is tagged) and drop the full github.com/google/cadvisor module entirely; keep github.com/containerd/containerd/api at v1.11.0 (matching upstream master); add github.com/google/cadvisor to unwanted-dependencies.json unwantedModules so the full module cannot be re-vendored.
test/e2e_node: the one remaining consumer of the full module -- the node-e2e ResourceCollector, which used the v2 HTTP client (client/v2) + v2 API types (info/v2) -- now scrapes the standalone cAdvisor pod's /api/v2.1/stats directly over HTTP+JSON, so test/e2e_node depends on no cAdvisor package. No change to the kubelet's stats surfaces.
Bump go.etcd.io/etcd/{api,client/pkg,client,pkg,server}/v3 from v3.6.8 to v3.6.10.
go.etcd.io/etcd/raft/v3 is intentionally left unchanged (separate release cadence).
Signed-off-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Bump go-openapi dependencies to latest versions:
- github.com/go-openapi/jsonpointer v0.21.0 → v0.22.4
- github.com/go-openapi/jsonreference v0.20.2 → v0.21.4
- github.com/go-openapi/swag v0.23.0 → v0.25.4
The new swag version has been restructured into a multi-module monorepo
with submodules (cmdutils, conv, fileutils, jsonname, jsonutils, loading,
mangling, netutils, stringutils, typeutils, yamlutils). As a result:
- mailru/easyjson and josharian/intern are no longer transitive deps
and have been removed from vendor
- go-openapi/jsonpointer and go-openapi/swag no longer reference
unwanted deps davecgh/go-spew, mailru/easyjson, or gopkg.in/yaml.v3
- Updated hack/unwanted-dependencies.json accordingly
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
Bump cel-go to v0.27.0 to pick up the fix for context cancellation
error reporting that's breaking CI (see #138334).
Changes worth noting:
- cel-go switched from gopkg.in/yaml.v3 to go.yaml.in/yaml/v3,
so removed it from the gopkg.in/yaml.v3 unwanted references
- Dropped transitive dep github.com/stoewer/go-strcase
- Updated transitive dep github.com/antlr4-go/antlr/v4
- Pinned cel-go at v0.27.0 in hack/unwanted-dependencies.json
Kubernetes-commit: <drop>