You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Declare a ReadWriteOnce storageClass for MSSQL related volumes
Configure them in the chart as such
# The MSSQL volumes for the PVCsvolume:
backups:
# Use an existing PVC by specifying the name.# existingClaim: claimName# Override the accessMode specified in general.volumeAccessModeaccessMode: ReadWriteOnce# Override the storageClass specified in sharedStorageClassNamestorageClass: "rook-cephrbd-bitwarden-mssql"size: 1Gilabels: {}data:
# Use an existing PVC by specifying the name.# existingClaim: claimName# Override the accessMode specified in general.volumeAccessModeaccessMode: ReadWriteOnce# Override the storageClass specified in sharedStorageClassNamestorageClass: "rook-cephrbd-bitwarden-mssql"size: 10Gilabels: {}log:
# Use an existing PVC by specifying the name.# existingClaim: claimName# Override the accessMode specified in general.volumeAccessModeaccessMode: ReadWriteOnce# Override the storageClass specified in sharedStorageClassNamestorageClass: "rook-cephrbd-bitwarden-mssql"size: 10Gilabels: {}
Try to upgrade and watch it timeout
Expected Result
The helm chart should upgrade successfully.
Actual Result
The helm chart is stuck in the post-install-db-migrator-job, as the initContainer tries to mount the volume, and cannot, because it is a ReadWriteOnce volume.
[...]volumeMounts:
{{- if .Values.database.enabled }}
- name: mssql-datamountPath: /db{{- end }}[...]volumes:
{{- if .Values.database.enabled }}
- name: mssql-datapersistentVolumeClaim:
claimName: {{ default ( include "bitwarden.mssqlData" . ) .Values.database.volume.data.existingClaim }}{{- end }}[...]
Screenshots or Videos
No response
Additional Context
I am fully aware that Bitwarden requires a ReadWriteMany-compatible storageClass for shared volumes. However, MSSQL volumes are not shared volumes (they should not be anyways, as we do not want multiple pods to write to the same database files). Additionally most storage CSIs warn about using ReadWriteMany volumes for database workloads.
It is the case for Ceph, that we are using, which does not recommend CephFS (RWM) which has very poor performance compared to CephRBD (RWO).
The post-install-db-migrator-job only uses the volume to check for the presence of the mdf file, which does not make a lot of sense IMHO, as we already checked that the mssql pod is up :
Removing this check would be enough to make this chart compliant.
Chart Version
self-host-2024.8.0
Environment Details
K8s
Issue Tracking Info
I understand that work is tracked outside of Github. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.
The text was updated successfully, but these errors were encountered:
Steps To Reproduce
Expected Result
The helm chart should upgrade successfully.
Actual Result
The helm chart is stuck in the post-install-db-migrator-job, as the initContainer tries to mount the volume, and cannot, because it is a ReadWriteOnce volume.
Screenshots or Videos
No response
Additional Context
I am fully aware that Bitwarden requires a ReadWriteMany-compatible storageClass for shared volumes. However, MSSQL volumes are not shared volumes (they should not be anyways, as we do not want multiple pods to write to the same database files). Additionally most storage CSIs warn about using ReadWriteMany volumes for database workloads.
It is the case for Ceph, that we are using, which does not recommend CephFS (RWM) which has very poor performance compared to CephRBD (RWO).
The post-install-db-migrator-job only uses the volume to check for the presence of the mdf file, which does not make a lot of sense IMHO, as we already checked that the mssql pod is up :
Removing this check would be enough to make this chart compliant.
Chart Version
self-host-2024.8.0
Environment Details
Issue Tracking Info
The text was updated successfully, but these errors were encountered: