Validation error shown when creating kind cluster with Contour ingress controller
Bug description
After merging commit 11d9330, we are encountering a validation error message when attempting to create a kind cluster with an ingress controller. Despite the error, the cluster appears to be created successfully and remains functional.
Observed error:
Error: Error: Failed to create kind cluster. CustomResourceDefinition.apiextensions.k8s.io "contourdeployments.projectcontour.io" is invalid: [spec.validation.openAPIV3Schema.properties[spec].properties[contour].properties[deployment].properties[strategy].properties[rollingUpdate].properties[maxSurge].type: Required value: must not be empty for specified object fields, spec.validation.openAPIV3Schema.properties[spec].properties[contour].properties[deployment].properties[strategy].properties[rollingUpdate].properties[maxUnavailable].type: Required value: must not be empty for specified object fields, spec.validation.openAPIV3Schema.properties[spec].properties[envoy].properties[daemonSet].properties[updateStrategy].properties[rollingUpdate].properties[maxSurge].type: Required value: must not be empty for specified object fields, spec.validation.openAPIV3Schema.properties[spec].properties[envoy].properties[daemonSet].properties[updateStrategy].properties[rollingUpdate].properties[maxUnavailable].type: Required value: must not be empty for specified object fields, spec.validation.openAPIV3Schema.properties[spec].properties[envoy].properties[deployment].properties[strategy].properties[rollingUpdate].properties[maxSurge].type: Required value: must not be empty for specified object fields, spec.validation.openAPIV3Schema.properties[spec].properties[envoy].properties[deployment].properties[strategy].properties[rollingUpdate].properties[maxUnavailable].type: Required value: must not be empty for specified object fields]
Operating system
Fedora, macOS, Windows
Installation Method
None
Version
next (development version)
Relevant log output
Additional context
No response
I can reproduce the issue. It is connected directly to a countour ingress controller. WE probably need to update some configurations/image/etc in the config we are using.
Can reproduce as well. Seems related to Contour CRD validation. Maybe updating Contour should fix the issue
Looks like https://github.com/kubernetes-client/javascript/issues/2483 we are not only one who have this problem
Looks like kubernetes-client/javascript#2483 we are not only one who have this problem
So there are 2 solutions:
- revert the version of kubernetes client but it may have huge impacts and non regression will be very hard to ensure
- use a patched version of the library, @benoitf may help
Looks like kubernetes-client/javascript#2483 we are not only one who have this problem
So there are 2 solutions:
* revert the version of kubernetes client but it may have huge impacts and non regression will be very hard to ensure * use a patched version of the library, [@benoitf](https://github.com/benoitf) may help
If we go with a patched library on our own, we would need to thoroughly retest everything on our side. (ie. use qe/testing-required on the PR). But this seems to me like a very tricky path, if we do not need some feature released after 1.1.x library version I would be for reverting.
Looks like kubernetes-client/javascript#2483 we are not only one who have this problem
So there are 2 solutions:
* revert the version of kubernetes client but it may have huge impacts and non regression will be very hard to ensure * use a patched version of the library, [@benoitf](https://github.com/benoitf) may helpIf we go with a patched library on our own, we would need to thoroughly retest everything on our side. (ie. use
qe/testing-requiredon the PR). But this seems to me like a very tricky path, if we do not need some feature released after 1.1.x library version I would be for reverting.
Reverting would imply even more testing as it would impact other parts of Podman Desktop (all Kubernetes features)
I'm also not comfortable reverting and using a fixed version of the library.
If reverting the patch https://github.com/kubernetes-client/javascript/pull/2400/files (or any other patch) works for us, I propose to patch the library locally with the revert patch (pnpm provides nice tooling for this: https://pnpm.io/cli/patch), and propose a PR on the upstream library, so we can sync with the library as soon as the patch is accepted upstream.