Commit Graph
13292 Commits
Author SHA1 Message Date
Sébastien Han 97be23e374 ceph: apply finalizer before updating object status
We must add the finalizer right after the object creation otherwise the
seerver will later return an error on update that the object has been
modified. Indeed, it has been by the task that updates the status when
the object is first created.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-11-18 18:16:59 +01:00
Arun Kumar Mohan f5fc08b8e6 ceph: changes after the latest multus CSI updates
Signed-off-by: Arun Kumar Mohan <amohan@redhat.com>
2020-11-18 22:11:08 +05:30
Arun Kumar Mohan ded16f779d ceph: changes for 'sigs.k8s.io/sig-storage-lib-external-provisioner/v6'
Signed-off-by: Arun Kumar Mohan <amohan@redhat.com>
2020-11-18 21:14:03 +05:30
Arun Kumar Mohan 65d16bfc94 ceph: manual changes needed for kubernetes api updates
Fetched latest lib-bucket-provisioner changes as well.

Signed-off-by: Arun Kumar Mohan <amohan@redhat.com>
2020-11-18 21:14:01 +05:30
Arun Kumar Mohan 9ff98995a3 ceph: changes made by running make codegen target
Signed-off-by: Arun Kumar Mohan <amohan@redhat.com>
2020-11-18 21:03:40 +05:30
Arun Kumar Mohan 421f340c1c ceph: updating the dependencies for operator SDK v1.0.0
Updating the dependencies' versions to match with the newer Operator SDK
version v1.x

Signed-off-by: Arun Kumar Mohan <amohan@redhat.com>
2020-11-18 21:03:40 +05:30
Sébastien Han 4545ddc11f Merge pull request #6666 from leseb/fix-6580
ci: fix device intermittent failure
2020-11-18 15:39:15 +01:00
Sébastien Han a08e08104b Merge pull request #6553 from leseb/mirroring-snap-sched
ceph: add snapshot scheduling for mirrored pools
2020-11-18 15:34:55 +01:00
Santosh Pillai 8602b9c116 ceph: osd pdb reconciler changes
-creates a single PDB (max-unavailable=1) for all OSDs.  This PDB allows one OSD to go down at a given time.
-When a drain is detected, blocking PDBs (max-unavailable=0) will be created for each failure domain that is not being drained and the main PDB (max-unavilable=1) will be deleted. This will allow all the OSDs in the currently drained failure domain to be removed while blocking the deletion  of OSDs in other failure domains.
-Once the PGs are healthy again, the blocking PDBs will be deleted and the main PDB will be restored.
-Add PG healthcheck timeout
-Delete any legacy node drain pods and blocking OSD PDBs

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2020-11-18 18:25:07 +05:30
Sébastien Han 38e475601b ci: probe the device and wait for udev
When we are done creating the partitions it's good to give the kernel
some time to reprobe the device and for udev to finish syncing up.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-11-18 12:16:14 +01:00
Sébastien Han dcd84e63ac ci: use sudo test if the device is a block
Permissions on the disk might changed due to the partitions being
created. So the CI user is not able to read the device correctly.

Closes: https://github.com/rook/rook/issues/6580
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-11-18 12:15:57 +01:00
Sébastien Han aac0e5fdf8 Merge pull request #6506 from subhamkrai/gh-test
ci: run integration test on github actions
2020-11-18 10:37:01 +01:00
Sébastien Han f121e95625 Merge pull request #6658 from travisn/restore-mon-endpoint
ceph: Restore mon clusterIP if the service is missing
2020-11-18 10:33:39 +01:00
Sébastien Han 2686f4e23e Merge pull request #6592 from sp98/update-cleanupPolicy-design
ceph: update cleanupPolicy design doc
2020-11-18 10:01:50 +01:00
Sébastien Han afc7ecff31 ceph: add snapshot scheduling for mirrored pools
Now, we can schedule snapshots on pools from the CephBlockPool CR when
the pool is mirrored.
It can be enabled like this:

```
mirroring:
  enabled: true
  mode: pool
  snapshotSchedules:
    - interval: 24h # daily snapshots
      startTime: 14:00:00-05:00
```

Multiple schedules are supported since snapshotSchedules is a list.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-11-18 09:50:09 +01:00
Travis Nielsen 66de535a8a ceph: restore mon clusterIP if missing
In a disaster recovery scenario, the mon service may have been
accidentally deleted, while the expected mon endpoint is still
found in the mon endpoints configmap. In this case, we create
the mon service with the same endpoint as previously.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-11-17 22:54:19 -07:00
subhamkrai 49a3511532 ci: manifests changes to run gh action
to run the integration test there needs
to be a few changes in manifests like using
`deviceFilter` and other related changes.

