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

[Discuss] Move sigs.k8s.io/testing_frameworks/integration to controller-runtime #676

Closed
3 tasks done
hoegaarden opened this issue Nov 11, 2019 · 5 comments
Closed
3 tasks done
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. sig/testing Categorizes an issue or PR as relevant to SIG Testing.

Comments

@hoegaarden
Copy link
Contributor

hoegaarden commented Nov 11, 2019

Proposal: Move testing_frameworks/integration into controller-runtime (& deprecate the former)

xref: kubernetes-retired/testing_frameworks#68 (comment)

Advantages:

  • Some configuration and implementation gets simpler; e.g. the equivalent of "kubebuilder assets"
  • Smaller change/PR overhead - changes that involve both testing_frameworks/integration and controller-runtime can be done in one place
  • Until now, testing_frameworks/integration has made the decision to not vendor any k/k packages. controller-runtime, on the other hand, is using k8s.io packages. That sometimes creates friction (e.g. Support rest config to talk to the control plane kubernetes-retired/testing_frameworks#68), which could be eliminated if the 2 lived in the same place.

Drawbacks:

  • Anyone who is using testing_frameworks/integration would be forced to vendor parts of k8s.io, which might not be desirable. In practice, we have only seen references to testing_frameworks/integration as part of controller-runtime, so that should be a pretty slim possibility.
  • The resulting codebase would not be able to be vendored into k/k (as is the case with controller-runtime today anyway).

Todos:

  • Move code to controller-runtime
  • Check on deprecation of repos with sig-contribex (or whoever is responsible for that)
  • Deprecate sigs.k8s.io/testing_frameworks

/cc @DirectXMan12 @mengqiy @apelisse
/sig testing
/kind cleanup

@k8s-ci-robot k8s-ci-robot added sig/testing Categorizes an issue or PR as relevant to SIG Testing. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. labels Nov 11, 2019
@mengqiy mengqiy added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Dec 5, 2019
@mengqiy
Copy link
Member

mengqiy commented Dec 5, 2019

We probably should be starting by moving it under pkg/internal/testingframework and then switch controller-runtime code to depend on that.

@DirectXMan12
Copy link
Contributor

yep, sgtm. It'll be a breaking change I believe, since we expose some bits of testing_frameworks in our public API. Likely low impact though.

@hoegaarden
Copy link
Contributor Author

Code has been moved over, the original repo has been archived, so we can
/close
this issue. Thanks all!

@k8s-ci-robot
Copy link
Contributor

@hoegaarden: Closing this issue.

In response to this:

Code has been moved over, the original repo has been archived, so we can
/close
this issue. Thanks all!

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.

@danieldn
Copy link

@hoegaarden With sigs.k8s.io/testing_frameworks/integration deprecated, what is the best way for us to import this integration library if we want to use it in our projects? I just found out the following doesn't work

imports sigs.k8s.io/controller-runtime/pkg/internal/testing/integration: use of internal package sigs.k8s.io/controller-runtime/pkg/internal/testing/integration not allowed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. sig/testing Categorizes an issue or PR as relevant to SIG Testing.
Projects
None yet
Development

No branches or pull requests

5 participants