-
Notifications
You must be signed in to change notification settings - Fork 190
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
Move atlantis-data volume to a separate PVC #304
Move atlantis-data volume to a separate PVC #304
Conversation
@BrunoTarijon LGTM, can you bump the chart version? It can be just a patch bump. |
@GenPage ok, done |
@BrunoTarijon, @GMartinez-Sisti - is it possible to add the option to edit on this file: spec:
accessModes:
- ReadWriteOnce to ReadWriteMany - in order to support the following feature? runatlantis/atlantis#3795? and this: volumeClaimTemplates:
- metadata:
name: atlantis-data
spec:
accessModes: ["ReadWriteOnce"] # Volume should not be shared by multiple nodes. Generally - i want to be able to share the same volume between multiple atlantis instances. |
@BrunoTarijon could you fix the conflicts? Thanks. |
Any chance to resolve the conflicts and get this merged? |
Sorry for not seeing this for a while. I have made the custom access mode in the PVC and chose not to change the STS configuration for the access mode because it is marked as deprecated. @jamengual I have resolved the conflicts. |
This issue is stale because it has been open for 1 month with no activity. Remove stale label or comment or this will be closed in 1 month. |
Hey guys (@jamengual @GenPage) just receive the Stale label, could you review this PR? |
@BrunoTarijon we have unit test now, could you take a look? |
Done @jamengual |
Co-authored-by: Gabriel Martinez <[email protected]>
@BrunoTarijon looks like something needs to be fixed. The error is:
Please adjust the ci files on https://github.com/runatlantis/helm-charts/tree/main/charts/atlantis/ci and create a new one to include your change. The only requirement is that filenames end with Let us know if you need help 😃 |
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.
Fix the test by adding the volume to the sts.
@@ -239,11 +234,11 @@ tests: | |||
tlsSecretName: test-tls | |||
asserts: | |||
- equal: | |||
path: spec.template.spec.volumes | |||
path: spec.template.spec.volumes[1] |
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.
Testing the specific volume for each test.
Don't get it. This feat should work with the default values. cc: @GMartinez-Sisti |
Fair enough. Now the tests are passing. |
This should've been a major release - breaks existing installs using the STS pv |
Yep, breaking change! |
In hindsight, you are both right. Our tests install everything from scratch, but they don't contemplate upgrades. I tested by installing → helm install atlantis runatlantis/atlantis --version 4.21.1
NAME: atlantis
LAST DEPLOYED: Fri Apr 5 18:59:30 2024
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
2. Atlantis will not start successfully unless at least one of the following sets of credentials are specified (see values.yaml for detailed usage):
- github
- githubApp
- gitlab
- bitbucket → helm upgrade atlantis runatlantis/atlantis --version 4.22.0
W0405 18:59:46.772125 48368 warnings.go:70] unknown field "labels"
Error: UPGRADE FAILED: cannot patch "atlantis" with kind StatefulSet: StatefulSet.apps "atlantis" is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas', 'ordinals', 'template', 'updateStrategy', 'persistentVolumeClaimRetentionPolicy' and 'minReadySeconds' are forbidden We might create a new major release with update steps to fix this. Discussing with the other maintainers. 🙏 |
what
Remove the atlantis-data volume creation from the sts and add a separate PVC.
why
We can not change the storage size without deleting the deployed sts.
tests
I have tested the logic using the helm template function to generate the manifests with the volumeClaim interface and the deprecated .Values.dataStorage.