Commit Graph
620 Commits
Author SHA1 Message Date
Travis Nielsen 22b95dbbfd Merge pull request #12977 from anthonyeleven/improve-csi-addons
12976 : Improve Documentation/Storage-Configuration/Ceph-CSI/ceph-csi…
2023-12-04 10:10:52 -07:00
Alexander Trost 3097455d78 Merge pull request #13246 from koor-tech/ceph_config_via_cluster_crd_impl
operator: allow setting ceph config options via ceph cluster crd
2023-12-02 11:27:20 +01:00
Anthony D'Atri 59d0240676 doc: improve ceph-csi-drivers.md and lintrolling
Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2023-12-01 16:10:11 -07:00
Alexander Trost 4ed35d6bd6 operator: allow setting ceph config options via ceph cluster crd
This implements the "Ceph Config via Ceph Cluster CRD" design document
as a `cephConfig:` structure on the CRD.
This also fixes the `yq` commands used to manipulate the
`cluster-test.yaml` that caused CI issues for this PR and potentially
unknowingly others.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2023-12-02 00:05:48 +01:00
Travis Nielsen 25f5a23072 Merge pull request #13196 from parth-gr/external-rados
external: add support for rados namespace for external cluster
2023-12-01 12:21:25 -07:00
Blaine Gardner 20ce9da197 Merge pull request #13177 from subhamkrai/add-cel
webhook: add validating admission policy
2023-12-01 09:56:03 -07:00
Blaine Gardner f4d67fd4db Merge pull request #13261 from subhamkrai/remove-controller-runtime
core: remove webhook & controller-runtime from apis
2023-12-01 09:55:34 -07:00
subhamkrai ae15604fbe webhook: add validating admission policy
this commit adds validating admission policy
for cephcluster cr according to webhook rules.
Not all the webhook can be moved to validating
admission policy for example checking multus
selector validation.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-01 22:01:12 +05:30
subhamkrai 28cc1ebc55 core: remove webhook & controller-runtime from apis
This commits removes controller-runtime dependencies
from the apis dir and to achieve that we are removing
webhook.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-01 14:15:40 +05:30
Travis Nielsen 09844e83a5 Merge pull request #13288 from travisn/helm-operator-ns
helm: Add namespace to all resource templates
2023-11-30 11:52:06 -07:00
parth-gr 939a1b7d20 subvolumegroup: add name spec in subvolumegroup
Originally we create it using this cmd
ceph fs subvolume create <vol_name> <subvol_name>
So we can have 2 variables filesystem and subvolume name,
Currently the CR doesn't allow us to make subvolume-name
as constant as needed to "csi" because of k8s limitations

Signed-off-by: parth-gr <paarora@redhat.com>
2023-11-30 20:39:11 +05:30
travisn b4e51f6d12 helm: add namespace to all resource templates
The helm templates assumed that the resources would be installed
to the given namespace for the helm install or upgrade. This works
perfectly until there is a desire to extract the manifests from
the helm chart and instead install with those. Thus, the namespace
is added to all the resources in the chart where they were
missing.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-11-29 15:13:13 -07:00
Rakshith R 59cb0dd4bf csi: add CSIDriverOptions section in cephCluster CR
This commit adds new CSIDriverOptions section in
cephCluster CR. This section contains settings
for read affinity and kernel+fuse Mount options
These settings will be injected directly into
rook-ceph-csi-config cm to be applicable per
ceph cluster.

Signed-off-by: Rakshith R <rar@redhat.com>
2023-11-29 19:34:28 +05:30
parth-gr df7c401d35 external: add support for rados namespace for external cluster
change the json output of storageclass to also inclusde rados namespace,
and also added the changes in the csi secret

Signed-off-by: parth-gr <paarora@redhat.com>
2023-11-28 11:52:30 +05:30
Travis Nielsen d1c4667c8b Merge pull request #13225 from ushitora-anqou/use-regex-match-for-pdb-reset
core: add pgHealthyRegex to DisruptionManagementSpec
2023-11-27 14:23:25 -07:00
Satoru Takeuchi 4e58be48c3 Merge pull request #13259 from cybozu-go/osd-revert-encrypted-osd-on-part
helm: use csiaddonsport parameter
2023-11-24 14:10:37 +09:00
Satoru Takeuchi 1d8cdeca03 helm: use csiaddonsport correctly
We have csi.csiAddonsPort paramete but it's not used everywhere.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2023-11-24 02:30:08 +00:00
Ryotaro Banno 0ad88e9d68 core: add pgHealthyRegex to DisruptionManagementSpec
This patch adds `pgHealthyRegex` field to DisruptionManagementSpec.
`pgHealthyRegex` is a regular expression that is used to determine which
PG states should be considered healthy. The default value of
`pgHealthyRegex` is:

        ^(active\+clean|active\+clean\+scrubbing|active\+clean\+scrubbing\+deep)$

