Commit Graph
425 Commits
Author SHA1 Message Date
Travis Nielsen cb44c7b88f Merge pull request #12508 from parth-gr/external0cluster-namesapce
external: create ceph cluster namespace
2023-07-18 16:45:30 -06:00
travisn 182211d26c cosi: correct capitalization for auto policy
The CephCOSIDriver deploymentStrategy requires Auto, Never,
or Always. Change the example to Auto.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-07-18 13:55:48 -06:00
Travis Nielsen 2e7f9045ab Merge pull request #12460 from pgoron/admin-caps-spelling
object: align spelling of user admin capabilities with ceph
2023-07-18 13:23:15 -06:00
parth-gr f9f880e528 external: create ceph cluster namespace
We need to create the namespace with the import script,
As per the documentation

The import script creates the secrets and
cm which is later used by the operator for cluster creation.

Signed-off-by: parth-gr <paarora@redhat.com>
2023-07-19 00:37:42 +05:30
Travis Nielsen 91fea5395e Merge pull request #12415 from thotz/ceph-cosi-driver
object: adding ceph cosi driver
2023-07-18 12:12:12 -06:00
Jiffin Tony Thottan b48dc8a335 object: intial cosi driver controller design
Adding CephCOSIDriver CRD and controller. The controller will bring up
the ceph cosi driver when first object store is created in the rook
operator namespace. Then admin can defined COSI CRDs like BucketClass
and BucketAccessClass for different object stores deployed via Rook.
Using the BucketClass and BucketAccessClass, user can define
BucketAccess for backend bucket in the RGW. The CephCOSIDriver CRD
defines configuration options for ceph cosi driver. In the first version
its usability is minimal. Even if it is not defined Rook will bring up
the ceph cosi driver with default values.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2023-07-18 22:49:41 +05:30
Travis Nielsen 0253353add Merge pull request #12502 from neoaggelos/feat/external-keyring
external: support custom ceph keyring file
2023-07-18 11:19:25 -06:00
Angelos Kolaitis c021256e96 external: support custom ceph keyring file
When the ceph.conf is not in a well-known location, it is typical
for a custom ceph.keyring to be required as well. Currently, the
create-external-cluster-resources.py only tries to load the keyring
from well-known paths, and fails.

This commit adds a new optional argument `--keyring` to help in this
situation. When specified, create-external-cluster-resources.py will
attempt to use this as the keyring to authenticate with Ceph.

Signed-off-by: Angelos Kolaitis <neoaggelos@gmail.com>
2023-07-17 20:34:29 +03:00
Lucas Henry 393d09347e rgw: add option to disable synchronization traffic
Some users want to deploy two CephObjectStores for a single Zone. The first
configures RGWs to process the synchronization of the data, while the second
CephObjectStore configures the client RGWs.

Currently, this can be implemented by setting the RGW option
'rgw_run_sync_thread' in the 'rook-config-override' ConfigMap, though it is not
really user friendly.

Ref: https://docs.ceph.com/en/latest/radosgw/config-ref/#confval-rgw_run_sync_thread

This commit adds a new option in the CephObjectStore CRD as defined in issue
https://github.com/rook/rook/issues/12272. The new option
'disableMultisiteSyncTraffic' determine whether the operator should disable the
multisite sync threads for the RGWs.

If the option is set to 'false', or if the option is not specified, the operator
does nothing. This ensures that the multisite sync threads will not be enabled
for users that disabled explicitely the multisite sync threads either manually
or with the 'rook-config-override' ConfigMap.

This commit also recommends to use two objectstore when scaling Ceph Objectstore
Multisite replication, with one objectstore configured with disabled replication
traffic.

Signed-off-by: Lucas Henry <polyedre@disroot.org>
2023-07-17 09:27:20 +02:00
Blaine Gardner 647a4e3534 Merge pull request #12477 from parth-gr/subvolume-pinning-external
external: pin the default csi subvolume
2023-07-13 09:40:22 -06:00
parth-gr 53413e5a24 external: pin the default csi subvolume
set the csi subvolume to pin type distributed and pin setting 1
So to statically balance the PVs across all MDS ranks

Signed-off-by: parth-gr <paarora@redhat.com>
2023-07-12 20:32:27 +05:30
Javier 46cb9435a6 test: support Ceph Reef v18 with updated integration tests
update test files to support the next version of ceph, ceph reef v18

