Commit Graph
409 Commits
Author SHA1 Message Date
Sébastien Han fcc2e21faf ceph: rework csi keys and secrets
We know create 4 secrets containing 4 ceph keys where each of them have
limited permissions to access the cluster.

Closes: https://github.com/rook/rook/issues/4074
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-10-22 15:14:28 +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 4ef3ffb8e4 test: add k8s 1.16 to the integration test matrix
With the desire to run the integration tests on the five
most recent versions of K8s, 1.16 is added and 1.11
is removed from the integration test matrix.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-19 12:46:01 -06:00
travisn d6fe7cec5a helm: configure for k8s 1.16 or newer
Helm requires some changes to be compatible with k8s 1.16.
The deployment needs to use v1 apiVersion and a selector
needs to be added. A tiller service account is also required.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-19 12:46:01 -06:00
travisn 64dce0c4e4 ceph: prevent object user test from crashing on failure
Require retrieving the user to succeed or else abort the
object integration test

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-19 12:46:00 -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 0cca2cdef4 tests: increase wait timeout for mon failover tests
The timeout of 80 seconds wasn't always sufficient for mon failover.
The timeout is now increased to 150 seconds.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-15 17:13:26 -06:00
travisn 378f209d63 tests: ceph multicluster tests to wait for one cluster at a time
The two clusters were being created in parallel by the tests
and sometimes causing the test to timeout. The operator handles
the cluster serially so we don't gain anything by starting
them asynchronously. With this change the tests will be started
serially to match the behavior of the operator and avoid
the issues with test timeouts.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-15 17:13:26 -06:00
travisn 98c21950aa tests: mark failed test for log collection
The logs are only collected by default if a test failed.
Ensure that we collect the logs if the test setup step
failed.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-15 17:13:25 -06:00
travisn a178cccd77 tests: consolidate block integration tests
The BlockCreateSuite and BlockMountUnmountSuite suites are almost identical
for running block tests with different types of mounts. We can
consolidate these into a single test suite and eliminate a couple of
the tests that are already covered by other tests.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-15 17:13:25 -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 2b3d1f45ef tests: consolidate the filesystem tests
There are two separate integration tests for file. To simplify
and streamline and potentially eliminate some random failures,
these tests now consume the same file system instead of creating
a separate file system.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-10-14 09:29:45 -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
Travis Nielsen 18c6f8ae37 Merge pull request #3788 from umangachapagain/activeMDS
updating additionalPrinterColumns for CephFS
2019-09-06 13:00:18 -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
travisn 8d89724e80 fix build break from bad merge with method rename
Signed-off-by: travisn <tnielsen@redhat.com>
2019-09-06 10:15:23 -06:00
Travis Nielsen 585d7a963d Merge pull request #3759 from krig/typo-1
Tests: Fix typo, defintion -> definition
2019-09-06 08:43:38 -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
Kristoffer Grönlund e28eeb7551 Tests: Fix typo, defintion -> definition
Signed-off-by: Kristoffer Grönlund <kgronlund@suse.com>
2019-09-03 17:36:20 +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