kops icon indicating copy to clipboard operation
kops copied to clipboard

v1.24.0 requires the wrong version of k8s.io/client-go

Open Justin-W opened this issue 2 years ago • 2 comments

/kind bug

1. What kops version are you running? The command kops version, will display this information.

I was attempting to upgrade to v1.24.0 , via go get -u k8s.io/[email protected]

2. What Kubernetes version are you running? kubectl version will print the version if a cluster is running or provide the Kubernetes version specified as a kops flag.

v0.24.3

3. What cloud provider are you using?

4. What commands did you run? What is the simplest way to reproduce this issue?

  1. go get -u k8s.io/[email protected] outputs:

    go: upgraded k8s.io/client-go v0.24.3 => v1.5.2 go: upgraded k8s.io/kops v1.24.0-beta.1.0.20220628180605-96e991236ee3 => v1.24.0

  2. go get -u k8s.io/[email protected] outputs:

    go: downgraded k8s.io/client-go v1.5.2 => v0.24.3 go: removed k8s.io/kops v1.24.0

  3. go get -u k8s.io/[email protected] (a 2nd time) again outputs:

    go: upgraded k8s.io/client-go v0.24.3 => v1.5.2

5. What happened after the commands executed?

See command output above (in section 4)

6. What did you expect to happen?

Per https://github.com/kubernetes/client-go/issues/789#issuecomment-626370714, it is my understanding that the k8s.io/client-go module version should always match the k8s.io/api and k8s.io/apimachinery module versions.

I therefore expected that the 3 aforementioned modules' versions would remain identical, and would involve at most a semver minor version change (not a major version change). Instead, only the k8s.io/client-go module version changed (while the other 2 remained the same) and the changed version involved a major version change.

It appears that since #13919, kops v1.24.0 requires mismatched versions of those 3 modules. See: https://github.com/hakman/kops/blob/e8460f339600ee0d1cda4cb8b50d8491618fddb2/go.mod#L89-L92.

7. Please provide your cluster manifest. Execute kops get --name my.example.com -o yaml to display your cluster manifest. You may want to remove your cluster name and other sensitive information.

Not applicable (or any, depending on your POV). The issue occurs when kops is imported as a go dependency, prior to running any kops or kubectl CLI commands.

8. Please run the commands with most verbose logging by adding the -v 10 flag. Paste the logs into this report, or in a gist and provide the gist link here.

9. Anything else do we need to know?

Justin-W avatar Jul 18 '22 23:07 Justin-W

Thanks for reporting this @Justin-W. https://github.com/kubernetes/kops/pull/14003 should address the issue.

hakman avatar Jul 19 '22 04:07 hakman

As 1.24.1 has been tagged, I suppose we can close this one?

olemarkus avatar Jul 29 '22 18:07 olemarkus

Thanks. 👍

Justin-W avatar Aug 15 '22 23:08 Justin-W