Signed-off-by: Javier <sjavierlopez@gmail.com>
2023-07-10 15:24:36 -06:00
Travis Nielsen 65f413ce1f Merge pull request #12286 from subhamkrai/fix-node-loss-rbd
core: faster recovery from rbd rwo node loss
2023-07-07 10:35:59 -06:00
subhamkrai 39b5c057ce core: faster recovery from rbd rwo node loss
in the existing node watcher, we'll check for node update
event and see if there are `out-of-service` taints are applied
and `ROOK_WATCH_FOR_NODE_FAILURE` is enabled in rook-ceph-operator-configmap,
if then we'll create the networkFence cr and delete the cr if nodes come back.
And, added the unit test too.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-07-07 21:16:25 +05:30
Travis Nielsen 18e2502a69 Merge pull request #12295 from subhamkrai/remve-default-scc
security: remove default scc privileges
2023-07-07 08:24:37 -06:00
subhamkrai 48f84b37e8 security: drop all capabilities to the container
adding drop `ALL` capabilities in rook operator container
as this is not required and will remove warning in ocp cluster.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-07-07 17:06:48 +05:30
Travis Nielsen 854bc7d980 Merge pull request #12143 from parth-gr/IPV6-external
external: add support for IPV6 ceph daemons
2023-07-06 15:39:05 -06:00
Rakshith R aa0aa34c23 csi: update csi sidecars' image version
Signed-off-by: Rakshith R <rar@redhat.com>
2023-07-06 16:18:35 +05:30
parth-gr de61187eb4 external: add support for IPV6 ceph daemons
updated some function which were strictly used for IPV4

Signed-off-by: parth-gr <paarora@redhat.com>
2023-07-05 17:13:06 +05:30
mysiki b5d0d80444 external: fix import-external-cluster.sh and documentation
fix import-external-cluster.sh in order to work with set -e bash directive, see issue https://github.com/rook/rook/issues/12412
fix documentation mispell in namespace word

Closes: https://github.com/rook/rook/issues/12412

Signed-off-by: mysiki <hoaxboy@wanadoo.fr>
2023-07-05 13:01:44 +02:00
Peter Goron 40eed236cf object: align spelling of user admin capabilities with ceph
users & buckets admin capabilities aren't spelled the same
way between rook crd (singular) and ceph (plural). It's a bit
misleading when comparing ceph admin cap and rook users.

Signed-off-by: Peter Goron <peter.goron@gmail.com>
2023-07-01 19:05:26 +02:00
Blaine Gardner d6475408d9 Merge pull request #12437 from sudharsanomprakash/patch-1
Multus Validation : Added verbs "deletecollection"
2023-06-29 09:46:27 -06:00
Travis Nielsen 58994fe922 Merge pull request #12418 from Jeansen/update_docu
Remove deprecated annotation
2023-06-29 08:38:25 -06:00
Sud 2547372527 multus: add deletecollection capability for validation tool
Without deletecollection capability the image pullers won't be deleted, causing multus validation to fail.
    Added deletecollection verbs to the daemonsets resource in role rook-ceph-system
    This is fix for Issue: https://github.com/rook/rook/issues/12435

    Signed-off-by: Sudharsan Omprakash <sudharsan.omprakash@yahoo.com>
2023-06-28 17:45:18 -04:00
Travis Nielsen c2517f47d0 Merge pull request #12417 from parth-gr/idempotent-external
external: make import script idempotent
2023-06-28 14:31:11 -06:00
Rakshith R fa1be14bca csi: update csiaddons k8s-sidecar to v0.7.0
This commit updates k8s-sidecar to v0.7.0
and all links now point to v0.7.0 tag.

Signed-off-by: Rakshith R <rar@redhat.com>
2023-06-28 20:38:29 +05:30
Rakshith R 1af70aca60 csi: update cephcsi to v3.9.0
This commit updates cephcsi image to
v3.9.0 release and also removes support
for v3.7.x.

refer:
https://github.com/ceph/ceph-csi/releases/tag/v3.8.0

Signed-off-by: Rakshith R <rar@redhat.com>
2023-06-28 20:38:29 +05:30
parth-gr 483c432b26 external: make import script idempotent
import script may be need a re-run if other
resources need to be configured
for ex: if rbd is configured and later on point
someone want to also configure rgw, it will have
a choice

Closes: https://github.com/rook/rook/issues/12412

Signed-off-by: parth-gr <paarora@redhat.com>
2023-06-28 19:09:42 +05:30
subhamkrai a2e3d30526 security: remove default scc privileges
with `requiredDropCapabilities: ["All"]` we can
drop all the default privileges and we can add the
privileges required `allowedCapabilities:` here.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-06-28 15:14:41 +05:30
Marcel Lautenbach 9d335ad814 docs: replace deprecated ingress.class annotation
Documentation and examples used a deprecated annotation to set the Ingress class name. This commit replaces it with the correct version using spec.ingressClassName .

Signed-off-by: Marcel Lautenbach <mlautenb@gmail.com>
2023-06-23 19:31:54 +02:00
travisn 557a3e06cc core: api updates for controller runtime v0.15
For the controller runtime v0.15 there are some breaking
changes to the api that need to be updated.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-06-22 10:33:28 -06:00
travisn 11d83bfbec pool: add .mgr pool to the stretch cluster examples
The stretch clusters must create pools with a pool spec
that is valid for the stretch scenario, with 4 replicas
and failure domain and sub failure domain as needed
to match the topology. Otherwise, ceph will create a
default .mgr pool which will have replica 3 which is
invalid for the stretch scenario.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-06-12 12:28:10 -06:00
Sachin Prabhu 8705f2b37e nfs: set correct kerberos domain in /etc/idmapd.conf
We add a new field domainName to the Kerberos section. The field is used
to setup /etc/idmapd.conf with the domain name. This allows idmapper to
map to kerberos credential to the correct uid/gid.

