kubernetes/client-go

Package upgrade blocked

regnaio opened this issue ยท 20 comments

Please refer to the command and its output below:

go get -u ./...

# k8s.io/client-go/applyconfigurations/meta/v1
/go/pkg/mod/k8s.io/client-go@v0.23.5/applyconfigurations/meta/v1/unstructured.go:64:37: cannot use doc (type *"github.com/googleapis/gnostic/openapiv2".Document) as type *"github.com/google/gnostic/openapiv2".Document in argument to "k8s.io/kube-openapi/pkg/util/proto".NewOpenAPIData
zrks commented

just stumbled upon same issue :/

Same here, but I think it already got resolved in an upcoming version:

Here the correct pkg gets imported: https://github.com/kubernetes/client-go/blob/v0.24.0-alpha.4/discovery/discovery_client.go#L32

Same problem here, updating all deps through go get -u doesn't work.

zrks commented

Same problem here, updating all deps through go get -u doesn't work.

update to v0.24.0-alpha.4, it helped me

Same problem here, updating all deps through go get -u doesn't work.

update to v0.24.0-alpha.4, it helped me

It worked @zrks ! Thank you!

did anyone figure out a solution for this one. Looks like issue is on all versions of 0.23 other than upgrading to latest version

nicks commented

i was able to fix this by replacing the k8s.io/kube-openapi entry in the go.mod in my project with this:

k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect

Adding this to my go.mod fixed some of the openapi type errors I was running into:

replace (
    github.com/googleapis/gnostic => github.com/googleapis/gnostic v0.5.5
)

The latest version of kube-openapi is only compatible with v0.24 of kubernetes so a go get -u on a v0.23 repo will pull in an incompatible module. I was under the impression that for a specific k8s release, we have dependencies pinned for a reason. Is it convention to run a go get -u on the client-go repo?

We try to maintain backwards incompatibility as much as possible, but things like module renames will cause version incompatibilities between certain versions.

cc @liggitt

Is it convention to run a go get -u on the client-go repo?

no, upgrading to HEAD of all dependencies of client-go is not expected to work as long as some are on v0... revisions

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

@k8s-triage-robot: Closing this issue, marking it as "Not Planned".

In response to this:

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

This is still broken
#1269

I am still facing this issue I am using k8s.io/client-go v0.27.3

/reopen

@jacobwolfaws: Reopened this issue.

In response to this:

/reopen

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

go get -u ./... is not likely to work seamlessly with v0 modules, which includes client-go and many of its dependencies (including gnostic, mergo, and others).

client-go is tested with the versions of dependencies referenced from its go.mod file, but newer versions of v0... dependencies may or may not work correctly with client-go

When client-go v0.28.x is released (~August 2023), this specific conflict between gnostic and gnostic-models will be resolved.

/close