Commit Graph
3228 Commits
Author SHA1 Message Date
Sébastien Han ca4310942d Merge pull request #3638 from odinuge/dead-and-duplicate-code
Correctly set osd mem target for inited clusters
2019-08-19 12:11:11 +02:00
Odin Ugedal 7bd1ff1049 ceph: remove duplicated code
Signed-off-by: Odin Ugedal <odin@ugedal.com>
2019-08-18 11:10:28 +02:00
Odin Ugedal 0e73bbe2f3 ceph: set osd mem target correctly
Previously, the value was set to commonArgs, resulting in dead code,
since common arg isn't used after the append.

Signed-off-by: Odin Ugedal <odin@ugedal.com>
2019-08-16 17:29:38 +02:00
Dmitry Yusupov bfe867e16c Merge pull request #3628 from sabbot/useHostLocalTime
Add useHostLocalTime option
2019-08-15 14:33:03 -07:00
Travis Nielsen 6a61286e4a Merge pull request #3624 from phlogistonjohn/jjm-doc-provisioner-name
doc: document csi naming "prefix" as the rook operator namespace
2019-08-14 15:28:35 -06:00
Anton Skriptsov e99df703c5 Add useHostLocalTime option
Signed-off-by: Anton Skriptsov <sabbotagge@gmail.com>
2019-08-14 11:26:42 -07:00
Dmitry Yusupov d7e319af45 Merge pull request #3609 from ethan-daocloud/patch-4
edgefs: cleanup pod.go comment, fix typos
2019-08-14 10:17:51 -07:00
John Mulligan e67b0317c7 doc: document csi naming "prefix" as the rook operator namespace
Update the rbd and cephfs docs to include the new prefixed style
of name for the rook-managed csi instances. Document that this
prefix must match the namespace the rook operator is deployed in.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-14 12:49:38 -04:00
Travis Nielsen dd7a82fdc2 Merge pull request #3565 from nixpanic/ceph-csi/pidlimit
ceph-csi: pass --pidlimit option to provisioners
2019-08-13 22:58:26 -06:00
Travis Nielsen 35adf26d79 Merge pull request #3611 from phlogistonjohn/jjm-support-non-docker-in-tests
tests: do not require actual docker cli
2019-08-13 21:23:48 -06:00
Travis Nielsen 8e2f3f74a5 Merge pull request #3587 from pcuzner/change-ceph-mgr-rules
ceph: add rbac permissions for events api access
2019-08-13 17:01:17 -06:00
Blaine Gardner 1fce599d4c Merge pull request #3613 from SUSE/integration-use-apply-instead-of-create
Integration tests: use 'kubectl apply' vs create
2019-08-13 16:21:10 -06:00
Travis Nielsen b05f5f457f Merge pull request #3618 from davidvossel/rbd-doc-example
Update example pvc.yaml to reflect name of example rdb storageclass
2019-08-13 16:01:11 -06:00
David Vossel da072708c3 Update example pvc.yaml to reflect name of example rdb storageclass
Signed-off-by: David Vossel <davidvossel@gmail.com>
2019-08-13 17:29:01 -04:00
Blaine Gardner 789f8b4e7a Ceph: remove CreateSamePVCTwice integration test
This test doesn't really test the behavior of Rook as much as it tests
the behavior of `kubectl create`; therefore, remove the test.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-08-13 15:04:29 -06:00
Blaine Gardner 9009326ad7 Integration tests: use 'kubectl apply' vs create
Some integration tests fail due to resources from a previous integration
run not being cleaned up properly. Instead of using 'kubectl create' --
which fails with an error if the resource already exists -- to create
resources, use 'kubectl apply' -- which does not fail for pre-existing
resources. 'kubectl apply' will give a warning that it should be used to
apply changes to resources created with 'create' or 'apply', but there
is no error.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-08-13 15:03:39 -06:00
Travis Nielsen b240c30050 Merge pull request #3597 from mgfritch/wip-ceph-pool-doc
docs: Add Clarity to Ceph CRDs
2019-08-13 14:59:24 -06:00
Travis Nielsen 1591ba843e Merge pull request #3607 from obnoxxx/logic-flow-createReplicationCrushRule
ceph:pools: polish logic flow a bit in createReplicationCrushRule()
2019-08-13 13:22:21 -06:00
Travis Nielsen 799bcecce6 Merge pull request #3450 from travisn/update-orch-refactor
Set min Ceph version to 13.2.4 and improved orchestration event handling
2019-08-13 11:49:05 -06:00
Michael Fritch fbf9f95378 docs: Add Clarity to Ceph CRDs
- Improve readability of 'Replicated' and 'Erasure Coded' sections
- Clarify replicated sample requires 1 OSD located on 3 different nodes
- Add whitespace to 'Pool Settings' section
- Add link to the k8s 'StorageClass' concept
- Rename instances of 'object store' as literal
`CephObjectStore`
- Rename instances of 'object store user' as literal
`CephObjectStoreUser`
- Other minor verbiage and syntax clean-up

