Commit Graph
4118 Commits
Author SHA1 Message Date
subhamkrai 0113cc85c5 core: remove ownerRef from networkFence
since networkFence is a cluster-based resource so that we don't need
the namespace and ownerReferences as it cause garbage-collector errors.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 2ac418a3b2)
2024-02-08 18:27:28 +00:00
Satoru Takeuchi 0c3de73bdb osd: correct counting the devices when metadataDevice is set
The validation logic of checking the number of devices is
wrong when `metadataDevice` is set and `osdsPerDevice` > 1.
`len(cvReports)` is the expected number of OSDs and is
the number of specified data devices multiplied
by `osdsPerDevice`.

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

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
(cherry picked from commit 753bbfe1c4)
2024-02-08 00:04:02 +00:00
Ryotaro Banno f4291a3e0a core: set blocking PDB even if no unhealthy PGs appear
When `managePodBudgets` is enabled, the Rook operator sets a blocking
PDB by considering the failure domains of the OSDs. This functionality
is implemented by `reconcilePDBsForOSDs`, and it sets the PDB only after
unhealthy PGs appear. However, there are no unhealthy PGs when an OSD
with no PGs becomes down. In this case, the PDB is never enabled.

This PR makes the operator configure the blocking PDB without waiting
for the unhealthy PGs to appear. This PR solves the above problem
because the blocking PDB is always enabled when a down OSD is detected.

Signed-off-by: Ryotaro Banno <ryotaro.banno@gmail.com>
(cherry picked from commit 6def9c8e30)
2024-02-06 18:47:17 +00:00
mergify[bot] 9221e5910c Merge pull request #13688 from rook/mergify/bp/release-1.13/pr-13615
csi: update network fence CR name (backport #13615)
2024-02-06 18:34:27 +00:00
Travis Nielsen 73e2fdb34f Merge pull request #13682 from rook/mergify/bp/release-1.13/pr-13652
core: Skip reconcile if override configmap is empty (backport #13652)
2024-02-06 11:34:12 -07:00
travisn 285d5fcabf core: skip reconcile if override configmap is empty
If the configmap rook-config-override is empty,
there is no need to trigger the reconcile to update
the ceph daemons. This configmap update is causing
unnecessary reconciles periodically in some clusters
even when it is empty.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 0240ee8563)
2024-02-06 17:49:26 +00:00
Riya Singhal 49aa21c93c csi: update network fence CR name
this commit updates the name of network fence CR to
node name + driver name, which will allow the creation of
multiple network fence per drivers on the same node, and
modifies the unit test and deletion procedure for the
same.

Signed-off-by: Riya Singhal <rsinghal@redhat.com>
(cherry picked from commit c2e3cf367c)
2024-02-06 17:48:53 +00:00
Jiffin Tony Thottan fb9befd501 object: add check specific to name and namespace for ceph cosi driver
The name for cephcosi driver should be ceph-cosi-driver and namespace
should same as the rook operator. Otherwise request need to be failed.

Fixes: #13025
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
(cherry picked from commit 5b5e1c0292)
2024-02-06 17:48:34 +00:00
Travis Nielsen 2b876080ec Merge pull request #13668 from rook/mergify/bp/release-1.13/pr-13653
exporter: Don't delete exporter service on daemon deletion (backport #13653)
2024-02-01 10:17:05 -07:00
Praveen M e596f31cf0 csi: fix NetNamespaceFilePath generation
Corrected the NetNamespaceFilePath generation in the
subvolumegroup & radosnamespace controller by replacing
the cephCluster.Name with cephCluster.Namespace.

Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 67ff924b57)
2024-02-01 16:33:34 +00:00
travisn af513df7c4 exporter: dont delete exporter service on daemon deletion
The exporter service and service monitor should not
be deleted if an individual daemon is being removed
from a node. As long as the exporter is enabled with
v18 and newer, the exporter service and service monitor
should exist. Clusters were seeing their metrics stop
collection when the exporter service and service monitor
would disappear, especially when multiple clusters are
configured.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit a1fc70f2fc)
2024-02-01 16:31:54 +00:00
Travis Nielsen dd7e6e4b81 Merge pull request #13640 from rook/mergify/bp/release-1.13/pr-13622
csi: option to customize csi driver name prefix (backport #13622)
2024-01-31 16:38:07 -07:00
Redouane Kachach 64e01267c6 mgr: use the ac-user-set-password cmd to update the password
previous code was calling the following command to create the
dashboard user:
> ceph dashboard ac-user-create <username> -i <password-file>
this works the first time when the user doesn't exist, however subsequent
calls for example when the password has changed or when the secret was
deleted from k8s, will not take place as this command will succeeded
because the user already exists but the password is not updated in
this case. The fix consists in adding an explicit call to the command:
> ceph dashboard ac-user-set-password <username> -i <password-file>
which ensures the password is updated correctly in the access control db

Fixes: https://github.com/rook/rook/issues/13594

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit cb028f3a28)
2024-01-31 15:48:00 +00:00
parth-gr 2cc5682a35 object: fix the deafult multisite zonegroup creation
there was a bug in the code which doesn't
sets realm if we try to get the zonegoup
so because of that 1.12 this backport pr
for original change was not working

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit a9c77280c6)
2024-01-31 14:57:45 +00:00
Jiffin Tony Thottan 7b8a63817a object: watch updates for cosidriver crd
The changes made to cosi driver are reflected. Add the cosidriver crd to
predicate workflow.