which is effectively the same as before.

Signed-off-by: Ryotaro Banno <ryotaro.banno@gmail.com>
2023-11-22 00:19:04 +00:00
Travis Nielsen 346746c43b Merge pull request #13244 from iPraveenParihar/upgrade-sidecar-versions
csi: update csi sidecars' image version
2023-11-21 12:10:49 -07:00
Blaine Gardner 891edb1cbd Merge pull request #13230 from koor-tech/ceph_config_via_cluster_crd
build: use /usr/bin/env to look up script interpreters
2023-11-21 10:07:56 -06:00
Alexander Trost fcf52207f8 build: use /usr/bin/env to look up script interpreters
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2023-11-21 14:38:22 +01:00
Praveen M ddf03bce6f csi: update csi sidecars' image version
csi-node-driver-registrar: v2.9.1
csi-resizer: v1.9.2
csi-provisioner: v3.6.2
csi-attacher: v4.4.2
csi-snapshotter: v6.3.2
Signed-off-by: Praveen M <m.praveen@ibm.com>
2023-11-21 14:41:57 +05:30
Travis Nielsen 6b1f912958 Merge pull request #13236 from rkachach/fix_issue_monitoring_namespace
manifest: adding the namespace tag to the monitoring manifests
2023-11-20 11:43:05 -07:00
Redouane Kachach 147f6e2e78 manifest: adding the namespace tag to the monitoring manifests
including the namespace tag in the monitoring manifests to streamline
the automated process of modifying them through scripting

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-20 17:19:37 +01:00
travisn 03d077aa6b core: remove support for ceph pacific
Pacific is end of life and no longer necessary to
support in Rook with v1.13.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-11-14 17:07:03 -07:00
Shachar Sharon 7c3e91390e nfs: add optional LivenessProbe to GaneshaServerSpec
Allow end-user to have full control on NFS-Ganesha liveness probe:

  - Disabled
  - Enabled, using user-provided definition
  - Enabled, using Rook's default liveness probe for Ganesha.

Signed-off-by: Shachar Sharon <ssharon@redhat.com>
2023-11-13 16:21:24 +02:00
Madhu Rajanna 5658e026cb csi: remove deprecated grpc metrics code
GRPC metrics got deprecated in cephcsi
3.7.0 and the deprecated flags will get
removed in the next release. This PR
removes the deprecated metrics code which
allow us to run with older cephcsi as well.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2023-11-07 11:24:17 +01:00
Blaine Gardner 35bd18660e Merge pull request #13123 from Sheetalpamecha/mmultus-validation-test
multus: improve the multus validation test's flakiness metric
2023-11-01 09:44:19 -06:00
Travis Nielsen d5b26c3edb Merge pull request #13115 from rkachach/fix_issue_adding_cluster_pvc_local
test: adding an example for cluster on local pvc creation
2023-10-31 09:43:44 -06:00
Sheetal Pamecha 06c176524a multus: improve the multus validation test's flakiness metric
Allow the flakiness threshold window to be tuned from the cli

Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
2023-10-31 15:23:10 +05:30
Redouane Kachach f95c96ad29 test: adding an example for cluster on local pvc creation
adding an example for a cluster where local pvc are used
for mon store and for OSD creation

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-10-30 17:30:45 +01:00
Redouane Kachach d6aae62879 manifest: fix rook-ceph-mgr-system role and namespace
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-10-26 16:17:32 +02:00
Travis Nielsen 72452f0558 Merge pull request #13089 from rkachach/fix_issue_second_cluster
docs: unifying namespaces handling for the second cluster creation
2023-10-25 08:00:47 -06:00
Travis Nielsen 63ba241ded Merge pull request #13060 from parth-gr/external-updation
external: fix monitoring endpoint check
2023-10-25 07:43:35 -06:00
Redouane Kachach 13654d3c3d docs: unifying namespaces handling for the second cluster creation
Let's use the same technique based on 'sed' while employing two
different namespaces for the cluster and the operator when creating
the second cluster.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-10-25 09:16:48 +02:00
Travis Nielsen aa4835c853 Merge pull request #13078 from rkachach/fix_issue_namespace
namespace: adding namespace to all rook-ceph namespaces references
2023-10-24 09:47:46 -06:00
Redouane Kachach ff081cc4ae namespace: adding namespace to all rook-ceph namespaces references
To make it easier for the user to switch to a namespace other than the
default 'rook-ceph', the tag '# namespace:cluster' must be inserted in
all the places where this namespace is used. This way, a simple 'sed'
command can update all the Yaml files to the new namespace.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-10-24 14:17:17 +02:00
parth-gr 3363a195a8 external: fix monitoring endpoint check
if the monitoring endpoint is not present
we were not returning any error, but the
field is the mandatory output, so return error if not found

