-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
envtest's CreateCRDs times out with unserved versions #1154
Comments
@DirectXMan12: Please ensure the request meets the requirements listed here. If this request no longer meets these requirements, the label can be removed In response to this:
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. |
Set crd:trivialVersions=false to replace top-level CRD schema with per-version schema. Use 'kubebuilder:unservedversion` marker in v1alpha1 since it's working after we switched to controller-gen v0.2.8 from v0.2.5. There's no way to have metadata validation from kubebuilder marker so we had to use kustomize. However, after switching to per-version schema, there's no way to kustomize it per version. Thus, write script to automatically patch the singleton validation per version. With kubernetes-sigs/controller-runtime#1154 bug, integration test was broken with any versions unserved. Thus, write another script to have a set of CRD manifests generated specifically for the integration test. It still tests v1alpha2 since we still imported it. Include the hack/ scripts in "manifests" and "test" target in Makefile. Tested with "make test" and "make test-conversion" and manual testing on a GKE cluster.
Set crd:trivialVersions=false to replace top-level CRD schema with per-version schema. Use 'kubebuilder:unservedversion` marker in v1alpha1 since it's working after we switched to controller-gen v0.2.8 from v0.2.5. There's no way to have metadata validation from kubebuilder marker so we had to use kustomize. However, after switching to per-version schema, there's no way to kustomize it per version. Thus, write script to automatically patch the singleton validation per version. With kubernetes-sigs/controller-runtime#1154 bug, integration test was broken with any versions unserved. Thus, write another script to have a set of CRD manifests generated specifically for the integration test. It still tests v1alpha2 since we still imported it. Include the hack/ scripts in "manifests" and "test" target in Makefile. Tested with "make test" and "make test-conversion" and manual testing on a GKE cluster.
Set crd:trivialVersions=false to replace top-level CRD schema with per-version schema. Use 'kubebuilder:unservedversion` marker in v1alpha1 since it's working after we switched to controller-gen v0.2.8 from v0.2.5. There's no way to have metadata validation from kubebuilder marker so we had to use kustomize. However, after switching to per-version schema, there's no way to kustomize it per version. Thus, write script to automatically patch the singleton validation per version. With kubernetes-sigs/controller-runtime#1154 bug, integration test was broken with any versions unserved. Thus, write another script to have a set of CRD manifests generated specifically for the integration test. It still tests v1alpha2 since we still imported it. Include the hack/ scripts in "manifests" and "test" target in Makefile. Tested with "make test" and "make test-conversion" and manual testing on a GKE cluster.
Set crd:trivialVersions=false to replace top-level CRD schema with per-version schema. Use 'kubebuilder:unservedversion` marker in v1alpha1 since it's working after we switched to controller-gen v0.2.8 from v0.2.5. There's no way to have metadata validation from kubebuilder marker so we had to use kustomize. However, after switching to per-version schema, there's no way to kustomize it per version. Thus, write script to automatically patch the singleton validation per version. With kubernetes-sigs/controller-runtime#1154 bug, integration test was broken with any versions unserved. Thus, write another script to have a set of CRD manifests generated specifically for the integration test. It still tests v1alpha2 since we still imported it. Include the hack/ scripts in "manifests" and "test" target in Makefile. Tested with "make test" and "make test-conversion" and manual testing on a GKE cluster.
Set crd:trivialVersions=false to replace top-level CRD schema with per-version schema. Use 'kubebuilder:unservedversion` marker in v1alpha1 since it's working after we switched to controller-gen v0.2.8 from v0.2.5. There's no way to have metadata validation from kubebuilder marker so we had to use kustomize. However, after switching to per-version schema, there's no way to kustomize it per version. Thus, write script to automatically patch the singleton validation per version. With kubernetes-sigs/controller-runtime#1154 bug, integration test was broken with any versions unserved. Thus, write another script to have a set of CRD manifests generated specifically for the integration test. It still tests v1alpha2 since we still imported it. Include the hack/ scripts in "manifests" and "test" target in Makefile. Tested with "make test" and "make test-conversion" and manual testing on a GKE cluster.
Set crd:trivialVersions=false to replace top-level CRD schema with per-version schema. Use 'kubebuilder:unservedversion` marker in v1alpha1 since it's working after we switched to controller-gen v0.2.8 from v0.2.5. There's no way to have metadata validation from kubebuilder marker so we had to use kustomize. However, after switching to per-version schema, there's no way to kustomize it per version. Thus, write script to automatically patch the singleton validation per version. With kubernetes-sigs/controller-runtime#1154 bug, integration test was broken with any versions unserved. Thus, write another script to have a set of CRD manifests generated specifically for the integration test. It still tests v1alpha2 since we still imported it. Include the hack/ scripts in "manifests" and "test" target in Makefile. Tested with "make test" and "make test-conversion" and manual testing on a GKE cluster.
/assign |
Fixes 1148. The hack was served as a workaround for the `envtest failure with unserved versions` bug in controller-runtime kubernetes-sigs/controller-runtime#1154 Since the bug is fixed in controller-runtime v0.7 and HNC is now using v0.8.3, we can restore the workaround. Tested by `make test`.
InstallCRDs doesn't take into account that unserved versions aren't going to appear in discovery. It should do this.
/priority important-longterm
/good-first-issue
/kind bug
The text was updated successfully, but these errors were encountered: