Commit Graph
279 Commits
Author SHA1 Message Date
Travis Nielsen e32729269f ceph: clean up block integration tests more reliably
The block integration tests are a source of intermittent failures
in the CI. The PVCs were not being confirmed as removed before the
pools were deleted. Then the pool would not be removed since there
might still be a block image from the PVC that wasn't deleted yet.
Now the tests will ensure the PVCs and their block images are
removed before the pool is deleted.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2019-10-30 15:37:35 -06:00
Sebastian Wagner b2fe1b951d ceph: Add removeOSDsIfOutAndSafeToRemove to CRD
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-10-25 15:57:32 +02:00
Sébastien Han eccea9fa05 ci: more debug
When we give up on waiting for the pod to be running which describe it
to see what's wrong.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-10-22 15:14:28 +02:00
travisn 879971f19a ceph: create object user immediately if obj store available
Creating an object user was always waiting at least 15 seconds before
attempting to create the user. With this change the operator will check
immediately if the object store is already initialized instead
of waiting for the initial 15 seconds delay to elapse.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-19 22:46:17 -06:00
travisn c4210237cb tests: update tests for apps/v1 apiVersion
K8s 1.16 requires apps/v1 instead of the old extensions/v1beta1 for the
apiVersion of the deployment. The tests were failing when testing on
K8s 1.16 without this change

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-19 12:46:00 -06:00
Travis Nielsen 000392533c Merge pull request #4022 from sebastian-philipp/validation-reservePoolsOnDelete
Ceph CRD Validation: Add reservePoolsOnDelete
2019-10-17 09:43:27 -06:00
travisn 979b6fd2cb tests: use kubectl create instead of apply
Testing if the create does any better in the tests than apply.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-15 17:13:25 -06:00
travisn f5eb11d863 tests: add logging to track down file test cleanup issue
Adding more logging until we can track down the file-test pod
cleanup issue

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-15 17:13:25 -06:00
Blaine Gardner 70810dd55a ceph: osd: do not init ceph.conf for dir OSDs
Just as with the mon, mgr, mds, rgw, and rbd-mirror daemons, do not
generate a ceph.conf in an init container for directory-based OSDs.
Instead use the mon config database and the commandline to supply all
the needed arguments for running these OSDs.

Also generate a keyring secret to mount to OSD pods. Use this
secret for directory-based OSDs for now with the intention to
use this for other OSDs in the future.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-10-15 12:12:46 -06:00
travisn d1680b2cca tests: ensure cluster finalizer removed during cleanup
The tests must ensure that the cluster is cleaned up so that
other test suites will not be affected by cleanup of a previous
test suite. Removing the cluster finalizer is critical to this
cleanup.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-14 09:29:46 -06:00
travisn a92850b307 tests: simplify filesystem tests and client pod deletion
The filesystem test deletes the client test pod by deleting the entire yaml
and sometimes hangs the integration tests. This is the most common intermittent
error in the CI. Now the deletion will happen more directly with a pod delete
command. If it does still fail deletion at least the deletion should timeout
sooner.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-14 09:29:45 -06:00
Sebastian Wagner b4b1182d2e Ceph CRD Validation: Add reservePoolsOnDelete
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-10-01 16:10:51 +02:00
RAJAT SINGH 4a02c568e7 Added validation for cephBlockPool,cephfs and cephnfs.Added changes in ceph_manifest.go and resources.yaml according to common.yaml.
Signed-off-by: RAJAT SINGH <rajasing@redhat.com>
2019-09-25 15:42:07 +05:30
Sebastian Wagner 82329a0bc6 Ceph CRDs: sync between copies
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-09-23 09:57:49 +02:00
Sebastian Wagner 965dc93f11 CephCluster CRD: Added network.provider to validation
(and `network.selectors`)

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-09-23 09:57:05 +02:00
Travis Nielsen f96960cfcc Merge pull request #3904 from sebastian-philipp/crd-validation-disruptionManagement
Fix CRD Validation: disruptionManagement and mgr modules
2019-09-20 17:06:45 -06:00
Sebastian Wagner 1987480dc5 Added missing properties
* volumeClaimTemplate
* storageClassDeviceSets
* external.enable

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-09-20 09:55:46 +02:00
Sebastian Wagner f66f6c1ce3 disruptionManagement: Added missing CRD validation
Also:
* `cluster.yaml`: spec.mgr.modules is not explicily nullable
* Removed `required: mon` in `ceph_manifests.go`

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-09-20 09:55:46 +02:00
travisn bd672de7db ceph: allow running minimal test matrix for ceph tests
There are six test suites and six k8s versions where we currently run
the tests. For efficiency we can restrict the testing to one suite
per k8s version. Bigger or riskier changes should still run the full
set of suites on all versions. To trigger the smaller test matrix, add
[test ceph min] to the PR description