Signed-off-by: parth-gr <paarora@redhat.com>
2023-10-24 00:06:48 +05:30
parth-gr 40008bf18d external: automatically init the rbd pool
Sometimes the pool is not enabled and the ceph cluster
shows health warning, so automatically initalize the pool
from the script

Signed-off-by: parth-gr <paarora@redhat.com>
2023-10-23 20:45:50 +05:30
sp98 ffd69291f1 osd: use bash script if restart interval is > 0
If `FlappingRestartIntervalHours` for OSD is > 0 in the cephCluster CR,
then start OSD inside a bash script.

Signed-off-by: sp98 <sapillai@redhat.com>
2023-10-11 11:38:26 +05:30
parth-gr bf5252e139 external: fix client healhchecker user keyring return
if the client.health checker already exited it was
returning extra information, It was making the structure and
return JSON non idempotent output, So fixed
that problem by returning a single value

Signed-off-by: parth-gr <paarora@redhat.com>
2023-10-05 16:04:13 +05:30
Blaine Gardner 0c721e05d5 multus: allow node profiles in validation test
Add the ability to specify node profiles in the multus validation test.

This addresses a few points of early feedback on the validation tool.
Statements below critique the tool's behavior before this patch.
1. The tool assumes all daemons are on public and cluster network, which
   means users who have a significantly smaller cluster net (a
   design choice) cannot run a single test to determine if Rook is
   likely to install correctly.
2. The tool does not have placement options to select only a subset of
   Kubernetes nodes to run validation on.
3. Users of multus seem to have a dedicated pool of storage nodes more
   often than the average Rook install. This makes sense for security-
   and perforance-minded users. The tool cannot run a single test to
   verify storage-only and general-workload nodes at one time.

These points are addressed by allowing users to specify configurations
for different "NodeTypes."

Each NodeType config has options for selecting the number of OSDs as
well as the number of other (non-OSD) Ceph daemons. This limits the
unnecessary exhaustion of cluster network addresses from critique 1.

Each NodeType config has its own placement (critique 2).

Users can define as many NodeTypes as needed to test the network for
their planned CephCluster. Specifically, this allows the tool to test
storage-only nodes and generalized-workload nodes at the same time. An
arbitrary number of NodeTypes are allowed to support even more highly
specialized cluster setups, such as multiple tiers of storage nodes
where some storage-only nodes may run more OSDs than others.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2023-10-04 15:26:35 -06:00
Blaine Gardner e74333ddcd Merge pull request #12633 from thotz/cosi-user-creation
object: create cosi user for each object store
2023-10-04 10:05:36 -06:00
Redouane Kachach aa59e3bb86 ci: fixing linter error
Fixing linter error (using variable 'urllib' before assignment)
Adding logic to properly import urlencode depending on python version

closes: https://github.com/rook/rook/issues/12985

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-10-04 09:40:49 +02:00
Redouane Kachach b3dd74ea20 docs: fixing some spelling issues
closes: https://github.com/rook/rook/issues/12987

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-10-03 13:50:17 +02:00
Travis Nielsen b7eaba318c Merge pull request #12941 from subhamkrai/update-caps
external: update healthchecker caps for rbd command
2023-09-27 22:55:31 -06:00
subhamkrai c78bd1cbc6 external: update healthchecker caps for rbd command
when creating networkFence CR, it requires IP's to block
which we get from running `rbd status ...` command. But,
the client.healthchecker user didn't had the right caps
to run hence it was giving error. Now, adding the required
caps `profile rbd-read-only` to osd so that rbd command can
be executed.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-09-28 08:21:21 +05:30
Travis Nielsen 33fb7b801b Merge pull request #12926 from rkachach/fix_issue_12876
mgr: adding support for prometheus endpoint configuration
2023-09-27 08:09:13 -06:00
Redouane Kachach c763935436 mgr: adding support for prometheus endpoint configuration
Using the new configuration parameters prometheusEndpoint and
prometheusEndpointSSLVerify users can configure dashboard to
point to their prometheus instance.

closes: #12876

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-09-27 11:07:18 +02:00
Jiffin Tony Thottan a941b3c33f object: create cosi user for each object store
Create each cosi user for each object store and secret which holds
credentials.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2023-09-19 13:48:58 +05:30