Signed-off-by: Michael Fritch <mfritch@suse.com>
2019-08-13 10:24:19 -06:00
John Mulligan 28cb59943b tests: do not require actual docker cli
Other CLI tools, such as podman, and equivalent to docker so support
setting an environment var to use it.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-13 10:43:10 -04:00
travisn 5efe3261ec tests: run cassandra integration tests last
If the Cassandra integration tests are run before the Ceph tests
some of the Ceph tests will fail. There is a lurking interaction
between the tests that needs to be tracked down.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-08-13 07:23:01 -06:00
travisn 9c73bfc603 ceph mds: properly trim the daemon name
The daemon name always needs to have the prefix rook-ceph-mds-
removed from the deployment name in order to translate to the
daemon name. The daemon name is not dependent on the namespace.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-08-13 07:23:00 -06:00
travisn 7e670aa01f tests: collect operator log after each failed test
Signed-off-by: travisn <tnielsen@redhat.com>
2019-08-13 07:23:00 -06:00
travisn 113da4a94f update the default ceph version from 14.2.1 to 14.2.2
The Nautilus v14.2.2 release was out last week. This is the new
default version for Rook in the documentation and manifests.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-08-13 07:23:00 -06:00
travisn be391de73c resolve changes from merge conflict in upgrade changes
The upgrade changes for #2901 added the check for the correct version
of the ceph image before continuing with an upgrade. This commit is
to refactor that change to work with the new code path to validate
the ceph version.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-08-13 07:23:00 -06:00
travisn 98d0a59c91 ceph: create cluster during onUpdate event if needed
If the cluster is not successfully initialized during the onAdd event,
the cluster will not be in a properly initialized state. The admin
will likely need to update the CR, in which case the onUpdate event would
be triggered. In this case we need to call the same code path as the
onAdd event to properly initialize the cluster.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-08-13 07:23:00 -06:00
travisn 9a3dc52a11 ceph: minimum version allowed is mimic 13.2.4
With the 1.1 release we should not be creating bluestore OSDs
with rook's legacy partitioning scheme. All new bluestore OSDs
should be created with ceph-volume. Therefore, the miminum
version allowed is a version of mimic supporting ceph-volume.

This commit also adds consistent version checking between
the Add and Update methods for the operator handling the
CR events.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-08-13 07:22:59 -06:00
travisn 258a66554f ceph: remove unnecessary CR validation
Range checks for CR values are done statically in the CRD
for the number of mons. There is no need to check in the code
if the mon count is out of range.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-08-13 07:17:38 -06:00
Guangming Wang adf975c3c2 edgefs: cleanup pod.go comment, fix typos
Signed-off-by: Guangming Wang <guangming.wang@daocloud.io>
2019-08-13 21:00:54 +08:00
Sébastien Han d7716aba47 Merge pull request #3373 from phlogistonjohn/jjm-csi-one-per-operator
Ceph-CSI: maintain one csi configuration per operator
2019-08-13 14:04:21 +02:00
Michael Adam 9c2c3c5d55 ceph:pools: polish logic flow a bit in createReplicationCrushRule()
This is not changing the behavior of the code but making the
flow of logic in the createReplicationCrushRule() function consistent
by removing an else branch. This was just a reflex when I was reading
the code.

