Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vendor cadvisor v0.38.4 #96425

Merged
merged 1 commit into from Nov 13, 2020

Conversation

bobbypage
Copy link
Member

@bobbypage bobbypage commented Nov 10, 2020

What type of PR is this?
/kind bug

What this PR does / why we need it:

Vendor in cadvisor v0.38.4

For each kubernetes release, we need to cut a new cadvisor release and vendor it back into k/k. For 1.20, we'll be vendoring cadvisor v0.38.4.

Which issue(s) this PR fixes:

Fixes #96287

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

NONE

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

hack/pin-dependency.sh github.com/google/cadvisor v0.38.4
hack/update-vendor.sh


$ hack/lint-dependencies.sh
These modules are pinned to versions different than the minimal preferred version.
That means that without replace directives, a different version would be selected,
which breaks consumers of our published modules.
1. Use hack/pin-dependency.sh to switch to the preferred version for each module
2. Run hack/update-vendor.sh to rebuild the vendor directory
3. Run hack/lint-dependencies.sh to verify no additional changes are required

cloud.google.com/go
    pinned:    v0.51.0
    preferred: v0.54.0
    hack/pin-dependency.sh cloud.google.com/go v0.54.0
github.com/aws/aws-sdk-go
    pinned:    v1.35.5
    preferred: v1.35.24
    hack/pin-dependency.sh github.com/aws/aws-sdk-go v1.35.24
github.com/blang/semver
    pinned:    v3.5.0+incompatible
    preferred: v3.5.1+incompatible
    hack/pin-dependency.sh github.com/blang/semver v3.5.1+incompatible
github.com/containerd/containerd
    pinned:    v1.3.3
    preferred: v1.4.1
    hack/pin-dependency.sh github.com/containerd/containerd v1.4.1
github.com/containerd/ttrpc
    pinned:    v1.0.0
    preferred: v1.0.2
    hack/pin-dependency.sh github.com/containerd/ttrpc v1.0.2
github.com/containerd/typeurl
    pinned:    v1.0.0
    preferred: v1.0.1
    hack/pin-dependency.sh github.com/containerd/typeurl v1.0.1
github.com/docker/docker
    pinned:    v1.4.2-0.20200309214505-aa6a9891b09c
    preferred: v17.12.0-ce-rc1.0.20200916142827-bd33bbf0497b+incompatible
    hack/pin-dependency.sh github.com/docker/docker v17.12.0-ce-rc1.0.20200916142827-bd33bbf0497b+incompatible
github.com/golang/protobuf
    pinned:    v1.4.2
    preferred: v1.4.3
    hack/pin-dependency.sh github.com/golang/protobuf v1.4.3
github.com/google/go-cmp
    pinned:    v0.4.0
    preferred: v0.5.2
    hack/pin-dependency.sh github.com/google/go-cmp v0.5.2
github.com/google/uuid
    pinned:    v1.1.1
    preferred: v1.1.2
    hack/pin-dependency.sh github.com/google/uuid v1.1.2
github.com/gorilla/mux
    pinned:    v1.7.3
    preferred: v1.8.0
    hack/pin-dependency.sh github.com/gorilla/mux v1.8.0
github.com/karrick/godirwalk
    pinned:    v1.7.5
    preferred: v1.16.1
    hack/pin-dependency.sh github.com/karrick/godirwalk v1.16.1
github.com/opencontainers/runc
    pinned:    v1.0.0-rc91.0.20200707015106-819fcc687efb
    preferred: v1.0.0-rc92
    hack/pin-dependency.sh github.com/opencontainers/runc v1.0.0-rc92
github.com/opencontainers/runtime-spec
    pinned:    v1.0.3-0.20200520003142-237cc4f519e2
    preferred: v1.0.3-0.20200728170252-4d89ac9fbff6
    hack/pin-dependency.sh github.com/opencontainers/runtime-spec v1.0.3-0.20200728170252-4d89ac9fbff6
github.com/prometheus/procfs
    pinned:    v0.1.3
    preferred: v0.2.0
    hack/pin-dependency.sh github.com/prometheus/procfs v0.2.0
github.com/stretchr/testify
    pinned:    v1.4.0
    preferred: v1.6.1
    hack/pin-dependency.sh github.com/stretchr/testify v1.6.1
github.com/vishvananda/netns
    pinned:    v0.0.0-20200520041808-52d707b772fe
    preferred: v0.0.0-20200728191858-db3c7e526aae
    hack/pin-dependency.sh github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae
golang.org/x/text
    pinned:    v0.3.3
    preferred: v0.3.4
    hack/pin-dependency.sh golang.org/x/text v0.3.4