Signed-off-by: subhamkrai <srai@redhat.com>
2020-11-18 09:31:07 +05:30
subhamkrai c240e70f55 ci: run integration test on github actions
as we are planning to move toward Github actions
for integration test. This commit runs ceph
suites using Github action.

Signed-off-by: subhamkrai <srai@redhat.com>
2020-11-18 09:11:48 +05:30
Travis Nielsen 6ffd778a18 Merge pull request #6655 from travisn/helm-crd-warning
docs: Clarify helm warning that could delete cluster
2020-11-17 16:47:21 -07:00
Travis Nielsen ba534ce285 docs: clarify helm warning that could delete cluster
In the helm chart the CRDs are installed if crds.enabled is set to
true. If false, the helm chart will not install them. If changed
to false during an upgrade, the CRDs will be removed and the cluster
is destroyed. There is no way to prevent this while still being flexible
about CRD management, so we make the warnings as clear as possible.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-11-17 15:45:33 -07:00
Travis Nielsen 41ca374e9f Merge pull request #6396 from rohan47/multus-csi
ceph: support ceph cluster and CSI on multus in different namespace
2020-11-17 10:41:05 -07:00
Travis Nielsen dbba7d70ed Merge pull request #6648 from leseb/fix-6644
ceph: add external script to the container image
2020-11-17 09:16:49 -07:00
Travis Nielsen 8c7a8ff942 Merge pull request #6646 from sp98/update-quickstart-doc
ceph: update ceph quick start doc to use new crds.yaml file
2020-11-17 08:19:13 -07:00
Santosh Pillai fcd07f099a ceph: update ceph quick start doc to use new crds.yaml file
crds were factored out from the common.yaml file and helm chart. This PR updates the quick start guide to use crds.yaml file.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2020-11-17 20:39:01 +05:30
rohan47 5b5059ec2f ceph: support NAD from diffrent namespaces
Added the support of NAD from diffrent namespaces.
they can be referrenced as <namespace>/<name-of-nad> e.g.,
default/public-nw.
Updated the multus doc to explain the same.

Signed-off-by: rohan47 <rohgupta@redhat.com>
2020-11-17 20:34:58 +05:30
Sébastien Han 43484cb96b ceph: add external script to the container image
We now ship the Rook container image with our external cluster scripts.

Closes: https://github.com/rook/rook/issues/6644
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-11-17 12:06:27 +01:00
Santosh Pillai cd936b64db ceph: update cleanupPolicy design doc
Cleanup Policy design doc is not up to date to with respect to latest implementation. This PR updates the design doc.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2020-11-17 12:59:32 +05:30
Sébastien Han 5c87f0f331 bot: add rule to auto-merge on no code changes
On pull request with no code changes, the canary and integration tests
won't run. This means they won't appear in the status and mergify cannot
validate them.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-11-16 18:05:11 +01:00
Sébastien Han b011fd579b ci: add build job
Run the build **only** when no go files have changed since the other job
will build Rook anyway.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-11-16 18:05:11 +01:00
Sébastien Han 2d1cf09d8d ci: only run the canary test on code changes
If no Go files changed we do not run the CI.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-11-16 18:05:07 +01:00
rohan47 cb9f947c3b ceph: support ceph cluster and CSI on multus in diffrent namespace
Support ceph cluster and CSI on multus deployed in diffrent namespace.
Previously csi was looking for multus config from the cluster deployed
in the namespace in which rook-ceph-operator/csi was deployed.
Now it will look for multus configuration from ceph clusters from all
the namespaces.

Signed-off-by: rohan47 <rohgupta@redhat.com>
2020-11-16 20:47:09 +05:30
Sébastien Han 26b575c2c6 Merge pull request #6642 from subhamkrai/update-snapshotterVersion
ceph: update snapshotterVersion to v3.0.0
2020-11-16 11:35:13 +01:00
subhamkrai a2d3d1d8a4 ceph: update snapshotterVersion to v3.0.0
in the integration test we still use
snapshotteVersion v2.1.0 but it's expected to
use v3.0.0.

