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>
diff --git a/kubernetes/common/mariadb-galera/templates/statefulset.yaml b/kubernetes/common/mariadb-galera/templates/statefulset.yaml
index b0b7174..2e77036 100644
--- a/kubernetes/common/mariadb-galera/templates/statefulset.yaml
+++ b/kubernetes/common/mariadb-galera/templates/statefulset.yaml
@@ -130,11 +130,8 @@
     spec:
       accessModes:
       - {{ .Values.persistence.accessMode | quote }}
-      storageClassName: {{ include "common.fullname" . }}-data
+      storageClassName: {{ include "common.storageClass" . }}
       resources:
         requests:
           storage: {{ .Values.persistence.size | quote }}
-      selector:
-        matchLabels:
-          name: {{ include "common.fullname" . }}
 {{- end }}