Add Ceph RBD storageclass support

Change-Id: I90795e7b89833ce780796f556dc1f34cfa78af64
Implements: PROD-22552
diff --git a/README.rst b/README.rst
index 5eab3ee..7ec845b 100644
--- a/README.rst
+++ b/README.rst
@@ -708,6 +708,25 @@
                   server: 10.0.0.1
                   path: /exported_path
 
+Ceph RBD storageclass integration.
+
+.. code-block:: yaml
+
+    kubernetes:
+      common:
+        addons:
+          storageclass:
+            rbd:
+              enabled: True
+              default: True
+              provisioner: rbd
+              name: rbd
+              user_id: kubernetes
+              user_key: AQAOoo5bGqtPExAABGSPtThpt5s+iq97KAE+WQ==
+              monitors: cmn01:6789,cmn02:6789,cmn03:6789
+              pool: kubernetes
+              fstype: ext4
+
 Kubernetes namespaces
 ---------------------
 
diff --git a/kubernetes/files/kube-addons/storageclass/rbd.yaml b/kubernetes/files/kube-addons/storageclass/rbd.yaml
new file mode 100644
index 0000000..6c07e89
--- /dev/null
+++ b/kubernetes/files/kube-addons/storageclass/rbd.yaml
@@ -0,0 +1,35 @@
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: rbd-secret
+  namespace: kube-system
+  labels:
+    addonmanager.kubernetes.io/mode: Reconcile
+data:
+  key: {{ salt['hashutil.base64_b64encode'](storageclass.user_key) }}
+type: kubernetes.io/rbd
+---
+kind: StorageClass
+apiVersion: storage.k8s.io/v1
+metadata:
+  name: {{ storageclass.name }}
+  {%- if storageclass.default %}
+  annotations:
+    storageclass.beta.kubernetes.io/is-default-class: "true"
+  {%- endif %}
+  labels:
+    addonmanager.kubernetes.io/mode: Reconcile
+provisioner: kubernetes.io/rbd
+parameters:
+  monitors: {{ storageclass.monitors }}
+  adminId: {{ storageclass.user_id }}
+  adminSecretName: rbd-secret
+  adminSecretNamespace: kube-system
+  pool: {{ storageclass.pool }}
+  userId: {{ storageclass.user_id }}
+  userSecretName: rbd-secret
+  userSecretNamespace: kube-system
+  fsType: {{ storageclass.get('fstype', 'ext4') }}
+  imageFormat: "2"
+  imageFeatures: "layering"