Signed-off-by: travisn <tnielsen@redhat.com>
2019-09-18 23:06:49 -06:00
Sébastien Han 9c86f40a6e Merge pull request #3724 from leseb/disable-flex
operator: ceph disable flexdriver
2019-09-18 10:08:07 +02:00
Sébastien Han 7f359ba41b operator: ceph disable flexdriver
Since Ceph CSI is stable and deployed by default, we don't need to
deploy the rook-ceph-agent daemonset.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-09-18 00:28:25 +02:00
Sébastien Han bc6dcb9995 ceph: bump to v14.2.4
v14.2.4 just got released so let's use it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-09-17 15:08:15 +02:00
travisn 86968c5064 ceph: boolean settings not applied if set to false and default
THe boolean helm settings were only being applied if their value was true.
If the desired value was false, the value would be skipped in the chart
instead of adding it with the value of false.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-09-09 23:27:35 +03:00
travisnandAshish Ranjan 638b591535 ceph: Adds support for MDB controller and machineLabel controller
Add support for MachineDisruptionBudget controller and MachineLabel controller required for fencing
in OpenShift. This will ensure that machines are only fenced and OSDs are only stopped
when Ceph is in a healthy state.

Co-authored-by: Ashish Ranjan <aranjan@redhat.com>
Signed-off-by: travisn <tnielsen@redhat.com>
2019-09-06 16:32:06 -06:00
Travis Nielsen 49c516916e Merge pull request #3781 from rohantmp/topology
Fix topologyAware on PVC-based OSDs
2019-09-06 13:59:22 -06:00
Travis Nielsen fe4874dc77 Merge pull request #3769 from leseb/mgr-modules
Ceph: Ability to enable pg_autoscaler mgr module via CRD
2019-09-06 13:34:05 -06:00
Rohan CJ f8b7537830 Fix topologyAware on PVC-based OSDs
Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2019-09-06 23:17:01 +05:30
travisnandSébastien Han c30cc697c7 ceph: ability to enable mgr module via CRD
We can now enable via the cluster CR any manager module with a
setting under the new mgr element

mgr:
  modules:
  - name: pg_autoscaler
    enabled: true

Co-authored-by: Sébastien Han <seb@redhat.com>
Co-authored-by: travisn <tnielsen@redhat.com>
Signed-off-by: travisn <tnielsen@redhat.com>
2019-09-06 11:32:51 -06:00
Umanga Chapagain 0caedcf4d6 updating additionalPrinterColumns for CephFS
- Renamed MDSCOUNT to ActiveMDS & updated Description
  This was to remove the confusion about what the count
  is actually about (Active or Active+Standby).

Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2019-09-06 11:38:33 +05:30
Travis Nielsen a777c94a08 Merge pull request #3778 from rohantmp/managedPDB
Reflect pdb rbac in helm template and ceph_manifests.
2019-09-05 14:10:40 -06:00
Blaine Gardner 2c4aec93ff Merge pull request #3767 from SUSE/disable-crd-config
Ceph: remove configOverrides from CRD
2019-09-05 13:59:23 -06:00
Blaine Gardner 1d47c03534 Merge pull request #3417 from nabokihms/dynamic-flexvolume-resize
ceph: Add dynamic flexvolume expansion
2019-09-05 12:52:14 -06:00
Blaine Gardner 3a243d2978 ceph: remove configOverride functionality from CRD
After further consideration and working with the feature for a few
weeks, the `configOverride` functionality seems to be more complexity
than is worth it for the expected benefit. Users still have the most
preferred option of setting configs in Ceph's config database using
`ceph cofig set` or the dashboard, and the override ConfigMap still
exists for fallback scenarios. The config database can still be used
by Rook for setting necessary configs, but the user has no way of
telling Rook to do so.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-09-05 12:30:56 -06:00
Rohan CJ ceeace5fd4 Reflect permissions required for managed disruption in the helm template and ceph_manifests
Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2019-09-05 08:37:02 +05:30
Maksim Nabokikh 179e1a310d ceph: Add dynamic flexvolume expansion
Allow to dynamic resize of rook volumes

