Add additional Storage tests and rename appExtraVolumeMounts (#218)

This commit is contained in:
Kjeld Schouten-Lebbing
2021-03-03 22:03:02 +01:00
committed by kjeld Schouten-Lebbing
parent dd1e01aeeb
commit a59d73061f
5 changed files with 64 additions and 19 deletions
+1 -1
View File
@@ -90,7 +90,7 @@ It should always be included in any App, to give users the option to customise t
##### Example ##### Example
``` ```
- variable: appExtraVolumeMounts - variable: additionalAppVolumeMounts
label: "Custom app storage" label: "Custom app storage"
group: "Storage" group: "Storage"
schema: schema:
+43
View File
@@ -215,5 +215,48 @@ class Test < ChartTest
jq('.spec.volumeClaimTemplates[0].spec.storageClassName', resource('StatefulSet')).must_equal values[:volumeClaimTemplates][0][:storageClass] jq('.spec.volumeClaimTemplates[0].spec.storageClassName', resource('StatefulSet')).must_equal values[:volumeClaimTemplates][0][:storageClass]
end end
end end
describe 'appVolumeMounts' do
default_name_1 = 'test1'
default_name_2 = 'test2'
default_mountPath_1 = '/test1'
default_mountPath_2 = '/test2'
empty_dir = {}
path = '/tmp'
it 'appVolumeMounts creates VolumeMounts' do
jq('.spec.template.spec.containers[0].volumeMounts[0].name', resource('Deployment')).must_equal default_name_1
jq('.spec.template.spec.containers[0].volumeMounts[1].name', resource('Deployment')).must_equal default_name_2
jq('.spec.template.spec.containers[0].volumeMounts[0].mountPath', resource('Deployment')).must_equal default_mountPath_1
jq('.spec.template.spec.containers[0].volumeMounts[1].mountPath', resource('Deployment')).must_equal default_mountPath_2
end
it 'appVolumeMounts creates Volumes' do
jq('.spec.template.spec.volumes[0].emptyDir', resource('Deployment')).must_equal empty_dir
jq('.spec.template.spec.volumes[1].hostPath.path', resource('Deployment')).must_equal path
end
end
describe 'additionalAppVolumeMounts' do
default_name_3 = 'test3'
default_name_4 = 'test4'
default_mountPath_3 = '/test3'
default_mountPath_4 = '/test4'
empty_dir = {}
path = '/tmp'
it 'additionalAppVolumeMounts creates VolumeMounts' do
jq('.spec.template.spec.containers[0].volumeMounts[2].name', resource('Deployment')).must_equal default_name_3
jq('.spec.template.spec.containers[0].volumeMounts[3].name', resource('Deployment')).must_equal default_name_4
jq('.spec.template.spec.containers[0].volumeMounts[2].mountPath', resource('Deployment')).must_equal default_mountPath_3
jq('.spec.template.spec.containers[0].volumeMounts[3].mountPath', resource('Deployment')).must_equal default_mountPath_4
end
it 'additionalAppVolumeMounts creates Volumes' do
jq('.spec.template.spec.volumes[2].emptyDir', resource('Deployment')).must_equal empty_dir
jq('.spec.template.spec.volumes[3].hostPath.path', resource('Deployment')).must_equal path
end
end
end end
end end
+15 -13
View File
@@ -10,36 +10,38 @@ service:
ingress: ingress:
enabled: true enabled: true
# these values and names are set specifically with the unittests in mind.
fixMountPermissions: false fixMountPermissions: false
appVolumeMounts: appVolumeMounts:
data: test1:
enabled: true enabled: true
emptyDir: true emptyDir: true
datasetName: "data" datasetName: "test1"
mountPath: "/data" mountPath: "/test1"
hostPathEnabled: false hostPathEnabled: false
hostPath: "" hostPath: ""
test: test2:
enabled: true enabled: true
emptyDir: false emptyDir: false
datasetName: "test" datasetName: "test2"
mountPath: "/test" mountPath: "/test2"
hostPathEnabled: true hostPathEnabled: true
hostPath: "/tmp" hostPath: "/tmp"
appExtraVolumeMounts: # these values and names are set specifically with the unittests in mind.
- name: "extratest1" additionalAppVolumeMounts:
- name: "test3"
enabled: true enabled: true
emptyDir: true emptyDir: true
datasetName: "extratest1" datasetName: "test3"
mountPath: "/extratest1" mountPath: "/test3"
hostPathEnabled: false hostPathEnabled: false
hostPath: "" hostPath: ""
- name: "extratest2" - name: "test4"
enabled: true enabled: true
emptyDir: false emptyDir: false
datasetName: "extratest2" datasetName: "test4"
mountPath: "/extratest2" mountPath: "/test4"
hostPathEnabled: true hostPathEnabled: true
hostPath: "/tmp" hostPath: "/tmp"
@@ -49,12 +49,12 @@ Get all volumes configuration
{{- define "common.storage.allAppVolumes" -}} {{- define "common.storage.allAppVolumes" -}}
{{- $volDict := dict "volMounts" .Values.appVolumeMounts "ixVolumes" .Values.ixVolumes -}} {{- $volDict := dict "volMounts" .Values.appVolumeMounts "ixVolumes" .Values.ixVolumes -}}
{{- $volExtraDict := dict "volMounts" .Values.appExtraVolumeMounts "ixVolumes" .Values.ixVolumes -}} {{- $volExtraDict := dict "volMounts" .Values.additionalAppVolumeMounts "ixVolumes" .Values.ixVolumes -}}
{{- if .Values.appVolumeMounts -}} {{- if .Values.appVolumeMounts -}}
{{- include "common.storage.configureAppVolumes" $volDict | nindent 0 -}} {{- include "common.storage.configureAppVolumes" $volDict | nindent 0 -}}
{{- end -}} {{- end -}}
{{- if .Values.appExtraVolumeMounts -}} {{- if .Values.additionalAppVolumeMounts -}}
{{- include "common.storage.configureAppVolumes" $volExtraDict | nindent 0 -}} {{- include "common.storage.configureAppVolumes" $volExtraDict | nindent 0 -}}
{{- end -}} {{- end -}}
@@ -69,8 +69,8 @@ Get all container volume moutns configuration
{{- if .Values.appVolumeMounts -}} {{- if .Values.appVolumeMounts -}}
{{- include "common.storage.configureAppVolumeMountsInContainer" .Values.appVolumeMounts | nindent 0 -}} {{- include "common.storage.configureAppVolumeMountsInContainer" .Values.appVolumeMounts | nindent 0 -}}
{{- end -}} {{- end -}}
{{- if .Values.appExtraVolumeMounts -}} {{- if .Values.additionalAppVolumeMounts -}}
{{- include "common.storage.configureAppVolumeMountsInContainer" .Values.appExtraVolumeMounts | nindent 0 -}} {{- include "common.storage.configureAppVolumeMountsInContainer" .Values.additionalAppVolumeMounts | nindent 0 -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
+1 -1
View File
@@ -328,7 +328,7 @@ fixMountPermissions: true
# hostPath: "" # hostPath: ""
# setPermissions: true # setPermissions: true
# appExtraVolumeMounts: # additionalAppVolumeMounts:
# - name: "data" # - name: "data"
# enabled: false # enabled: false
# emptyDir: false # emptyDir: false