Fixes: #12545
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
(cherry picked from commit 3da2331fa3)
2024-01-30 16:07:18 +00:00
Madhu Rajanna 61bab8d17a 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>
(cherry picked from commit c35a8532aa)
2024-01-29 11:27:10 -07:00
Redouane Kachach 32ba155566 mgr: adding logic to keep retrying in case mgr config delete fails
we dont set removeMgrDaemonConfiguration to true unless all the
delete operations went successfull.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit 39c06d2fa5)
2024-01-26 01:52:12 +00:00
Redouane Kachach 5baaf2da46 mgr: fixing dashboard configuration handling
previously, the dashboard parameters supported by Rook were stored in the
daemon configuration section (mgr.X, for example). This differs from
Cephadm-based deployments, where all configurations are stored in the
global mgr configuration section. This variance could result in
configuration mismatches between the active and standby dashboards.
Furthermore, all Ceph dashboard documentation exclusively points to
the global mgr configuration section and makes no use of individual
daemons sections.

Fixes: https://github.com/rook/rook/issues/13577

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit 57e3937d40)
2024-01-26 01:52:12 +00:00
sp98 d57584ed1a osd: wait for the pgs to be clean
If migration of the OSDs is enabled, operator should wait
for the pgs to be clean after the all the OSDs have reconciled.
This will help add the exponential backoff for the operator
restarts when OSD migration is needed but PGs are still rebalancing the
data after last OSD migration.

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit 43d3bf147a)
2024-01-23 00:42:50 +00:00
travisn 1b171ee34b exporter: skip reconcile on exporter deletion
The exporter pod is ephemeral and frequently being deleted
and re-created when ceph daemons are created. Therefore,
we need to skip reconciling based on the deletion
of the exporter deployment.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 995a64fb3a)
2024-01-22 16:39:38 +00:00
mergify[bot] 9e95479384 Merge pull request #13587 from rook/mergify/bp/release-1.13/pr-13573
csi: make leader election flags configurable (backport #13573)
2024-01-18 19:34:49 +00:00
Madhu Rajanna d4dcecea65 csi: make leader election flags configurable
This commit adds the flexibility to configure
leader election flags as per the user
requirement and also keeps the existing values
as the default one.

resolve: #13475

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 9b418d24a1)
2024-01-18 18:56:20 +00:00
Madhu Rajanna 50d5d1ccd5 csi: update csi provisioner to 3.6.3
updating csi provisioner to 3.6.3 to
as we have a bug in 3.6.2