golang.org/x/time
    pinned:    v0.0.0-20191024005414-555d28b269f0
    preferred: v0.0.0-20200630173020-3af7569d3a1e
    hack/pin-dependency.sh golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e
golang.org/x/xerrors
    pinned:    v0.0.0-20191204190536-9bdfabe68543
    preferred: v0.0.0-20200804184101-5ec99f83aff1
    hack/pin-dependency.sh golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
google.golang.org/genproto
    pinned:    v0.0.0-20200526211855-cb27e3aa2013
    preferred: v0.0.0-20201110150050-8816d57aaa9a
    hack/pin-dependency.sh google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a
google.golang.org/grpc
    pinned:    v1.27.0
    preferred: v1.27.1
    hack/pin-dependency.sh google.golang.org/grpc v1.27.1
google.golang.org/protobuf
    pinned:    v1.24.0
    preferred: v1.25.0
    hack/pin-dependency.sh google.golang.org/protobuf v1.25.0
k8s.io/utils
    pinned:    v0.0.0-20201104234853-8146046b121e
    preferred: v0.0.0-20201110183641-67b214c5f920
    hack/pin-dependency.sh k8s.io/utils v0.0.0-20201110183641-67b214c5f920

Use the given commands to remove pinned module versions that aren't actually used:
GO111MODULE=on go mod edit -dropreplace github.com/go-ini/ini
All pinned versions of checked dependencies match their preferred version.

# pin all of the above
$ hack/update-vendor.sh



$ hack/lint-dependencies.sh
These modules are pinned to versions different than the minimal preferred version.
That means that without replace directives, a different version would be selected,
which breaks consumers of our published modules.
1. Use hack/pin-dependency.sh to switch to the preferred version for each module
2. Run hack/update-vendor.sh to rebuild the vendor directory
3. Run hack/lint-dependencies.sh to verify no additional changes are required

cloud.google.com/go/bigquery
    pinned:    v1.0.1
    preferred: v1.4.0
    hack/pin-dependency.sh cloud.google.com/go/bigquery v1.4.0
cloud.google.com/go/datastore
    pinned:    v1.0.0
    preferred: v1.1.0
    hack/pin-dependency.sh cloud.google.com/go/datastore v1.1.0
cloud.google.com/go/pubsub
    pinned:    v1.0.1
    preferred: v1.2.0
    hack/pin-dependency.sh cloud.google.com/go/pubsub v1.2.0
cloud.google.com/go/storage
    pinned:    v1.0.0
    preferred: v1.6.0
    hack/pin-dependency.sh cloud.google.com/go/storage v1.6.0
github.com/checkpoint-restore/go-criu/v4
    pinned:    v4.0.2
    preferred: v4.1.0
    hack/pin-dependency.sh github.com/checkpoint-restore/go-criu/v4 v4.1.0
github.com/golang/mock
    pinned:    v1.3.1
    preferred: v1.4.1
    hack/pin-dependency.sh github.com/golang/mock v1.4.1
github.com/google/pprof
    pinned:    v0.0.0-20191218002539-d4f498aebedc
    preferred: v0.0.0-20200229191704-1ebb73c60ed3
    hack/pin-dependency.sh github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3
github.com/opencontainers/selinux
    pinned:    v1.5.2
    preferred: v1.6.0
    hack/pin-dependency.sh github.com/opencontainers/selinux v1.6.0
go.opencensus.io
    pinned:    v0.22.2
    preferred: v0.22.3
    hack/pin-dependency.sh go.opencensus.io v0.22.3
golang.org/x/lint
    pinned:    v0.0.0-20191125180803-fdd1cda4f05f
    preferred: v0.0.0-20200302205851-738671d3881b
    hack/pin-dependency.sh golang.org/x/lint v0.0.0-20200302205851-738671d3881b
golang.org/x/oauth2
    pinned:    v0.0.0-20191202225959-858c2ad4c8b6
    preferred: v0.0.0-20200107190931-bf48bf16ab8d
    hack/pin-dependency.sh golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
google.golang.org/api
    pinned:    v0.15.1
    preferred: v0.20.0
    hack/pin-dependency.sh google.golang.org/api v0.20.0
google.golang.org/protobuf
    pinned:    v1.24.0
    preferred: v1.25.0
    hack/pin-dependency.sh google.golang.org/protobuf v1.25.0
honnef.co/go/tools
    pinned:    v0.0.1-2019.2.3
    preferred: v0.0.1-2020.1.3
    hack/pin-dependency.sh honnef.co/go/tools v0.0.1-2020.1.3

Use the given commands to remove pinned module versions that aren't actually used:
GO111MODULE=on go mod edit -dropreplace github.com/docker/go-events
GO111MODULE=on go mod edit -dropreplace github.com/go-ini/ini
GO111MODULE=on go mod edit -dropreplace github.com/gogo/googleapis
All pinned versions of checked dependencies match their preferred version.

