From 65f3b1d8abe634bc7041c895a8ac1b6628234510 Mon Sep 17 00:00:00 2001 From: Sergiusz Bazanski Date: Tue, 2 Apr 2019 01:05:38 +0200 Subject: [PATCH] cluster/kube: add waw-hdd-redundant-1 pool/storageclass --- cluster/kube/cluster.jsonnet | 10 ++++++++++ cluster/kube/lib/rook.libsonnet | 30 ++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/cluster/kube/cluster.jsonnet b/cluster/kube/cluster.jsonnet index e308fdd6..48a89790 100644 --- a/cluster/kube/cluster.jsonnet +++ b/cluster/kube/cluster.jsonnet @@ -98,6 +98,16 @@ local Cluster(fqdn) = { }, }, }, + // redundant block storage + cephWaw1Redundant: rook.ECBlockPool(cluster.cephWaw1, "waw-hdd-redundant-1") { + spec: { + failureDomain: "host", + erasureCoded: { + dataChunks: 2, + codingChunks: 1, + }, + }, + }, }; diff --git a/cluster/kube/lib/rook.libsonnet b/cluster/kube/lib/rook.libsonnet index 71b6a558..9c7b1e99 100644 --- a/cluster/kube/lib/rook.libsonnet +++ b/cluster/kube/lib/rook.libsonnet @@ -452,6 +452,36 @@ local kube = import "../../../kube/kube.libsonnet"; } ], }, + } + }, + + ECBlockPool(cluster, name):: { + local pool = self, + spec:: error "spec must be specified", + + pool: kube._Object("ceph.rook.io/v1", "CephBlockPool", name) { + metadata+: cluster.metadata, + spec: pool.spec, + }, + metapool: kube._Object("ceph.rook.io/v1", "CephBlockPool", name + "-metadata") { + metadata+: cluster.metadata, + spec: { + failureDomain: "host", + replicated: { + size: 3, + }, + }, + }, + + storageClass: kube.StorageClass(name) { + provisioner: "ceph.rook.io/block", + parameters: { + blockPool: pool.metapool.metadata.name, + dataBlockPool: pool.pool.metadata.name, + clusterNamespace: pool.pool.metadata.namespace, + fstype: "ext4", + }, + reclaimPolicy: "Retain", }, }, }