rook-ceph deployment doesn't work
~/Src/helm-gitlab-config/gitlab-k3s-provision/deploy/rook_ceph> helmfile diff
Adding repo rook-release https://charts.rook.io/release
"rook-release" has been added to your repositories
helmfile.yaml: basePath=.
Building dependency release=ceph-cluster, chart=ceph-cluster
Comparing release=rook-ceph, chart=rook-release/rook-ceph
Comparing release=ceph-cluster, chart=ceph-cluster
[helmfile.yaml: basePath=.
rook-ceph, cephclusters.ceph.rook.io, CustomResourceDefinition (apiextensions.k8s.io) has changed:
[... snipped]
in ./helmfile.yaml: command "/home/btissoir/bin/helm" exited with non-zero status:
PATH:
/home/btissoir/bin/helm
ARGS:
0: helm (4 bytes)
1: diff (4 bytes)
2: upgrade (7 bytes)
3: --reset-values (14 bytes)
4: --allow-unreleased (18 bytes)
5: ceph-cluster (12 bytes)
6: ceph-cluster (12 bytes)
7: --namespace (11 bytes)
8: rook-ceph (9 bytes)
ERROR:
exit status 1
EXIT STATUS
1
STDERR:
Error: Failed to render chart: exit status 1: Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(CephCluster.spec): unknown field "waitTimeoutForHealthyOSDInMinutes" in io.rook.ceph.v1.CephCluster.spec
Error: plugin "diff" exited with error
COMBINED OUTPUT:
Error: Failed to render chart: exit status 1: Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(CephCluster.spec): unknown field "waitTimeoutForHealthyOSDInMinutes" in io.rook.ceph.v1.CephCluster.spec
Error: plugin "diff" exited with error
This is because ceph-cluster
charts pulls https://raw.githubusercontent.com/rook/rook/master/cluster/examples/kubernetes/ceph/cluster.yaml which has been updated in the master branch.
Unfortunately, https://raw.githubusercontent.com/rook/rook/release-1.5/cluster/examples/kubernetes/ceph/cluster.yaml also contains the problematic waitTimeoutForHealthyOSDInMinutes
. So a simple solution would be to pull a specific commit that doesn't have waitTimeoutForHealthyOSDInMinutes
.
Of course, the better way would be to upgrade rook-ceph first, which would pull in waitTimeoutForHealthyOSDInMinutes
, and which would make our chart pass.