# pin all of the above
$ hack/update-vendor.sh

$ hack/lint-dependencies.sh
These modules are pinned to versions different than the minimal preferred version.
That means that without replace directives, a different version would be selected,
which breaks consumers of our published modules.
1. Use hack/pin-dependency.sh to switch to the preferred version for each module
2. Run hack/update-vendor.sh to rebuild the vendor directory
3. Run hack/lint-dependencies.sh to verify no additional changes are required

github.com/golang/groupcache
    pinned:    v0.0.0-20191227052852-215e87163ea7
    preferred: v0.0.0-20200121045136-8c9f03a8e57e
    hack/pin-dependency.sh github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e
golang.org/x/exp
    pinned:    v0.0.0-20191227195350-da58074b4299
    preferred: v0.0.0-20200224162631-6cc2880d07d6
    hack/pin-dependency.sh golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6
google.golang.org/protobuf
    pinned:    v1.24.0
    preferred: v1.25.0
    hack/pin-dependency.sh google.golang.org/protobuf v1.25.0

Use the given commands to remove pinned module versions that aren't actually used:
GO111MODULE=on go mod edit -dropreplace github.com/docker/go-events
GO111MODULE=on go mod edit -dropreplace github.com/go-ini/ini
GO111MODULE=on go mod edit -dropreplace github.com/gogo/googleapis
All pinned versions of checked dependencies match their preferred version.

# pin all of the above
$ hack/update-vendor.sh

$ hack/lint-dependencies.sh
These modules are pinned to versions different than the minimal preferred version.
That means that without replace directives, a different version would be selected,
which breaks consumers of our published modules.
1. Use hack/pin-dependency.sh to switch to the preferred version for each module
2. Run hack/update-vendor.sh to rebuild the vendor directory
3. Run hack/lint-dependencies.sh to verify no additional changes are required

github.com/go-gl/glfw/v3.3/glfw
    pinned:    v0.0.0-20191125211704-12ad95a8df72
    preferred: v0.0.0-20200222043503-6f7a984d4dc4
    hack/pin-dependency.sh github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4
google.golang.org/protobuf
    pinned:    v1.24.0
    preferred: v1.25.0
    hack/pin-dependency.sh google.golang.org/protobuf v1.25.0

Use the given commands to remove pinned module versions that aren't actually used:
GO111MODULE=on go mod edit -dropreplace github.com/docker/go-events
GO111MODULE=on go mod edit -dropreplace github.com/go-ini/ini
GO111MODULE=on go mod edit -dropreplace github.com/gogo/googleapis
All pinned versions of checked dependencies match their preferred version.

# pin all of the above
$ hack/update-vendor.sh

$ hack/lint-dependencies.sh
These modules are pinned to versions different than the minimal preferred version.
That means that without replace directives, a different version would be selected,
which breaks consumers of our published modules.
1. Use hack/pin-dependency.sh to switch to the preferred version for each module
2. Run hack/update-vendor.sh to rebuild the vendor directory
3. Run hack/lint-dependencies.sh to verify no additional changes are required

google.golang.org/protobuf
    pinned:    v1.24.0
    preferred: v1.25.0
    hack/pin-dependency.sh google.golang.org/protobuf v1.25.0

Use the given commands to remove pinned module versions that aren't actually used:
GO111MODULE=on go mod edit -dropreplace github.com/docker/go-events
GO111MODULE=on go mod edit -dropreplace github.com/go-ini/ini
GO111MODULE=on go mod edit -dropreplace github.com/gogo/googleapis
All pinned versions of checked dependencies match their preferred version.

# pin protobuf
hack/update-vendor.sh

$ hack/lint-dependencies.sh

Use the given commands to remove pinned module versions that aren't actually used:
GO111MODULE=on go mod edit -dropreplace github.com/docker/go-events
GO111MODULE=on go mod edit -dropreplace github.com/go-ini/ini
GO111MODULE=on go mod edit -dropreplace github.com/gogo/googleapis
All pinned versions of checked dependencies match their preferred version.

$ hack/update-vendor.sh

$ hack/lint-dependencies.sh
All pinned versions of checked dependencies match their preferred version.

