Commit Graph
7961 Commits
Author SHA1 Message Date
Travis Nielsen 4ce9b45ffd ceph: remove dead test code for cluster purging
Cluster purging is no longer called, therefore can be removed.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-05 15:39:39 -07:00
Sébastien Han 81727cd18b Merge pull request #4964 from leseb/refactor-controller-helpers
ceph: refactor controller helpers
2020-03-05 22:54:32 +01:00
Travis Nielsen 3cef930fab ceph: report osd status when there are no devices
The OSD prepare pod must always update status on the status configmap
in order to alert the operator that the OSD configuration on the node
is completed. This fixes an issue where the status was not being reported
if no devices were configured.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-05 14:10:24 -07:00
Travis Nielsen a52948e7f7 ceph: continue orchestration even if osd status update fails
The communication between the operator and OSD prepare job
is done through updates to the configmap. If an update fails
to the configmap, we are anyway going to need to check the logs
for failure. So let's just log the error and make a best effort
to continue the orchestration. If the failure was temporary,
the next update to the status would succeed and likely continue
working as expected.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-05 14:08:58 -07:00
Sébastien Han 9a5bd4f9d5 ci: add more verbosity
If pools are found, let's print them.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-05 12:37:44 -07:00
Sébastien Han a137b31e1a ceph: refactor controller helper
Clean and refactor code helper for controller-runtime.
Implement those into the block pool controller.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-05 12:37:44 -07:00
Sébastien Han 9a8d539d57 ceph: use crd subressource
The .metadata.generation field is updated if and only if the value at the .spec subpath changes.
Additionally, if the spec does not change, .metadata.generation is not updated.
This is a must-have for the controller-runtime work, if we don't have
this, the generation field will always be incremented, resulting in a
endless reconcile loop.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-05 12:37:44 -07:00
Travis Nielsen d5d0817c48 Merge pull request #4969 from travisn/nautilus-tests-14.2.7
Nautilus tests run on 14.2.7 instead of latest nautilus release
2020-03-05 12:33:57 -07:00
Travis Nielsen 8493f9bc64 ceph: nautilus tests run on 14.2.7 instead of latest release
The CI is failing currently in the OSD-on-pv scenario due to a change
in v14.2.8. Until that is resolved, we need to unblock the tests
by running against v14.2.7.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-05 12:01:47 -07:00
Travis Nielsen 022ff8a247 Merge pull request #4965 from nizamial09/follow_state
ceph: Follow up for adding the state variable
2020-03-04 13:42:06 -07:00
Nizamudeen 3296fc64a9 ceph: Follow up for adding the state variable
Changed back the status.State to the exact way it was implemented on the ceph cluster. Added the States as a Constant and used that constant to call the status.State.

Signed-off-by: Nizamudeen <nia@redhat.com>
2020-03-04 18:57:07 +05:30
Sébastien Han 545630c1be Merge pull request #4962 from travisn/pool-tests
Ensure pools are purged during integration tests
2020-03-04 09:28:05 +01:00
Travis Nielsen 65f3f84ab0 tests: ensure pools are purged during integration tests
With a finalizer on the pools, the pools were not always being purged
during the integration tests. Now the multicluster suite will ensure
its pool is purged.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-03 19:44:23 -07:00
Sébastien Han 2e74f477a4 Merge pull request #4931 from nizamial09/state_variable
ceph: Adding status.state variable and assigned it to status.phase
2020-03-03 13:46:04 +01:00
Nizamudeen 3b9456ed61 ceph: Adding status.state variable and assigned it to status.phase
Most of the OLM UI currently uses status.Phase to show the status of the cluster and in some case it uses status.State to show the information.
Having them both for now and slowly deprecating the uses of status.state is the most appropriate way to do now.

Signed-off-by: Nizamudeen <nia@redhat.com>
2020-03-03 11:13:03 +05:30
Travis Nielsen db62a7c4b7 Merge pull request #4952 from egafford/safe-csi-owner-ref
ceph: set BlockOwnerDeletion=false for csi driver ownerReference
2020-03-02 16:23:08 -07:00
Travis Nielsen bff3bb7cfb Merge pull request #4936 from travisn/reliability-label
Keep reliability issues open from the stale bot
2020-03-02 15:16:55 -07:00
Elise Gafford 9a2e8f88e2 ceph: set BlockOwnerDeletion=false for csi driver ownerReference
As a safeguard against the error case described in #4934, this
change sets BlockOwnerDeletion to false on the ownerReference
of all Ceph CSI resources.

