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

Ideas for test extensions improvements #7322

Closed
fabriziopandini opened this issue Sep 30, 2022 · 5 comments
Closed

Ideas for test extensions improvements #7322

fabriziopandini opened this issue Sep 30, 2022 · 5 comments
Labels
area/runtime-sdk Issues or PRs related to Runtime SDK kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@fabriziopandini
Copy link
Member

fabriziopandini commented Sep 30, 2022

While developing #7288 we collected some ideas for improving test extensions; I'm reporting them here in order to keep track/ trigger discussion on next steps

/area runtime-sdk
/kind feature

@k8s-ci-robot k8s-ci-robot added area/runtime-sdk Issues or PRs related to Runtime SDK kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Sep 30, 2022
@fabriziopandini
Copy link
Member Author

Note, point 3 of the above list can be addressed via #7562; most specifically, we can make the test extension to not block by default, unless a specific setting exists.
This setting can be by our E2E test framework machinery (but won't block developers using the same templates with tilt)

@fabriziopandini
Copy link
Member Author

/triage accepted

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Nov 18, 2022
@sbueringer
Copy link
Member

sbueringer commented Nov 18, 2022

Add a lib func for converting complex variables into go structs and/or other basic types.

I think in combination with variable discovery this can be more. Essentially treat variables like our regular API types:

  1. define complex variables as Go types
  2. and then leverage the Go types either:
    • to provide a util func to convert variables into those go types or
    • already pass the converted variable Go structs into the handler (cf. how we get the objects passed into a regular mutating/validating webhook today)
  3. generate corresponding schema code via openapi gen
  4. provide a util func to implement variable discovery based on this generated code
    • Note: we have to convert the generated schema code to the Cluster API schema types

3 + 4 only make sense in combination with variable discovery. 1 + 2 would make already sense today.

Theoratically 3. + a util which produces the variable schema as YAML would also make sense already today without discovery.

We should also allow type-safe access to builtin variables.

@fabriziopandini
Copy link
Member Author

/close
we are reconsidering those ideas while working for implementing support for variable discovery #6901

@k8s-ci-robot
Copy link
Contributor

@fabriziopandini: Closing this issue.

In response to this:

/close
we are reconsidering those ideas while working for implementing support for variable discovery #6901

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/runtime-sdk Issues or PRs related to Runtime SDK kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

3 participants