$ hack/verify-vendor.sh
+++ [1113 19:51:08] logfile at /tmp/update-vendor.f32t/update-vendor.log
+++ [1113 19:51:08] go.mod: update staging references
+++ [1113 19:51:19] go.mod: propagate to staging modules
+++ [1113 19:51:21] go.mod: sorting staging modules
+++ [1113 19:51:45] go.mod: tidying
+++ [1113 19:52:08] go.mod: adding generated comments
+++ [1113 19:52:09] vendor: running 'go mod vendor'
+++ [1113 19:52:10] vendor: updating BUILD files
+++ [1113 19:52:17] vendor: updating vendor/LICENSES
+++ [1113 19:52:26] vendor: creating OWNERS file
+++ [1113 19:52:26] NOTE: don't forget to handle vendor/* files that were added or removed
All pinned versions of checked dependencies match their preferred version.
Vendor Verified.

@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/needs-kind Indicates a PR lacks a `kind/foo` label and requires one. do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. area/apiserver area/cloudprovider area/code-generation area/dependency Issues or PRs related to dependency changes area/kubectl sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. sig/instrumentation Categorizes an issue or PR as relevant to SIG Instrumentation. sig/node Categorizes an issue or PR as relevant to SIG Node. and removed do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Nov 10, 2020
@bobbypage
Copy link
Member Author

/cc @dashpole @dims @SergeyKanzhelev

@dashpole
Copy link
Contributor

This seems like it may be blocked by #93320

@fedebongio
Copy link
Contributor

/remove-sig api-machinery

@bobbypage bobbypage changed the title Vendor cadvisor v0.38.3 Vendor cadvisor v0.38.4 Nov 13, 2020
@bobbypage
Copy link
Member Author

bobbypage commented Nov 13, 2020

Thanks for looking more closely at the vendored changes. I looked into the increase of deps and it seems it was caused by google/cadvisor#2716

$ git checkout f6f48d031d729c3b38629c63e5c6ebb1a6ca76fc && go list -m all | wc -l
275

Before it was at 137 deps

$ git checkout f6f48d031d729c3b38629c63e5c6ebb1a6ca76fc^1 && go list -m all | wc -l
Previous HEAD position was f6f48d03 Update dependencies
HEAD is now at bf8fe422 Delete exclude guest flag which causing problems on some configurations. (#2640)
137

The reason for the increase deps in google/cadvisor#2716 was probably due to upgrade of GRPC, but we reverted that in google/cadvisor#2724 and also the gopkg.in/yaml.v2 google/cadvisor#2728. The issue looks like somewhere along the way we forgot to run go mod tidy 😮.

I ran go mod tidy and we're back to reasonable amount of deps, 140:

$ git checkout v0.38.4 && go list -m all | wc -l
140

cadvisor should really add a tidy check to CI, I filed google/cadvisor#2730 for us to do that.

I cut another cadvisor release after running tidy, google/cadvisor#2731, cadvisor v0.38.4 and vendored it back, and updated the PR. PTAL again, thanks again for catching this.

@bobbypage
Copy link
Member Author

/retest

@liggitt
Copy link
Member

liggitt commented Nov 13, 2020

This looks far more reasonable, thanks for the quick turnaround.

#96549 should go in first, since it is a targeted dep update of x/net and x/sys to address the http/2 bug, then this will need a rebase (and won't need to bump x/net and x/sys, since that PR includes versions as new or newer than what is included in this PR).

/lgtm
/approve
/hold for #96549

@k8s-ci-robot k8s-ci-robot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. lgtm "Looks good to me", indicates that a PR is ready to be merged. labels Nov 13, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bobbypage, dchen1107, dims, liggitt

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 13, 2020
@liggitt
Copy link
Member

liggitt commented Nov 13, 2020

/priority important-soon
/triage accepted

@k8s-ci-robot k8s-ci-robot added priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-priority Indicates a PR lacks a `priority/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Nov 13, 2020
@dims
Copy link
Member

dims commented Nov 13, 2020

/milestone v1.20

@k8s-ci-robot k8s-ci-robot added this to the v1.20 milestone Nov 13, 2020
@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 13, 2020
@k8s-ci-robot k8s-ci-robot removed lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Nov 13, 2020
@bobbypage
Copy link
Member Author

I've rebased.

@bobbypage
Copy link
Member Author

/retest

@liggitt
Copy link
Member

liggitt commented Nov 13, 2020

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Nov 13, 2020
@liggitt
Copy link
Member

liggitt commented Nov 13, 2020

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 13, 2020
@bobbypage
Copy link
Member Author

/retest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/apiserver area/cloudprovider area/code-generation area/dependency Issues or PRs related to dependency changes area/kubectl cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/bug Categorizes issue or PR as related to a bug. lgtm "Looks good to me", indicates that a PR is ready to be merged. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. release-note-none Denotes a PR that doesn't merit a release note. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. sig/instrumentation Categorizes an issue or PR as relevant to SIG Instrumentation. sig/node Categorizes an issue or PR as relevant to SIG Node. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[1.20] Cut and vendor new cAdvisor release v0.38.0
10 participants