-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[installer/openvsx] Explicitly add statusfield of statefulset #8511
Conversation
Signed-off-by: ArthurSens <arthursens2005@gmail.com>
This PR seems to be a sensible solution to the problem. It appears that the Kubernetes We want this fix in the Installer as it's likely that it'll affect other users - as it's an edge case, investigation and diagnosis will be time-consuming. Therefore, this is not something that we should post-process and treat as a Gitpod fix. The imported Helm charts are not a problem as they manually write the YAML as a Golang template - we're converting the struct into YAML and so are bound by the Golang rules. Other options we looked at:
Both of these seemed to be an awful lot of effort for (hopefully) one small issue. In the event that we find other things like this, we should consider one of the above two options. @gitpod-io/engineering-self-hosted |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a sensible approach to a misconfigured struct
@ArthurSens should we submit a bug report/PR to the Kubernetes maintainers?
/werft run no-preview=true 👍 started the job as gitpod-build-as-status.3 |
Codecov Report
@@ Coverage Diff @@
## main #8511 +/- ##
=========================================
- Coverage 15.06% 7.55% -7.52%
=========================================
Files 51 31 -20
Lines 4899 2171 -2728
=========================================
- Hits 738 164 -574
+ Misses 4089 2004 -2085
+ Partials 72 3 -69
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report at Codecov.
|
Still feels awkward that this hasn't been discovered yet, kubernetes client-go is one of the most used Go libraries in the world... I believe there is something off in our set up 🤔 @meysholdt the build failed with a valid failure, I think we need to address that instead of forcing the green lights 😬 |
Yeah, but the installer is rendering it anyways 🤔 If possible, I'd very much rather not render status at all |
@iQQBot It does have |
/werft run with-vm=true 👍 started the job as gitpod-build-as-status.4 |
Alrighty, this PR fixes installations on previews on Harvester, but breaks on core-dev 😕. The reason is an incompatibility on Kubernetes versions, where Although we're not going forward with this PR, rendering StatefulSetStatus isn't a good thing and we probably want to get rid of this to avoid possible incompatibilities with self-hosted users on more recent K8s distributions. |
Related issue #8529 |
Description
While trying to spin up preview environments on Harvester, we were getting failures applying the gitpod config as shown here:
It is a strange error since the status field of a stateful set should not be set before applying it, but should be populated and managed by the Kubernetes API.
If we decide to apply a statefulset with the status field though, there are some required fields that need to be set.
I couldn't find a way to make the installer not render the openvsx-proxy statefulset without the status field, but managed to make CI pass if I add the required fields. I'm opening this PR to ask for feedback, I'd rather prevent the status field from rendering altogether
Related Issue(s)
Fixes #
How to test
Create a fresh new environment from this PR
Release Notes