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>
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>
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>