Signed-off-by: Maksim Nabokikh <maksim.nabokikh@flant.com>
2019-09-05 02:40:22 +04:00
Sébastien Han 3390a85404 ceph: bump to 14.2.3
Let's use the latest minor release of Ceph 14.2.3.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-09-04 23:14:28 +02:00
Madhu Rajanna a8589af337 Implement grpc metrics for cephcsi
grpc metrics is made option in rook
this can be disabled/enabled with ROOK_CSI_ENABLE_GRPC_METRCS
variable in operator.yaml
this will help admin who want to check the grpc metrics
of the ceph-csi plugins

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-08-30 15:01:45 +05:30
Madhu Rajanna 3c0801dedb remove liveness tests from csi_template
The tempate defined is supposed to use of v1.0 manifests
so removing the liveness code from it.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-08-30 13:16:55 +05:30
Travis Nielsen 5eab7ca658 Merge pull request #3573 from SUSE/mon-kv-store
Ceph: override configs in CRD
2019-08-29 19:04:16 -06:00
Blaine Gardner 1be43290be Ceph: override configs in CRD
Allow users to specify overrides in the CephCluster CRD. The override
ConfigMap still exists for emergency situations and is mounted into
daemon pods directly instead of being merged into a Rook-created config
file.

Rook Ceph no longer uses a config file for managing daemons with the
exception of the OSDs which still generate a config in an init
container.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-08-29 15:38:27 -06:00
Anton Skriptsov c0fe6af712 Initial v1
Signed-off-by: Anton Skriptsov <sabbotagge@gmail.com>
2019-08-28 15:18:38 -07:00
Travis Nielsen 0aa1774ebe Merge pull request #3668 from noahdesu/canary-sched
ceph/mon: support monitor migration without rebuils
2019-08-27 22:50:43 -06:00
Noah Watkins e2fccdf03b ceph: remove the CRD option Mon.PreferredCount
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-08-27 17:43:35 -07:00
Sameer Kulkarni 9816fc7ce6 yugabytedb: integration tests and scripts
Signed-off-by: Sameer Kulkarni <samkulkarni20@gmail.com>
2019-08-27 22:45:14 +05:30
Travis Nielsen 769949bca9 Merge pull request #3694 from leseb/new-images
ceph: use latest ceph images
2019-08-26 18:40:49 -06:00
Sébastien Han a42916eff0 ceph: use latest ceph images
The last image has disabled ephemeral repositories so it's now possible
for images older than 15 days to install packages without having an
  error from non-existing repositories.

Closes: https://github.com/rook/rook/issues/3662
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-08-26 23:50:55 +02:00
Madhu Rajanna 78fb35a93d Use Deployment with leader election instead of StatefulSet
Deployment behaves better when a node gets disconnected
from the rest of the cluster - new provisioner leader
is elected in ~15 seconds, while it may take up to
5 minutes for StatefulSet to start a new replica.

if kube version is 1.13.x deploy provisioner as statefulset.
if kube version is higher than 1.14+ deploy provisioner
as deployment.

Refer: kubernetes-csi/external-provisioner@52d1fbc
Refer: ceph/ceph-csi#497

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-08-26 19:29:37 +05:30
Madhu Rajanna 1abfdf9fb6 Fix incorrect service account used for rolebinding
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-08-26 15:45:23 +05:30
Madhu Rajanna d4befa79db update plugin directory name in csi
This is required if you are running multiple
csi drivers, if multiple node plugins are
listening on the same socket they request
may go to any node plugin. to avoid this we
need to have a unique socket per csi driver.
It is recommended to have socket inside the
driver name folder.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-08-26 15:45:23 +05:30
jiffin abe3678990 adding smoke test for bucket store
Signed-off-by: jiffin <thottanjiffin@gmail.com>
Signed-off-by: Jon Cope <jcope@redhat.com>
Signed-off-by: jeffvance <jeff.h.vance@gmail.com>
2019-08-22 19:54:44 -06:00