resolves: #13475

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 85b86efee1)
2024-01-17 19:47:12 +00:00
Praveen M d568fb75aa csi: update cmdline args as used by ceph-csi
This commit adds cmdline args to enable
1. RecoverVolumeExpansionFailure
2. PreventVolumeModeConversion
3. HonorPVReclaimPolicy

Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit a80396df1b)
2024-01-16 19:30:36 +00:00
travisn 3c6d13996e mds: increase max limit of mds active daemons
The mds max daemons had been set arbitrarily to 10.
Allow more mds daemons for clusters that have a
scenario for large numbers of mds to manage the
filesystem metadata.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 98816ad79f)
2024-01-11 20:13:19 +00:00
Satoru Takeuchi 4505a4f8e4 core: core: fix error handling on setting watcher
If `cmClient.Watch()` failed, `watcher.Stop()` causes null pointer
dereference.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
(cherry picked from commit b1a81509a5)
2024-01-09 13:19:00 +00:00
sp98 1b09e3678f osd: create config before migration osd
create the ceph config and keyring file in the osd prepare pod
before starting the OSD migration. These files are needed to
run any ceph command.

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit 94953f3f7b)
2024-01-08 14:55:01 +00:00
Blaine Gardner fdf9c6f2f1 multus: use nginx-unprivileged image from quay
Use Quay as the source for the nginx-unprivileged image used for the
Multus validation tool because Quay does not rate limit image pulls,
which are a common complaint for users of the tool.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit cd253d0218)
2024-01-05 15:05:18 +00:00
travisn 0c4daa788e docs: update all examples to ceph v18.2.1
Since v18.2.1 is the default recommendation for the ceph version,
update all the docs and examples to that version.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 56a3370d83)
2024-01-04 16:10:42 +00:00
Travis Nielsen c3244677ca Merge pull request #13448 from rook/mergify/bp/release-1.13/pr-13348
csi: implement network fencing for cephFS (backport #13348)
2023-12-19 14:07:00 -07:00
Riya Singhal 8d6ded42c3 csi: implement network fencing for cephFS
Signed-off-by: Riya Singhal <rsinghal@redhat.com>
(cherry picked from commit 9202e20829)
2023-12-19 19:23:27 +00:00
Riya Singhal 8cdf1e6da3 csi: update default cephcsi version to 3.10.1
This commit updates default cephcsi driver version
to v3.10.1

Signed-off-by: Riya Singhal <rsinghal@redhat.com>
(cherry picked from commit ef1ee6ebae)
2023-12-19 19:22:28 +00:00
Travis Nielsen dbf9e6843d Merge pull request #13444 from rook/mergify/bp/release-1.13/pr-13411
csi: update the CSI-Addons sidecar to v0.8.0 (backport #13411)
2023-12-19 10:56:52 -07:00
Travis Nielsen 2c01bc41e0 Merge pull request #13426 from rook/mergify/bp/release-1.13/pr-12369
mon: allow changing hostNetwork settings (backport #12369)
2023-12-19 10:53:35 -07:00
Praveen M b6029e2c65 csi: remove gRPC metrics service
This commit removes the gRPC metrics svc which was missed in PR #13166.

Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 17c9a069bd)
2023-12-19 17:13:12 +00:00
Niels de Vos e1b90b64b7 csi: update the CSI-Addons sidecar to v0.8.0
Quite some improvements have been included in the recently released
v0.8.0 of the CSI-Addons sidecar for Kubernetes. Rook users will benefit
from running the latest version of the sidecar when deploying Ceph-CSI.

See-also: https://github.com/csi-addons/kubernetes-csi-addons/releases/tag/v0.8.0
Signed-off-by: Niels de Vos <ndevos@ibm.com>
(cherry picked from commit 1ca1257c65)
2023-12-19 15:40:13 +00:00
sp98 1aaf42146a mon: allow changing hostNetwork settings
Allow changing spec.network.hostNetwork settings on a running cluster
by failing over the mons

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit 42ea2897cf)
2023-12-18 15:55:26 +00:00
Travis Nielsen 4a8aa5dea3 Merge pull request #13379 from rook/mergify/bp/release-1.13/pr-13360
mon: fix mon failover on path change (backport #13360)
2023-12-12 13:30:41 -07:00
sp98 d52312a738 mon: fix mon failover on path change
This PR fails over mon when the mon path is changed from hostPath to PVC or vice versa

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit 4b6fd89365)
2023-12-12 18:03:38 +00:00
parth-gr 0f1141313f build: add cel rule to make resource immutable
added the cel rules at sunvolumgroup and rados
namesapce spec

closes: #13315

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 098f1fe5e8)
2023-12-12 16:49:49 +00:00
parth-gr 0c01ffad14 subvolumegroup: add pinning spec in subvolumegroup CRD
subvolumegroup can be pinned by pintype and pinsetting
So adding the spec to enhance its functionality

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

Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit c9fd382c13)
2023-12-11 17:31:00 +00:00
Blaine Gardner c2fe012f91 docs: remove lingering notes about required quincy ver
Remove some lingering notes stating that features require Ceph Quincy.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 685a60ed76)
2023-12-08 21:28:38 +00:00
subhamkrai 2e4f1ec962 Revert "osd: add callback function in osd removal"
This reverts commit 927af7c7f7.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit a30338ae6e)
2023-12-07 19:02:36 +00:00
Rakshith R 92d03c79dd csi: update default cephcsi version to 3.10.0
This commit updates default cephcsi driver version
to v3.10.0 and filesystem reconciler now creates
csi subvolumegroup by default.