We add Spec.Security.Kerberos.DomainName to the CRD

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
2023-06-09 18:06:45 +01:00
Redouane Kachach 08754f6197 mgr: removing unnecessary rook-ceph-mgr rbac entries
These rbac changes were introduced as part of #11845 PR to enable
sidecar accessing mgr pods but in fact they are not necessary
as rook-ceph-mgr role had already the ability to update pods

Closes: https://github.com/rook/rook/issues/12336

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-06-06 22:12:23 +02:00
Travis Nielsen f6da90d539 Merge pull request #12264 from parth-gr/rgw-external-tls
external: fqdn should be persisted
2023-05-31 14:00:59 -06:00
parth-gr f66de7b9df external: fqdn should be persisted
1) donot change rgw fqdn to ip if provided,
As now the bucket class supports the
entry of fqdn

2) update crds with new description in EndpointAddress

Signed-off-by: parth-gr <paarora@redhat.com>
2023-05-31 17:36:29 +05:30
Travis Nielsen 6417ed4047 Merge pull request #12256 from thotz/add-missing-caps-object-user
object: add missing caps for object store user
2023-05-30 16:37:18 -06:00
Alexander Trost 178c916012 helm: add exporter resource entry to ceph cluster
This adds the new `exporter:` resource key to the Ceph cluster example
yaml. It also set some sane resource requests and limits for it in the
CephCluster section of the rook-ceph Helm chart.

Closes #11914

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2023-05-30 17:54:49 +02:00
Jiffin Tony Thottan ad0c000e6a object: add missing caps for object store user
Lot of new caps added to rgw users, reflecting same changes on the
object store user CRD.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2023-05-26 17:36:00 +05:30
travisn 754f073aa5 monitoring: service monitor should not use mgr_role label
The service monitor selectors need to match the mgr service labels.
Since the mgr service labels don't use the mgr_role (only the mgr
service selectors use the mgr_role), the mgr_role should be removed
from the service monitor.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-05-22 14:20:19 -06:00
parth-gr ec2681f82b external: fix rgw check if no multisite flag is passed
if there is no multisite config pass, it will still checks for
the zones and zones group and not able to query anything

Signed-off-by: parth-gr <paarora@redhat.com>
2023-05-16 20:10:29 +05:30
Travis Nielsen 27504b0a25 Merge pull request #12190 from parth-gr/doc-update-rulenamespace
docs: update ruleNamesapce to rulesNamespaceOverride
2023-05-11 11:02:22 -06:00
parth-gr 060bd00281 docs: update ruleNamesapce to rulesNamespaceOverride
there were some places where rulenamesapce was present updated to rulesNamespaceOverride

Closes: rook#12163
Signed-off-by: parth-gr <paarora@redhat.com>
2023-05-11 17:26:04 +05:30
travisn 92a0ab37e3 monitoring: configurable option to disable prometheus metrics
The prometheus mgr module and ceph exporter can now be optionally
disabled by the monitoring.metricsDisabled setting in the
CephCluster CR. These will not be disabled by default, rather
than the mgr module being disabled by default from v1.11.4.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-05-05 16:04:51 -06:00
parth-grandSergio Pérez Fernández c50c308abe external: fix rgw multisite config check
the check validate_rgw_multisite was always checking for realm
updated it to check the specific config

fixed validate_rgw_endpoint pool validation

added missing realm zonegroup and zone while interacting with user resources

Co-authored-by: Sergio Pérez Fernández <sergioperez794@gmail.com>
Signed-off-by: parth-gr <paarora@redhat.com>
2023-05-05 00:56:18 +05:30
Blaine Gardner 6500c11d57 nfs: pare down config file volume sources
Pare down the available volume sources for NFS config files so that the
CRD isn't unnecessarily huge. This allows us to recommend
`kubectl apply` again in the upgrade doc.

Size of the NFS CRD is reduced by approximately 60%.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2023-05-02 11:34:24 -06:00
subhamkrai ad068d966a core: update k8s module to lastet version
updating k8s dependencies like clien-go and
others to v0.26.4

Signed-off-by: subhamkrai <srai@redhat.com>
2023-05-02 22:06:21 +05:30
Travis Nielsen 46e6b7366a Merge pull request #12132 from parth-gr/dotpool-update
external: check for pool and cluster name is provided
2023-04-25 08:02:14 -06:00
parth-gr e02942ab77 external: check for pool and cluster name is provided
While adding the support for dot and special rbd pools
the check for pool and cluster name check was removed,
Adding it back as it is needed
https://github.com/rook/rook/pull/12056

Signed-off-by: parth-gr <paarora@redhat.com>
2023-04-25 18:48:27 +05:30
travisn db04b127b0 core: remove obsolete journal size config value
The journal size was only applicable to the filestore OSD
format which has not been supported by rook since v1.2.
Remove the remaining obsolete setting from the examples and
code.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-04-24 15:54:53 -06:00