25 Commits
Author SHA1 Message Date
subhamkrai 4eefad42e8 csi: move csi management to admin
Going forward, admin will manage the csi operator
CR's and rook will only manage Ceph Connection cr
and client Profile cr.

The old csi driver is completely removed from Rook
and can no longer be used starting in Rook v1.20.

The upgrade guide will contain the needed transition steps
for managing the csi operator settings.

Signed-off-by: subhamkrai <srai@redhat.com>
2026-04-29 14:24:26 -06:00
Elias Carter 3ed0d928b8 test: fix create-dev-cluster.sh hanging since v1.18
Currently create-dev-cluster.sh will hang as the rook operator gets stuck like so:
```
2025-09-08 20:29:58.093909 E | ceph-cluster-controller: failed to reconcile CephCluster "rook-ceph/my-cluster". failed to reconcile cluster "my-cluster": failed to configure local ceph cluster: failed to create cluster: failed to start ceph monitors: failed to initialize ceph cluster info: failed to save mons: failed to create/update cephConnection: failed to get ceph connection CR: no matches for kind "CephConnection" in version "csi.ceph.io/v1"
```

Reconciling the mons is blocked until the new CephConnection CRD is available, and that CRD is new as of v1.18.

The simple fix is to simply install those CRDs in create-dev-cluster.sh. After doing this, the dev cluster bootstraps fine.

Signed-off-by: Elias Carter <elias@dropbox.com>
2025-09-08 13:36:22 -07:00
Michael Adam 849e9a48cb test: use the qemu2 minikube driver on Linyx for create-dev-cluster
The create-dev-cluster script used the kvm2 minikube driver on Linux.

On newer Linux flavors like Fedora 41+, the kvm2 driver can have problems
and the qemu2 driver is recommended.

This changes the script to use the qemu2 driver for  Linux

Signed-off-by: Michael Adam <obnox@samba.org>
2025-07-01 19:35:29 +02:00
Oded Viner 5d143d990c test: update Prometheus Operator to v0.82.0
this PR updates the Prometheus Operator URL references from
version v0.71.1 to the latest release v0.81.0 in documentation
and integration test scripts. This ensures we are aligned with
the latest features and improvements from
the Prometheus Operator project.

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-04-22 15:37:56 +03:00
ee8bcad49d rgw: add support for keystone auth + swift/s3
For the specification see:
<https://github.com/rook/rook/blob/master/design/ceph/object/swift-and-keystone-integration.md>

* extend the API object specs for swift and keystone integration

* adapt rgw to the new go-ceph version

  - The parameter lists of the API call have changes, as parameters
    ignored by the RGW Admin Ops API are no longer serialized, therefore
    the mock has to be adapted.

  - There is now validation for the user keys that are passed to the
    User get API, therefore things failed when we had empty keys in our
    User proxy object.

* expand the reconcile loop for the swift and keystone integration

* fix minor mistakes in design document

* add env var to pass extra args to minikube

  Minikube decides CPU cores and memory automatically based on the
  available resources on the machine which may be insufficient to
  run rook. This commit adds an environment variable to add arbitrary
  arguments to the minikube command, so both can be specified if
  desired.

* integration tests for swift and keystone

  The new integration of swift or s3 and keystone support by rook
  does not have any integration tests yet.

  This commit introduces integration tests for swift and keystone. The
  tests are done against a minimal keystone setup (keystone container
  image from Yaook-project (https://yaook.cloud), sqlite as database
  backend, cert-manager and trust-manager for test certificate setup).

  To prevent hardcoded credentials, passwords are generated
  by the tests. The integration tests use the openstack client
  (keystone- and swift-functionality) (https://docs.openstack.org/
  python-openstackclient/ latest/). This was a concious design decision
  to use client tooling as close as possible to the end user instead of
  using other go-libraries (such as gophercloud).

* add documentation on swift and keystone

  Currently there is no documentation on the use of Swift to access
  an object store as well as the use of OpenStack keystone for
  authentication.

  This commit adds documentation on the use of Swift and OpenStack
  keystone, as well as CRD-related documentation and an example setup.

* add integration tests for S3 via keystone

  This commit introduces integration tests for s3 and keystone. The
  tests are run against the same minimal keystone setup that the tests
  for swift and keystone use.

  The integration tests use the aws s3 client to use client tooling as
  close as possible to the end user instead of using other go-libraries.

Co-authored-by: Jan Klippel <jan.klippel@uhurutec.com>
Co-authored-by: Silvio Ankermann <silvio.ankermann@cloudandheat.com>
Signed-off-by: Sebastian Riese <sebastian.riese@cloudandheat.com>
Signed-off-by: Jan Klippel <jan.klippel@uhurutec.com>
Signed-off-by: Silvio Ankermann <silvio.ankermann@cloudandheat.com>
2024-08-08 14:26:21 +02:00
Sunnatillo 3ad456c6a2 build: uplift prometheus operator version to v0.71.1
This commit uplifts prometheus operator version to v0.71.1.

Signed-off-by: Sunnatillo <sunnat.samadov@est.tech>
2024-02-27 20:00:25 +02:00
Madhu Rajanna c35a8532aa csi: option to customize csi driver name prefix
For now we are using the operator namespace name
as the prefix for the csi driver, This PR provides
an option for the users if someone wants to have
their own prefix for the csi driver, if someone tries
to change the prefix for existing csi driver rook
operator will fail to reconcile the csi driver.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-01-29 10:54:25 +01:00
Redouane Kachach 605710ee0f test: adding new variables for minikube parameters configuration
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2024-01-24 13:39:45 +01:00
Redouane Kachach f9ffa872d6 test: fixing examples directory path
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2024-01-12 11:52:40 +01:00
Redouane Kachach ddd852d767 test: improving the handling of arguments within the script
so far all the arguments were being handled as separate getopts
flags introducing a lot of boilerplate code for every new flag.
The new approach improves the arguments handling by using env
variables.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2024-01-12 11:47:37 +01:00
Redouane Kachach e122c01708 test: fixing namespace to get dashboard endpoint
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-30 17:29:34 +01:00
Redouane Kachach 1d5b49eff6 test: adding a new option -i to specify which cluster spec file
at this moment we have two different cluster spec files for testing
cluster-test.yaml and cluster-on-pvc-minikube.yaml. With the new
option user can choose which one to use to bootstrap the cluster

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-30 17:27:36 +01:00
Redouane Kachach f576742775 test: moving parameters default to init_vars function
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-30 17:27:36 +01:00
Redouane Kachach b02a2147bc test: improve examples directory checking
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-30 17:27:35 +01:00
Redouane Kachach b739f29bc8 test: fix how we obtain the dashboard endpoint
current code gets the ip:port for the dashboard by using
the ip of the mgr pods. This works great when there's only
one mgr but it fails in case of a multi-node cluster

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-30 11:26:48 +01:00
Redouane Kachach 734d105790 test: applying adding rbac.yaml when enabling monitoring
applying adding rbac.yaml when enabling monitoring to avoid
permission issues when accessing servicemonitors

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-23 16:38:12 +01:00
Redouane Kachach f60cdde460 test: increasing rook-ceph-tools deployment timeout to 90s
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-23 16:37:01 +01:00
Redouane Kachach f93532a8e4 test: adding support to specify the operator and cluster namepaces
adding support to specify operator and cluster namespaces through new
command-line arguments: -c for cluster and -o for operator. The script
will automatically update the namespace in the corresponding YAML files

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-23 13:48:06 +01:00
Michael Adam 82c329c6af tests: create-dev-cluster: unify handling of invocation errors
This change to the create-dev-cluster script is intended to make the
handling of invalid invocations more uniform
examples are unknown options and options requiring an argument specified
without one.

The unification is achieved by encapsulating the corresponding code in a
function.

Signed-off-by: Michael Adam <obnox@samba.org>
2023-11-13 19:19:52 +01:00
Redouane Kachach b9501bdddb test: adding support for multi-rook clusters creation
This change introduce a new argument -p to specify the minikube
profile for the new cluster. This way we can have multiple rook
clusters running on the same machine.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-08 13:29:46 +01:00
Redouane Kachach 1d0fb2f5a1 test: adding a new variable for minikube command and its args
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-07 12:54:36 +01:00
Redouane Kachach 66f48e3777 test: using minikube profiles for rook cluster creation
Let's use the minikube profiles feature to set up a unique profile
exclusively for the Rook cluster. By doing this, we make sure that we
don't run into any issues with other minikube profiles that users
might already have in their local setup.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-07 00:55:38 +01:00
Michael Adam f6068159af tests: improve create-dev-cluster script to find examples dir
The new create-dev-cluster script errored out for me, not finding the
deploy/examples directory.

This change fixes that problem by making the path relative to the
script's directory, so that it works in a rook code tree from where it
is expected to be run.

Signed-off-by: Michael Adam <obnox@samba.org>
2023-11-06 18:28:05 +01:00
Redouane Kachach 5c7951f92b test: adding support for monitoring in dev-create-cluster script
Adding a new '-m' option for activating monitoring during
cluster setup. With this option turned on, the script will handle the
installation of the monitoring stack and configure the dashboard to
connect to the newly installed Prometheus server automatically.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-03 15:14:21 +01:00
Redouane Kachach 73b7e649d7 test: adding a script to simplify test cluster creation
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-10-30 16:48:49 +01:00