Signed-off-by: Rakshith R <rar@redhat.com>
(cherry picked from commit a3220d827d)
2023-12-06 17:13:02 +00:00
travisn 264c624368 build: update all go dependencies to the latest
Run make go.mod.update to update all the go modules instead
of just the ones updated by the dependabot.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 6b9f897915)
2023-12-05 22:49:48 +00:00
dependabot[bot] 27034773e3 build(deps): bump the github-dependencies group with 3 updates
Bumps the github-dependencies group with 3 updates: [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go), [github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring](https://github.com/prometheus-operator/prometheus-operator) and [github.com/prometheus-operator/prometheus-operator/pkg/client](https://github.com/prometheus-operator/prometheus-operator).

Updates `github.com/aws/aws-sdk-go` from 1.48.4 to 1.48.11
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.48.4...v1.48.11)

Updates `github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring` from 0.69.1 to 0.70.0
- [Release notes](https://github.com/prometheus-operator/prometheus-operator/releases)
- [Changelog](https://github.com/prometheus-operator/prometheus-operator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus-operator/prometheus-operator/compare/v0.69.1...v0.70.0)

Updates `github.com/prometheus-operator/prometheus-operator/pkg/client` from 0.69.1 to 0.70.0
- [Release notes](https://github.com/prometheus-operator/prometheus-operator/releases)
- [Changelog](https://github.com/prometheus-operator/prometheus-operator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus-operator/prometheus-operator/compare/v0.69.1...v0.70.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
- dependency-name: github.com/prometheus-operator/prometheus-operator/pkg/client
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit cbf8ac51dd)
2023-12-05 22:49:48 +00:00
Travis Nielsen 79bfd831c1 Merge pull request #13336 from rook/mergify/bp/release-1.13/pr-13324
core: Fix golang linter issues with variables in loops and update linter version (backport #13324)
2023-12-05 15:08:37 -07:00
travisn 83caa1b2bf core: fix golang linter issues with variables in loops
Loop variables cannot be reliably uses since they will
change with each iteration. Update these loop variable
uses to be safe by indexing the slice rather than
using the loop variable directly.

Also suppress the linter issues for passwords used
in tests.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 6f8e42422d)
2023-12-05 21:47:35 +00:00
parth-gr 58dce5a6f6 namespace: add name spec in cephBlockPoolRadosNamespace CRD
instead of use metadata name as the backend resource name
we need to add a new name in the spec which can be the
actual backend name

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

Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit 5bf3847b13)
2023-12-05 17:47:47 +00:00
Alexander Trost ab80b77f49 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>
(cherry picked from commit 4ed35d6bd6)
2023-12-02 10:27:44 +00:00