Signed-off-by: Elise Gafford <egafford@redhat.com>
2020-03-02 15:52:56 -05:00
Travis Nielsen f263a828ad Merge pull request #4935 from shaas/is4934
Ceph: Ceph CSI fails to start. #4934
2020-03-02 13:19:51 -07:00
Travis Nielsen a6ab608361 bot: keep reliability issues open
The bot should not close issues that are related to reliability.
Rook's reliability is too critical to allow the bot to close
these issues.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-02 11:46:54 -07:00
Sébastien Han f423b48e04 Merge pull request #4915 from leseb/block-pool-crd-controller-runtime
ceph: separate controller for CephBlockPool CRD
2020-03-02 18:12:33 +01:00
Sébastien Han a3068dee0b ceph: separate controller for CephBlockPool CRD
Now, the CephBlockPool CRD is managed with the controller-runtime.
So the watcher is outside of the main controller reconciliation loop of
CephCluster which brings numerous benefit such as:

* having its own reconciliation loop
* won't block anything from the main CephCluster controller loop
* fast than waiting for CephCluster loop to completion

Partially close: https://github.com/rook/rook/issues/1981
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-02 17:31:03 +01:00
Stefan Haas 84cac45d2c Ceph: Ceph CSI fails to start. #4934
Signed-off-by: Stefan Haas <shaas@suse.com>
2020-03-02 16:27:59 +01:00
Sébastien Han 96daf44873 Merge pull request #4927 from cybozu-go/tests-simplify-function-names
ceph: simplify verbose function names and a wrong var name
2020-03-02 10:42:35 +01:00
Sébastien Han acab9b0ead ceph: enable command debug when DEBUG
Only print command debugs if the operator log level is DEBUG.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-02 09:29:48 +01:00
Sébastien Han 9f13cba8be ceph: print command output
Print the output so that we can parse it and silence it if we want.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-02 09:29:48 +01:00
Sébastien Han 65e1c054a3 ceph: only print command when running debug mode
We don't need commands e run under the hood. Enable debug logs to see
that.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-02 09:29:48 +01:00
Satoru Takeuchi b1dd05a59a ceph: simplify verbose function names and a wrong var name
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-02-29 06:35:01 +09:00
Sébastien Han b12cd3e2a8 Merge pull request #4256 from shaas/master
ceph: ceph-csi version detection
2020-02-28 15:25:01 +01:00
Stefan Haas b3cc4aeb44 ceph: ceph-csi version detection #3824
Checks the version of the configured ceph-csi image while starting the operator. The operator will fail if the image is not supported.
Added an additional parameter to operator to disable the check e.g. to test not yet supported csi images.

Signed-off-by: Stefan Haas <shaas@suse.com>
2020-02-28 14:14:40 +01:00
Sébastien Han ca21442c20 Merge pull request #4903 from egafford/delete-csi-drivers
ceph: delete CSI drivers with deletion of last cluster
2020-02-28 10:46:34 +01:00
Elise Gafford de2c409d79 ceph: delete CSI drivers with deletion of last cluster
Prior attempts to delete CSI drivers using owner references to the
Ceph ConfigMap resulted in garbage collection of the driver
resources as described in rook#4590. This patch manually deletes these
resources by name as a stopgap to provide an appropriate user
experience while the team investigates this issue further.

Resolves: rook#4824
Signed-off-by: Elise Gafford <egafford@redhat.com>
2020-02-27 19:06:23 -05:00
Sébastien Han e2e80beaf2 Merge pull request #4922 from travisn/toolbox-mons
Allow mons from external cluster in toolbox config
2020-02-27 22:37:36 +01:00
Travis Nielsen d754520e1c ceph: allow mons from external cluster in toolbox
The toolbox generates a ceph.conf and extracts the names of the mons
based on the assumption that they all had the prefix rook-ceph.
This is no longer true for external clusters. The external clusters
may have mons with any variety of names.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-02-27 12:52:17 -07:00
Travis Nielsen 1b8e3da344 Merge pull request #4921 from nizamial09/extcluster_fail
ceph: Failed Condition to the external rook-ceph cluster
2020-02-27 09:02:51 -07:00
Nizamudeen 0382cc3c60 ceph: Failed Condition to the external rook-ceph cluster
This commit will add a phase and also a condition to display a Failed status on the external rook-ceph cluster if its failed to establish a connection.

