external-provisioner icon indicating copy to clipboard operation
external-provisioner copied to clipboard

Remove dependencies on k8s.io/kubernetes

Open msau42 opened this issue 2 years ago • 13 comments

What happened: Packages from k8s.io/kubernetes were not designed to be imported and adds a lot of complexity to our dependency management where we need to inject "replace" statements into go.mod. It is also not supported by dependabot, which we would like to use to help automate our releases.

It looks like the dependencies are all coming from the e2e tests, which are importing the kubernetes e2e test framework libraries: https://github.com/search?q=repo%3Akubernetes-csi%2Fexternal-provisioner+k8s.io%2Fkubernetes+path%3A*.go&type=code

@xing-yang I think we may want to move this out to its own repo, or maybe into the csi-test repo?

msau42 avatar Oct 26 '23 06:10 msau42

@msau42 Right, we need to think about this. Maybe csi-test repo is a better choice rather than creating another repo.

xing-yang avatar Oct 27 '23 00:10 xing-yang

cc @RaunakShah

xing-yang avatar Oct 27 '23 01:10 xing-yang

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

This bot triages un-triaged 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:

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

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

/lifecycle stale

k8s-triage-robot avatar Jan 31 '24 06:01 k8s-triage-robot

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

This bot triages un-triaged 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:

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

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

/lifecycle rotten

k8s-triage-robot avatar Mar 01 '24 07:03 k8s-triage-robot

/remove-lifecycle rotten

msau42 avatar Mar 05 '24 02:03 msau42

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

This bot triages un-triaged 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:

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

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

/lifecycle stale

k8s-triage-robot avatar Jun 03 '24 02:06 k8s-triage-robot

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

This bot triages un-triaged 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:

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

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

/lifecycle rotten

k8s-triage-robot avatar Jul 03 '24 02:07 k8s-triage-robot

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 avatar Aug 02 '24 03:08 k8s-triage-robot

@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-sigs/prow repository.

k8s-ci-robot avatar Aug 02 '24 03:08 k8s-ci-robot

/reopen /lifecycle frozen

msau42 avatar Aug 02 '24 22:08 msau42

@msau42: Reopened this issue.

In response to this:

/reopen /lifecycle frozen

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-sigs/prow repository.

k8s-ci-robot avatar Aug 02 '24 22:08 k8s-ci-robot

Another approach is to move the e2e test directory into its own go module with it's own go.mod.

This will help with CVE patching because dependabot today cannot support all the replace statements we have to do as a result of importing k8s.io/kubernetes.

msau42 avatar Mar 08 '25 00:03 msau42

As an example, see https://github.com/GoogleCloudPlatform/gcs-fuse-csi-driver/pull/509.

I'm not sure this is the best way of doing this (eg, the local/test package name seems hokey), but it seems to work.

If anyone knows of a better way please comment.

mattcary avatar Mar 08 '25 00:03 mattcary