Signed-off-by: subhamkrai <srai@redhat.com>
2020-11-16 12:10:50 +05:30
Travis Nielsen 343be4342b Merge pull request #6633 from BlaineEXE/allow-fs-preserve-pools-on-delete
ceph: allow deprecated fs  preservePoolsOnDelete
2020-11-13 12:55:50 -07:00
Blaine Gardner 19a6dc7408 ceph: allow deprecated fs preservePoolsOnDelete
Allow filesystems with preservePoolsOnDelete to be used without errors.
A deprecation warning will still appear in the operator logs, but
existing cephfilesystem resources with preservePoolsOnDelete will still
be updated, and Rook will assume the new, preferred
preserveFilesystemOnDelete is set.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2020-11-13 10:54:43 -07:00
Sébastien Han 841efd1d94 bot: auto-merge pull request under conditions
We now allow mergify to auto-merge pull requests against the master
branch under the following conditions:

* all CI tests passed
* the PR has no label 'do-not-merge'
* the PR has the label 'ready-to-merge'
* has been approved by at least one maintainer
* has not requested changes

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-11-13 10:13:44 +01:00
Satoru Takeuchi 6403fe5e89 Merge pull request #6629 from travisn/upgrade-guide-1.5
docs: Minor updates to the 1.5 Ceph upgrade guide
2020-11-13 08:11:35 +09:00
Travis Nielsen eb2e022530 ceph: create custom resources separately from crds
The CRs must be created in a separate kubectl create command
from the creation of the CRDs, otherwise the create command
will fail.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-11-12 15:19:01 -07:00
Travis Nielsen 762f678ec8 docs: ceph upgrade guide refinements for v1.5
Some minor updates to the Ceph upgrade guide for the v1.5
release after final testing.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-11-12 15:17:58 -07:00
Travis Nielsen 10b8e3dcf8 Merge pull request #6627 from BlaineEXE/upgrade-manifests
docs: update ceph upgrade to use common.yaml
2020-11-12 14:29:32 -07:00
Blaine Gardner e9cd35f2b8 docs: update ceph upgrade to use common.yaml
Use common.yaml to apply changes to resources instead of keeping an
upgrade-*-apply.yaml file. Update the upgrade docs to reflect this also.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2020-11-12 14:20:52 -07:00
Travis Nielsen 247fc0d2dd Merge pull request #6598 from cloudical-io/discovery_pod_labels
ceph: allow custom labels to be added to the discover daemonset
2020-11-12 14:15:00 -07:00
Travis Nielsen 98d96e6696 Merge pull request #6613 from BlaineEXE/fix-nfs-upgrade
ceph: fix nfs daemons not updating
2020-11-12 13:34:23 -07:00
Blaine Gardner 10f3cfe6ed Merge pull request #6623 from BlaineEXE/upgrade-docs
docs: revise Ceph upgrade docs for v1.5 release
2020-11-12 12:20:26 -07:00
Blaine Gardner 2a37a403ce docs: revise Ceph upgrade docs for v1.5 release
Update docs and manifests as needed for v1.5 release.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2020-11-12 12:09:59 -07:00
Blaine Gardner 5fe80660dd ceph: fix nfs daemons not updating
The NFS reconciler was not updating NFS daemons that already existed.
The controller would fail to update daemons if the number of active
daemons did not increase or decrease.

Make sure existing NFS daemons are updated to new versions with all
scale up and scale down events.

Resolves #6611

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2020-11-12 11:16:24 -07:00
Alexander Trost fa62f4ac5d ceph: allow custom labels to be added to the discover daemonset
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-11-12 16:20:01 +01:00
Travis Nielsen 3e7a7626db Merge pull request #6599 from cloudical-io/issue_6593
ceph: allow pod labels to be added to CSI components
2020-11-12 07:54:14 -07:00
Sébastien Han c886ed7fcb Merge pull request #6544 from varshar16/wip-update-ceph-nfs-config-name
ceph: Add 'ganesha-' to nfs-ganesha config object name
2020-11-12 15:08:57 +01:00
Varsha Rao 8fadaeeb09 ceph: add 'ganesha-' to nfs-ganesha config object name
Since ceph octopus version, the expected nfs-ganesha config object name by
mgr/volumes/nfs[1] plugin is "conf-nfs.ganesha-<clustername>". For older
versions the name is "conf-<clustername>.<nodeid>".

[1] https://github.com/ceph/ceph/blob/master/src/pybind/mgr/volumes/fs/nfs.py#L648-L655

Signed-off-by: Varsha Rao <varao@redhat.com>
2020-11-12 18:09:46 +05:30