Signed-off-by: Nizamudeen <nia@redhat.com>
2020-02-27 11:34:08 +05:30
Travis Nielsen 6f3db3df71 Merge pull request #4918 from travisn/stable-types
Move types from rook.io/v1alpha2 to rook.io/v1
2020-02-26 12:41:58 -07:00
Travis Nielsen bcb99d86ce crds: pick up the rook types in the v1 package
The rook types used across the storage providers moved from the v1alpha2
package to the v1 package. This commit points the packages at their new
location. Implementation is expected to remain unchanged.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-02-26 11:18:17 -07:00
Travis Nielsen 6807a0566d crds: move supporting types from v1alpha2 to rook.io/v1
The types that are used in CRDs across the storage providers do not need
to be in the v1alpha2 package. These should be declared stable in the v1
package. The only types remaining in the v1alpha2 package are the flex
volume types, which will never graduate since their replacement is the
csi driver.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-02-26 11:18:17 -07:00
Jared Watts 330877cc8b Merge pull request #4920 from jbw976/adopters-update
Update ADOPTERS.md with public production adopters in preparation for CNCF graduation proposal
2020-02-25 22:38:10 -08:00
Jared Watts c2e50dc7f7 adopters: Update ADOPTERS.md with public production adopters
This update is in preparation for CNCF graduation proposal

Signed-off-by: Jared Watts <jbw976@gmail.com>
2020-02-25 22:34:37 -08:00
Travis Nielsen acad369b94 Merge pull request #4520 from alimaredia/wip-object-store-realm
object-store-realm: Initial design doc
2020-02-25 16:06:42 -07:00
Travis Nielsen 0439a6df52 Merge pull request #4719 from travisn/steering-committee
Governance updates including a steering committee
2020-02-25 15:31:20 -07:00
Ali Maredia 429a4c336e ceph: initial design documents for ceph multisite
The implementation of this initial design will
allow object-stores to sync data across Rook Ceph
Clusters via a Day 1 setup of Ceph RGW Multisite

This design splits the realm, zonegroup, and zone
objects of Ceph RGW Multisite into seperate
resources.

This commit also moves all ceph object designs
into the design/ceph/object dir.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-02-25 17:10:08 -05:00
Blaine Gardner 2ba59ffa20 Merge pull request #4758 from SUSE/osd-add-remove-implementation-plan
design: ceph orchestrator module add/remove OSDs
2020-02-25 15:59:37 -05:00
Sébastien Han 18671a0dce Merge pull request #4895 from leseb/pool-size-1
ceph: add CRD setting for pool size 1
2020-02-25 18:03:52 +01:00
Sébastien Han dab9233c8b ceph: add CRD setting for pool size 1
As of Octopus, Ceph will prevent you from creating a pool with a
replica size of 1. Allowing such pool could lead to data loss, so enable
the new option: requireSafeReplicaSize: false if you are **ABSOLUTELY**
certain that is what you want.

Closes: https://github.com/rook/rook/issues/4889
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-25 16:28:58 +01:00
Sébastien Han 5ca4880ed0 Merge pull request #4888 from leseb/pvc-hybrid-dev-class
ceph: set crush device class via annotations on PVC
2020-02-25 14:07:22 +01:00
Sébastien Han ccef1f5601 Merge pull request #4867 from nizamial09/error_handling
rook: Handling Unhandled errors
2020-02-25 09:27:58 +01:00
Blaine Gardner 178187d035 design: ceph orchestrator module add/remove OSDs
Add a design document to plan how Rook will allow Ceph's Rook
Orchestrator Mgr Module to add and remove OSDs to/from a Rook-Ceph
cluster including changes needed in both the Orchestrator Module and in
Rook.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2020-02-24 11:06:46 -07:00