summaryrefslogtreecommitdiffstats
path: root/kubernetes/common/mariadb-galera/tests
diff options
context:
space:
mode:
authorSylvain Desbureaux <sylvain.desbureaux@orange.com>2019-11-08 17:36:02 +0100
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>2019-11-20 17:10:47 +0100
commit524c878aae090a1975ec3656993580b893b858c7 (patch)
tree725dec97dbd9797d047f11ff32ce85b83f9ae5b5 /kubernetes/common/mariadb-galera/tests
parent5bdb14011023be31471622a92b98493a04da0281 (diff)
Create templates for global storage use
Two helper functions are defined: - common.storageClass: will print the right storage class according to properties set or not: * if no storage class set --> use previous behavior (storage class named `common.fullname-data`. * if a "persistence.storageClassOverride" is set for this specific chart, we use it (if it's "-", we set to default one) * if a "global.persistence.storageClass" has been set (and no storageClassOverride for this chart), we use it (same specificity than storageClassOverride) * if a "persistence.storageClass) has been set (and no storageClassOverride nor global one), we use it (same specificity than storageClassOverride) - common.needPV: will print "True" if we need a PV (no storageClass and storageClassOverride being set). an implementation example with mariadb-galera is provided. Issue-ID: OOM-1500 Change-Id: I20a667e17b00c255c4b828e3c66f9c0df7c8755c Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>
Diffstat (limited to 'kubernetes/common/mariadb-galera/tests')
-rw-r--r--kubernetes/common/mariadb-galera/tests/pv_test.yaml35
-rw-r--r--kubernetes/common/mariadb-galera/tests/storage_class_test.yaml67
-rw-r--r--kubernetes/common/mariadb-galera/tests/values/persistence.yaml6
3 files changed, 108 insertions, 0 deletions
diff --git a/kubernetes/common/mariadb-galera/tests/pv_test.yaml b/kubernetes/common/mariadb-galera/tests/pv_test.yaml
new file mode 100644
index 0000000000..cd4007960b
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/tests/pv_test.yaml
@@ -0,0 +1,35 @@
+---
+suite: test pv behavior
+templates:
+ - pv.yaml
+tests:
+ - it: 'should render "" (global case))'
+ values:
+ - ./values/persistence.yaml
+ set:
+ global.persistence.storageClass: "-"
+ asserts:
+ - isEmpty:
+
+ - it: 'should "" (override case)'
+ values:
+ - ./values/persistence.yaml
+ set:
+ global.persistence.storageClass: "global"
+ persistence.storageClassOverride: "-"
+ asserts:
+ - isEmpty:
+
+ - it: 'should "" (local case)'
+ values:
+ - ./values/persistence.yaml
+ set:
+ persistence.storageClass: "-"
+ asserts:
+ - isEmpty:
+
+ - it: 'should render "RELEASE-NAME-mariadb-galera-data" as storageClassname'
+ asserts:
+ - equal:
+ path: spec.storageClassName
+ value: "RELEASE-NAME-mariadb-galera-data"
diff --git a/kubernetes/common/mariadb-galera/tests/storage_class_test.yaml b/kubernetes/common/mariadb-galera/tests/storage_class_test.yaml
new file mode 100644
index 0000000000..9b7bdcb550
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/tests/storage_class_test.yaml
@@ -0,0 +1,67 @@
+---
+suite: test storage class behavior
+templates:
+ - statefulset.yaml
+tests:
+ - it: 'should render "" as storageClassname (global case)'
+ values:
+ - ./values/persistence.yaml
+ set:
+ global.persistence.storageClass: "-"
+ asserts:
+ - isEmpty:
+ path: spec.volumeClaimTemplates[0].spec.storageClassName
+
+ - it: 'should "" as storageClassname (override case)'
+ values:
+ - ./values/persistence.yaml
+ set:
+ global.persistence.storageClass: "global"
+ persistence.storageClassOverride: "-"
+ asserts:
+ - isEmpty:
+ path: spec.volumeClaimTemplates[0].spec.storageClassName
+
+ - it: 'should "" as storageClassname (local case)'
+ values:
+ - ./values/persistence.yaml
+ set:
+ persistence.storageClass: "-"
+ asserts:
+ - isEmpty:
+ path: spec.volumeClaimTemplates[0].spec.storageClassName
+
+ - it: 'should render "global" as storageClassname'
+ values:
+ - ./values/persistence.yaml
+ set:
+ global.persistence.storageClass: "global"
+ asserts:
+ - equal:
+ path: spec.volumeClaimTemplates[0].spec.storageClassName
+ value: "global"
+
+ - it: 'should render "local" as storageClassname'
+ values:
+ - ./values/persistence.yaml
+ asserts:
+ - equal:
+ path: spec.volumeClaimTemplates[0].spec.storageClassName
+ value: "local"
+
+ - it: 'should render "override" as storageClassname'
+ values:
+ - ./values/persistence.yaml
+ set:
+ global.persistence.storageClass: "global"
+ persistence.storageClassOverride: "override"
+ asserts:
+ - equal:
+ path: spec.volumeClaimTemplates[0].spec.storageClassName
+ value: "override"
+
+ - it: 'should render "RELEASE-NAME-mariadb-galera-data" as storageClassname'
+ asserts:
+ - equal:
+ path: spec.volumeClaimTemplates[0].spec.storageClassName
+ value: "RELEASE-NAME-mariadb-galera-data"
diff --git a/kubernetes/common/mariadb-galera/tests/values/persistence.yaml b/kubernetes/common/mariadb-galera/tests/values/persistence.yaml
new file mode 100644
index 0000000000..a282f74318
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/tests/values/persistence.yaml
@@ -0,0 +1,6 @@
+---
+persistence:
+ enabled: true
+ existingClaim: false
+ size: 10Gb
+ storageClass: "local"