Pulls in github.com/pandatix/go-abnf (OpenMetrics decoder in expfmt),
pinned to v0.5.5 for the long-line decoding fix (prometheus/common#1028).
v0.73.0 is skipped: its go-abnf v0.5.1 requires the blocklisted
hashicorp/go-uuid.
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
* Drop pkg/util/iptables, port to sigs.k8s.io/iptables-wrappers/pkg/iptables
* vendor iptables-wrappers
* update imports
* drop pkg/util/iptables
* update for constructor changes
* update for Restore changes
* update for Monitor changes
* add context args to remaining utiliptables methods
* update for GetChainsFromTable changes
Picks up kube-openapi #652 (NYTimes/gziphandler forked in, module dropped) and #644 (go-restful out of pkg/common). gziphandler leaves vendor and joins the blocklist; go-restful leaves the go.mod of twelve published modules.
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
This is now a proper Go module; its dependency on google/btree is thus
apparent in unwanted-dependencies.json.
Signed-off-by: Stephen Kitt <skitt@redhat.com>
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.
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-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>
The google/btree package is deprecated, so switch to the maintained
fork in k8s.io/utils/third_party/forked/golang/btree.
API differences:
- NewG -> New
- BTreeG[T] -> BTree[T]
Signed-off-by: Davanum Srinivas <davanum@gmail.com>