enableCSIHostNetwork was missing in the helm charts
values.yaml example. adding the same in this commit.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
The github actions are fully covering the build needs in master
so we can go ahead and disable Jenkins by default. In case
there is still a desired to run Jenkins for a particular PR,
the [test full] text can still trigger it.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Given the improvements with github actions and other improvements,
we now clean up the build instructions for developers joining the
rook project. There is no need to understand about Jenkins pipelines
anymore since we will soon be fully on github actions.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Changing the crds.enabled setting in a running cluster will cause the
CRs to be deleted, which could be disastrous for a cluster. Add
and clarify the warning in the docs to prevent it and link
to recovery steps if it does happen.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
If the CephCluster CR or other CRs are mistakenly deleted,
the cluster can remain intact with steps to remove the owner
references to the cluster and re-creating the CRs.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Both MonSpec.Count and CephVersionSpec.Image should be optional for the
external cluster. So marking them as so.
Signed-off-by: Sébastien Han <seb@redhat.com>
This commit removes obsolete statefulset create, delete,
addlabel, templateToStatefulset functions which were part of
deprecated csi support for k8s 1.13 and should have been
removed as part of https://github.com/rook/rook/pull/5982.
It also adds Unit test for templateToDeployment func.
Signed-off-by: Rakshith R <rar@redhat.com>
update ceph teardown doc to include cleanupPolicy which enables automatic clean up of the dataDirHostPath and the drives
Signed-off-by: Santosh Pillai <sapillai@redhat.com>
Saw this today in the logs:
```
2021-06-02 13:02:54.787838 I | ceph-block-pool-controller: deleting pool "testpool"
2021-06-02 13:02:56.178094 I | cephclient: no images/snapshosts present in pool "testpool"
2021-06-02 13:02:56.178125 I | cephclient: purging pool "testpool" (id=17)
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1cef49f]
goroutine 1607 [running]:
github.com/rook/rook/pkg/operator/ceph/pool.(*mirrorChecker).checkMirroringHealth(0xc001a98ba0, 0x8, 0xc000d34c60)
/home/runner/work/rook/rook/pkg/operator/ceph/pool/health.go:115 +0xdf
github.com/rook/rook/pkg/operator/ceph/pool.(*mirrorChecker).checkMirroring(0xc001a98ba0, 0xc0016fd500)
/home/runner/work/rook/rook/pkg/operator/ceph/pool/health.go:82 +0x147
created by github.com/rook/rook/pkg/operator/ceph/pool.(*ReconcileCephBlockPool).reconcile
/home/runner/work/rook/rook/pkg/operator/ceph/pool/controller.go:298 +0xee5
```
Essentially, it's intermittent but when deleting the pool the
healthcheck kicked in and fetched the mirroring status, which returned
empty. THe subsequent code tried to access content of a nil pointer,
hence the error.
So now we stop monitoring first, then we proceed with the deletion.
Signed-off-by: Sébastien Han <seb@redhat.com>
CSI drivers failed to start if rook encountered error
while reading configmap with no retry.
This commit introduces retry for starting CSI driver
if there is a failure in reading configmap upto 3 times.
Fixes: #7950
Signed-off-by: Rakshith R <rar@redhat.com>
This commit adds support for adding tolerations and affinities for
cephfs and rbd (provisioner & nodeplugin) pods separately.
Closes: #7060
Signed-off-by: Rakshith R <rar@redhat.com>
To ensure emails on the topics of security questions are sent to the
correct list, another link is added to the list of contacts.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The build status is only interesting to maintainers of the project
and is not really relevant to community members who are considering
running the project. The release builds are always considered stable
and whether the master build is intermittently failing is
not important to the community.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Add a design for blocking deletion of Rook-Ceph custom resources
whenever there are other resources which refer to them.
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
updated multus documentation with ceph-cluster example and multiple
examples to show the network selector settings.
Signed-off-by: rohan47 <rohgupta@redhat.com>
When the operator configmap is edited, it is likely that some user will
simply put "debug" instead of "DEBUG", so let's always transform the
value to upper case to ease user experience.
Signed-off-by: Sébastien Han <seb@redhat.com>
In some circonstances the VAULT_TOKEN env variable contains a new line.
We don't really know how and why. The saw this when upgrading from
Nautilus CentOS 7 to Octopus CentOS 8. So there might be something
different with bash and variable expansion.
Anyway, let's remove any potential new line and trailing spaces from
that var.
The error was splitting the curl line to something like:
```
+ curl --silent --show-error --request GET --header 'X-Vault-Token: s.aCHdo57tF19ddN1hQmGVyG8a
' --insecure https://vault.default.svc.cluster.local:8200/v1/rook/ver1/rook-ceph-osd-encryption-key-set1-data-0pztgf
curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
```
Where a correct line will be:
```
+ curl --silent --show-error --request GET --header 'X-Vault-Token: s.aCHdo57tF19ddN1hQmGVyG8a' --insecure https://vault.default.svc.cluster.local:8200/v1/rook/ver1/rook-ceph-osd-encryption-key-set1-data-0pztgf
```
Signed-off-by: Sébastien Han <seb@redhat.com>
We don't need to pass the Volume with projection for TLS when TLS is not enabled
Somehow when this happens and we try to update a deployment spec it fails with:
```
ValidationError(Pod.spec.volumes[7].projected): missing required field "sources"
```
Signed-off-by: Sébastien Han <seb@redhat.com>
When configuring encrypted on-pvc clusters we now set the cluster fsid
in the LUKS header. If needed we can then determine if the encrypted
block is part of our cluster or not. We also attach the pvc_name in case
it might become useful.
Closes: https://github.com/rook/rook/issues/7991
Signed-off-by: Sébastien Han <seb@redhat.com>
If the number of desired mons is reduced, for example from 5 down to 3,
the extra mons will be removed by the next health check. Only a single
mon can be removed per health check to ensure that other mons do not
become unhealthy at the same time as removing an extra mon, and so the
list of healthy mons can be refreshed. If multiple mons are removed in
a single health check, we risk removing too many mons and losing quorum.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Expand the functionality of 'ExpandPVCIfRequired' to check if
storageclass does allow expansion then only expand the PVC.
otherwise skip the expansion.
Signed-off-by: Nitin Goyal <nigoyal@redhat.com>