kubernetes-sigs / cloud-provider-equinix-metal

Kubernetes Cloud Provider for Equinix Metal (formerly Packet Cloud Controller Manager)
https://deploy.equinix.com/labs/cloud-provider-equinix-metal
Apache License 2.0
73 stars 26 forks source link

chore(deps): bump k8s.io/apimachinery from 0.26.10 to 0.30.2 #535

Closed dependabot[bot] closed 2 weeks ago

dependabot[bot] commented 2 months ago

Bumps k8s.io/apimachinery from 0.26.10 to 0.30.0.

Commits
  • 37988e5 Merge remote-tracking branch 'origin/master' into release-1.30
  • c857a38 Update x/net for CVE-2023-45288
  • 0407311 followup to allow special characters
  • 25164f7 Merge pull request #123435 from tallclair/apparmor-ga
  • cbfe0a1 Merge pull request #123758 from liggitt/protobump
  • 21d26b6 Bump github.com/golang/protobuf v1.5.4, google.golang.org/protobuf v1.33.0
  • 0c29f84 Merge pull request #123385 from HirazawaUi/allow-special-characters
  • 60d24f2 Merge pull request #123708 from p0lyn0mial/upstream-const-watchlist-bookmark-...
  • 513d23a apimachinery/meta/types.go: define InitialEventsAnnotationKey const
  • 67cb3a8 Merge pull request #123413 from seans3/tunneling-spdy-websockets
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
displague commented 2 months ago

The signature of functions has changed in other ways in v0.30:

  Error: not enough arguments in call to app.NewCloudControllerManagerCommand
    have (*"k8s.io/cloud-provider/options".CloudControllerManagerOptions, func(config *"k8s.io/cloud-provider/app/config".CompletedConfig) cloudprovider.Interface, map[string]"k8s.io/cloud-provider/app".ControllerInitFuncConstructor, "k8s.io/component-base/cli/flag".NamedFlagSets, <-chan struct{})
    want (*"k8s.io/cloud-provider/options".CloudControllerManagerOptions, "k8s.io/cloud-provider/app".InitCloudFunc, map[string]"k8s.io/cloud-provider/app".ControllerInitFuncConstructor, map[string]string, "k8s.io/component-base/cli/flag".NamedFlagSets, <-chan struct{}) (typecheck)

This change doesn't seem to be represented in the sample provider: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/cloud-provider/sample/basic_main.go#L78-L82

trying to downgrade to 0.29.4 to see if we can get #499 with the other changes in this PR.

export VER=v0.29
go get -u k8s.io/{api,client-go,cloud-provider,component-base,apimachinery}@$VER 
displague commented 2 months ago

Nope. Same error.

  Error: not enough arguments in call to app.NewCloudControllerManagerCommand
    have (*"k8s.io/cloud-provider/options".CloudControllerManagerOptions, func(config *"k8s.io/cloud-provider/app/config".CompletedConfig) cloudprovider.Interface, map[string]"k8s.io/cloud-provider/app".ControllerInitFuncConstructor, "k8s.io/component-base/cli/flag".NamedFlagSets, <-chan struct{})
    want (*"k8s.io/cloud-provider/options".CloudControllerManagerOptions, "k8s.io/cloud-provider/app".InitCloudFunc, map[string]"k8s.io/cloud-provider/app".ControllerInitFuncConstructor, map[string]string, "k8s.io/component-base/cli/flag".NamedFlagSets, <-chan struct{}) (typecheck)
dependabot[bot] commented 1 month ago

A newer version of k8s.io/apimachinery exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.

displague commented 2 weeks ago

Updating the PR to v0.30.2 via:

export VER=v0.30
go get -u k8s.io/{api,client-go,cloud-provider,component-base{,/metrics},apimachinery,apiserver/pkg/server}@$VER
displague commented 2 weeks ago

Found the updated call signature for NewCloudControllerManagerCommand here:

https://github.com/linode/linode-cloud-controller-manager/commit/4899055d57a7e8db574caa8a3298d0c2baaa3ff7#diff-2873f79a86c0d8b3335cd7731b0ecf7dd4301eb19a82ef7a1cba7589b5252261R76-R77 Another example is https://github.com/kubernetes/cloud-provider-openstack/blob/a59b8a28d23b1f265eb066e760b56d72ad29e91f/cmd/openstack-cloud-controller-manager/main.go#L55

Also discovered that deleting routes from the controllers map was a no-op. The nearest upstream name is node-route-controller. I'm sending the defaults now.

Relevant:

k8s-ci-robot commented 2 weeks ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cprivitere, dependabot[bot]

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: - ~~[OWNERS](https://github.com/kubernetes-sigs/cloud-provider-equinix-metal/blob/main/OWNERS)~~ [cprivitere] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment