Commit Graph
839 Commits
Author SHA1 Message Date
Artem Torubarov 3712566c9b rgw: pool placement
Signed-off-by: Artem Torubarov <torubarov.a.a@gmail.com>
(cherry picked from commit 59175f0b40)
2024-10-29 08:37:58 -06:00
Blaine Gardner c781db7c03 object: also use system certs for validating RGW cert
When generating the HTTP client used for RGW admin ops, use both system
certs as well as the user-given cert.

As a real world example, admins may use ACME to rotate Letsencrypt certs
every 2 months. For an external CephObjectStore, the cert used by Rook
and RGW may not be rotated at the same time. This can cause the Rook
operator to fail CephObjectStore reconciliation until both certs agree.

When Rook also relies on system certs in the container, Rook's
reconciliation will not have reconciliation failures because
Letsencrypt's well-known and trusted root certificates can be loaded
from the system to validate the RGW's newly-rotated cert.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 7bb72a0171)
2024-10-25 17:59:00 +00:00
Niraj Yadav bef1e160e3 Revert "docs: add documentation for rbd volumegroupsnapshot"
This reverts commit 524b6071d2.

Signed-off-by: Niraj Yadav <niryadav@redhat.com>
(cherry picked from commit b040a02336)
2024-10-23 07:52:25 +00:00
Madhu Rajanna 3a020c66e5 csi: fix typo in image version
add missing `v` in the cephcsi
image version

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 55441ee408)
2024-10-21 10:28:13 +00:00
Travis Nielsen e0edea90a1 build: set the release version to v1.15.4
For the patch release update the docs and examples
to v1.15.4

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-10-17 14:14:49 -06:00
Niraj Yadav 0e720ff47a docs: add documentation for rbd volumegroupsnapshot
This PR adds the sample YAMLs and documentation
for the RBD VolumeGroupSnapshot.

Signed-off-by: Niraj Yadav <niryadav@redhat.com>
(cherry picked from commit 524b6071d2)
2024-10-15 13:50:54 +00:00
Travis Nielsen 050a5dbfda build: set the release version to v1.15.3
For the patch release update the docs and manifests
to v1.15.3

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-10-03 14:34:04 -06:00
Joshua Hoblitt 8ed15f773c rgw: change CephObjectZone.spec.{dataPool,metadataPool} to optional
These fields must be optional in order to allow usage of pre-existing
pools managed by CephBlockPool CR(s).

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 76fa776795)
2024-10-03 19:50:06 +00:00
Joshua Hoblitt 33b345f0a5 test: add object-with-cephblockpool canary test
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit ed8156017e)
2024-10-03 17:51:31 +00:00
Travis Nielsen 38d3d28dd9 helm: add enforce host network setting
The ROOK_ENFORCE_HOST_NETWORK option was implemented recently
and now we add the helm setting to expose this new setting
in the rook chart.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 810de394e7)
2024-10-02 22:04:58 +00:00
Michael Adam 1cb843acab helm: add revisionHistoryLimit setting
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 20f0031280)
2024-10-02 20:11:54 +00:00
Michael Adam d60966a626 core: add ROOK_REVISION_HISTORY_LIMIT operator setting
This adds an operator config setting ROOK_REVISION_HISTORY_LIMIT
defaulting to kubernetes'value for RevisionHistoryLimit.

If configured, the provided value will be used as RevisionHistoryLimit

for all Deployments rook creates.

Fixes: #12722

Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit ab8fd90aa6)
2024-10-02 20:11:54 +00:00
subhamkrai 690a4a629a external: mds caps to healthchecker/cephfs users
for cephfs fencing in external mode, we run command `ceph tell mds ***`
which requires user user to include cap mds allow * in permission. So,
we need to add this in healthchercker and cephfs provisioner user

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 32c5d99ef5)
2024-09-20 06:12:53 +00:00
Travis Nielsen d8f8ec9d43 build: update the release version to v1.15.2
For the patch release update the docs and examples
to v1.15.2

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-09-19 13:06:50 -06:00
Artem Torubarov 362cf539eb exporter: move config to cluster CRD
allows to set prio-limit and stats-period options to ceph exporter

Signed-off-by: Artem Torubarov <artem.torubarov@clyso.com>
(cherry picked from commit b2c39ace25)
2024-09-18 20:16:36 +00:00
Niraj Yadav e622c52f3f docs: add documentation for volumegroupsnapshot
This PR adds the sample YAMLs and documentation
for the VolumeGroupSnapshot feature.

Signed-off-by: Niraj Yadav <niryadav@redhat.com>
(cherry picked from commit 1e3d08f114)
2024-09-18 19:47:24 +00:00
Alexander Trost 7ac0716fe6 docs: add grafana dashboards files to docs
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
(cherry picked from commit 36f6807fbe)
2024-09-12 16:44:34 +00:00
Madhu Rajanna 5f2be2e52c csi: update to new cephcsi release
we have 3.12.2 as the new cephcsi release
updating the rook to use the same.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit d041be4bcf)
2024-09-06 14:52:00 +00:00
Travis Nielsen 2a1c5e0d2c build: update release version to v1.15.1
For the patch release update the docs and manifests
to v1.15.1

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-09-04 13:57:32 -06:00
Madhu Rajanna 21daa24046 csi: update csi-addons to v0.9.1
updating csi-addons to latest
v0.9.1 release.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 05d579b607)
2024-09-03 18:15:40 +00:00
rene 04f3eae0fd helm: reorder volumes in rook-ceph-csi scc for argocd diff to show no changes
Signed-off-by: rene <rene.raab@gmx.net>
Co-authored-by Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 746ef30b09)
2024-08-30 20:23:54 +00:00
Blaine Gardner ad5b332e77 rgw: allow users to add custom volume mounts
Allow RGW users to mount arbitrary volumes to RGW pods. This follows the
pattern that was established for NFS to support SSSD and LDAP, and
reuses much of the same code.

This opens the door wider for advanced users to take advantage of some
Ceph RGW features that Rook doesn't have first class support for.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit eea43b7b79)
2024-08-28 22:51:16 +00:00
parth-gr 388975cfa4 external: remove the false bool values from config file
currently we created a new config file or user creation,
Which was have the user config.

We were also appending the script deafult values to the config file
With that all the boolean values were appended to the config.ini file

v2-port-enable = False
....

But the config.ini treat all the bolean values as true, irrespective of they
are set to, it is  because the boolean cli flag doesnt accept the argument

So now removed all the false values from the config.ini

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit d2f8ce4c47)
2024-08-21 19:18:44 +00:00
subhamkrai 1d5977b693 csi: use specific tag instead of latest image
when I was pusing the new changes in older pr I missed
updating the latest tag to v0.1.0 in csi-operator.yaml
file. Updating now.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 838f583c66)
2024-08-21 05:35:11 +00:00
Travis Nielsen 4c2a3411f5 build: update the release version to v1.15.0
For the minor release update the documentation and manifests
to v1.15.0

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-08-20 13:58:58 -06:00
Travis Nielsen 60faae1e73 Merge pull request #14608 from rook/mergify/bp/release-1.15/pr-14550
manifest: add registry name to docker images (backport #14550)
2024-08-20 12:53:28 -06:00
Travis Nielsen 1016b0ecfc Merge pull request #14610 from rook/mergify/bp/release-1.15/pr-14598
core: add configuration option for metrics bindAddress (backport #14598)
2024-08-20 12:52:20 -06:00
Zuhair AlSader e76d60dd25 manifest: add registry name to docker images
Signed-off-by: Zuhair AlSader <zuhair@devzero.io>
(cherry picked from commit 6714b86d3b)
2024-08-20 12:20:05 -06:00
parth-gr dd1e1a6120 osd: reweight osd while resizing
osd got resized by cryptsetup bluestore cmd
but it should also be reweight to balance the pgs properly

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

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 17cfda5bd6)
2024-08-20 18:15:26 +00:00
Justin Cichra 8a0eadaa39 core: add configuration option for metrics bindAddress
Alerting on controller-runtime's workqueue_depth can be useful for
debugging controllers. Also having a prometheus target for a pod gives
another data point that the system is working as expected. It is useful
for uptime alerts.

Make the bind address configurable via the configmap while still retaining the default
behavior that it is disabled.

Resolves: #14538

Signed-off-by: Justin Cichra <jcichra@cloudflare.com>
(cherry picked from commit 74a79b24b3)
2024-08-20 18:15:21 +00:00
Travis Nielsen 1283f1d132 Merge pull request #14605 from rook/mergify/bp/release-1.15/pr-14357
csi: update csi sidecars' image version (backport #14357)
2024-08-20 12:11:53 -06:00
mergify[bot] 8ca25e9c74 Merge pull request #14606 from rook/mergify/bp/release-1.15/pr-14599
csi: update csi-operator to use latest tag v0.1 (backport #14599)
2024-08-20 17:57:29 +00:00
Praveen M af583add13 csi: add csinodes rbac rule for cephfs provisioner
Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 1efe3b6ee9)
2024-08-20 11:38:25 -06:00
subhamkrai 4f96664ba0 build: changes forced by latest controller-runtime
this commit contains changes that are forced by latest
controller-runtime version v0.19.0.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 2556e14780)
2024-08-20 17:28:15 +00:00
subhamkrai 4dca62d0ea csi: update csi-operator to use latest tag v0.1
updating csi-operator version in go.mod and csi-operator.yaml
to use latest release v0.1. And also fixing one small bug
where csi-driver log level was set in csi-operator log level.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 89e9077e72)
2024-08-20 17:28:14 +00:00
Praveen M cf42f35f12 csi: update csi sidecars' image version
Below csi sidecars are updated with latest available versions

csi-resizer: v1.11.1
csi-provisioner: v5.0.1
csi-attacher: v4.6.1
csi-snapshotter: v8.0.1
csi-node-driver-registrar: v2.11.1

Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit a1ddf4535d)

# Conflicts:
#	deploy/examples/images.txt
2024-08-20 17:22:10 +00:00
ShravaniVangur b8db2e6e81 csi: storageclass update to gp2-csi
Updating storageClassName for cluster-on-pvc.yaml file from gp2 to gp2-csi.

Signed-off-by: ShravaniVangur <shravanivangur@gmail.com>
(cherry picked from commit 9656d1963a)
2024-08-20 13:34:16 +00:00
Travis Nielsen 6d4837c4cb core: add annotations and labels to detect version jobs
The jobs to detect the ceph and csi versions now can have
custom annotationso and labels added to them. They are
very short-lived jobs, but they may need custom annotations
in some environments to run.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 5014d5bcf2)
2024-08-16 16:04:59 +00:00
Madhu Rajanna 9e64a840aa csi: update cephcsi to 3.12.0
updating cephcsi image to 3.12.0
release.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 7c7e8a2b32)
2024-08-16 08:43:34 -06:00
Madhu Rajanna 9e98ae6512 csi: update csi-addons to v0.9.0
As we have new csi-addons v0.9.0
updating the same here as well.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 123025f22c)

# Conflicts:
#	go.sum
2024-08-16 14:36:41 +00:00
subhamkrai 194b3403e7 csi: add csi-operator rbac, crds files
adding the CSI-operator manifest files
inside rook repo naming deploy/examples/csi-operator-manifests.yaml.

Also, let's skip running any lint check on file `deploy/examples/csi-operator.yaml` as this is owned by CSI-operator.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit c30b8a527b)
2024-08-15 16:45:05 -06:00
subhamkrai 26d44d6415 csi: add csi-operator operator config cr
Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 1ad20d07e7)
2024-08-15 16:45:05 -06:00
subhamkrai ae5c3f85ec csi: add new CSI-operator config CR
adding changes to create CSI-operator config CR based on
every radosnamesapce and subvolumegroup.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 667e044013)
2024-08-15 16:45:05 -06:00
subhamkrai dcff7aead5 csi: add code for new CSI operator CR cephcluster
adding code changes,rbac changes required for create the new
Ceph-CSI operator CR named cephCluster in api group 'csi.ceph.io'.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 4b0b3a55d9)
2024-08-15 16:44:53 -06:00
Sebastian Riese 85949049a3 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>
(cherry picked from commit ee8bcad49d)
2024-08-08 15:56:28 +00:00
Rakshith R bb477ac18d csi: add pvc & pod yamls for block volume mode
This commit adds example yamls for block
volume mode.

Signed-off-by: Rakshith R <rar@redhat.com>
(cherry picked from commit 53e2f8c67f)
2024-08-07 13:28:03 +00:00
Blaine Gardner ae00f2f811 object: add hosting.advertiseEndpoint config
Add CephObjectStore spec.hosting.advertiseEndpoint configuration. This
provides a clear documented default for which endpoint Rook "advertises"
to dependent resources like CephObjectStores, OBCs, and COSI
Buckets/Accesses and allows users to override the default behavior if
desired.

The current default is to round-robin an endpoint from
spec.hosting.dnsNames, which has proven to be troublesome for some
users' object store configurations. This change provides much-needed
disambiguation for users.

This may be a breaking change for some existing spec.hosting.dnsNames
users. This is unexpected but is documented.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit a2b0b6449c)
2024-07-31 22:18:07 +00:00
Travis Nielsen 9720aaed56 build: set the release version to v1.15.0-beta.0
For the new 1.15 branch and first test release, update the docs
and manifests to v1.15.0-beta.0

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-07-31 12:32:40 -06:00
Travis Nielsen d91b8073c5 Merge pull request #14488 from sp98/set-min-compat-client-to-reef
core: set min-compat-client to reef for upmap-read
2024-07-29 11:28:29 -06:00
sp98 ee5e710912 core: set min-compat-client to reef for upmap-read
If upmap-read balancer mode is required, then set
min-compat-client to reef

Signed-off-by: sp98 <sapillai@redhat.com>
2024-07-29 22:03:37 +05:30