Signed-off-by: Michael Adam <obnox@redhat.com>
2019-08-13 13:50:20 +02:00
John Mulligan a756d5a039 ceph csi: add back missing import
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-13 06:42:22 -04:00
Madhu Rajanna 471562c753 Resource cleanup in csi tests
Added code to delete secret, cephfs
and rbd pools and to delete cephfs
and rbd storage class.

delete rbd and cephfs pod,pvc

skip CSI test if kube version is less than 1.13.0

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-08-13 06:42:22 -04:00
John Mulligan 6ea24c8b39 ceph csi: use namespace prefix in the storageclass test yaml
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-13 06:42:22 -04:00
John Mulligan c22c9f10c3 ceph csi: add temp filesystem for keys to csi test templates
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-13 06:42:22 -04:00
John Mulligan 0a6ee2e072 ceph csi: add missing config map to csi test templates
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-13 06:42:22 -04:00
John Mulligan 521680d100 ceph csi: disable csi if server version is too low
Previously, if csi was not supported by the k8s version the csi set-up
code was skipped but csi was "left on". This change ensures that if
csi is not supported the csi enablement flags are set to false so
that other code that needs csi support will not run.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-13 06:42:22 -04:00
John Mulligan 55b871060f ceph csi: add additional error handling for csi related functions
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-13 06:42:22 -04:00
John Mulligan 7c5bd58878 ceph csi: ensure the required namespace env var is set
Return an error if the function that updates the csi config map
can not determine a valid namespace for the config map.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-13 06:42:22 -04:00
Travis Nielsen e6da8ab08f Merge pull request #3601 from Madhu-1/sc-xfs
Add xfs fstype as default type in storageclass
2019-08-12 23:40:48 -06:00
Paul Cuzner ccbd037e2d ceph:RBAC updates for helm and test framework
Apply the RBAC changes for the mgr to access the
events API to the helm templates dir and the test
framework manifests for ceph

Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
2019-08-13 09:59:10 +12:00
John Mulligan 12c48ba375 ceph: refactor csi related code into a new file in csi package
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-12 16:41:26 -04:00
John Mulligan 9f6c0ba2c5 csi: prevent trivial conflicts between ceph csi instances with a prefix
Add a prefix to the csi drivername when ceph csi is deployed by rook.
This aims to prevent trivial conflict between csi instances when two
rook operators are deployed into the same cluster. By default the
prefix is the "<rook-namespace>." but can by customized on the cli
and via environment vars.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-12 16:41:26 -04:00
John Mulligan 4f9333bff7 ceph csi: switch templates to new cross-cluster config map
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-12 16:41:26 -04:00
John Mulligan 2b1ae54b84 ceph csi: clean up how templates are expressed
Avoid using global values that are not used anywhere in the code.
Split the object used to express the ceph csi templates into two
so only values that are set globally need to be managed globally,
all other values can be stored in the temporary local struct.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-12 16:41:26 -04:00
John Mulligan 08219a4492 ceph: update a cross-cluster csi configmap when mons change
Instead of requring csi instances for every ceph cluster that rook
manages, maintain one config map for all ceph clusters. This allows
for one set of csi drivers per rook operator.
The config is intialized as empty when Ceph CSI components are first
created and then updated every time a cluster's mons change.
As before clusters are identified by the k8s namespace the ceph cluster
is running in.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-12 16:41:26 -04:00
John Mulligan 17fad8e958 ceph: plumb a mutex for csi config map updates through the application
Create a mutex at the rook operator level that will be used when
updating the shared-between-clusters config map that Ceph CSI consumes.
Pass the mutex down to the function that will update the CM.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-12 16:41:26 -04:00
John Mulligan 76abdc2ae4 csi: set csi global vars to false by default
Thes values being defaulted "on" cause issues with some of the units
tests but add no additional value to the normal rook ceph binaries
because they are immediately overwritten by the values set on the
command line (and env).

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-12 16:41:26 -04:00
John Mulligan 6920bb2915 ceph: add a new utility function for updating csi config map content
Add a new function that, given existing config string, key, and current
mons, will return an updated version of the Ceph CSI config string
having updated the data with the new mons.
Add a unit test function for the update function.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-08-12 16:41:26 -04:00