CASMCMS-8060 Fix incomplete non-root cray-cfs-api changes #132
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary and Scope
When the "cray-cfs-api" chart was converted to non-root, the change was incomplete. In addition to specifying a "securityContext" for the container, a "securityContext" also needs to be specified for the pod. This is what tells Kubernetes how to set up permissions on PVCs. Without that, the PVCs will have the default permissions of the underlying storage class, which can vary between storage classes.
The only reason things are currently working is because the CephFS storage class defaults to a top level directory of "root/root", mode "0x777". In Mercury we switch to a cStor storage class, where the default permissions are "0x755", and non-root containers are not able to create files.
Issues and Related PRs
Testing
Tested on:
Test description:
Without this change the chart fails to deploy on Mercury systems. After patching the chart with this change,
cray-cfs-api
successfully deploys.Risks and Mitigations
There should be no visible changes, other than inside the running container the PVC mount point should no longer be owned by root.
Pull Request Checklist