Commit Graph
3219 Commits
Author SHA1 Message Date
Travis Nielsen 932400aeb8 Merge pull request #13741 from rkachach/fix_issue_13719
mgr: remove privileged security context from mgr sidecar container
2024-02-13 07:58:15 -07:00
subham rai e7969ff9ab Merge pull request #13613 from iPraveenParihar/fix/issue-13580
csi: update netNamespaceFilePath for all clusterIDs
2024-02-13 18:48:10 +05:30
Redouane Kachach db4b3322fa mgr: remove privileged security context from mgr sidecar container
Mgr sidecar was using a privileged security context because it needed
to create the /var/lib/rook directory, generate the config on it, and
then copy it to the /etc/ceph directory. This change creates empty
directories on /var/lib/rook and /etc/ceph so the mgr sidecar can use
them, removing the need for using a privileged security context.

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

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2024-02-13 14:03:39 +01:00
Travis Nielsen 5ce7fd97bd Merge pull request #13736 from Madhu-1/csi-3.10.2
csi: update cephcsi image to 3.10.2
2024-02-09 11:20:10 -07:00
Travis Nielsen 142ac703d7 Merge pull request #13665 from iPraveenParihar/remove/CSI_ENABLE_READ_AFFINITY
csi: remove CSI_ENABLE_READ_AFFINITY
2024-02-09 07:46:27 -07:00
Madhu Rajanna c22597a32c csi: update cephcsi image to 3.10.2
Updating the cephcsi image to 3.10.2
which is the latest released one.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-02-09 08:21:05 +01:00
Travis Nielsen ebcb0a424f Merge pull request #13728 from subhamkrai/remove-ownerRef-nf
core: remove ownerRef from networkFence
2024-02-08 11:26:16 -07:00
subhamkrai 2ac418a3b2 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>
2024-02-08 23:12:39 +05:30
Travis Nielsen 4e0c4f6ea3 Merge pull request #13511 from ushitora-anqou/set-pdb-even-if-pgs-remain-active-clean
core: set blocking PDB even if no unhealthy PGs appear
2024-02-06 11:45:27 -07:00
Praveen M d28febaa61 csi: remove CSI_ENABLE_READ_AFFINITY
This commit removes the `CSI_ENABLE_READ_AFFINITY` since
it is no longer utilized after addition of the read affinity
option per cluster via CSIDriverSpec.

Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-02-06 20:21:57 +05:30
Travis Nielsen 7f7e8d44fa Merge pull request #13623 from thotz/ceph-cosi-driver-name-namespace-check
object: add check specific to name and namespace for ceph cosi driver
2024-02-05 09:01:18 -07:00
Travis Nielsen 73427c9091 Merge pull request #13615 from riya-singhal31/node-name
csi: update network fence CR name
2024-02-05 07:10:49 -07:00
travisn 0240ee8563 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>
2024-02-01 14:29:20 -07:00
Travis Nielsen 60d6fe5362 Merge pull request #13663 from iPraveenParihar/fix/netNamespaceFilePath-generation
csi: Fix NetNamespaceFilePath generation with namespace instead of name
2024-02-01 09:32:33 -07:00
Travis Nielsen e39ee8caba Merge pull request #13653 from travisn/exporter-delete-ns
exporter: Don't delete exporter service on daemon deletion
2024-02-01 09:30:32 -07:00
Praveen M f67bbc834b csi: fix netNamespaceFilePath addition and removal for all clusterIDs
This commit resolves the issue where the netNamespaceFilePath
was not being updated for all clusterIDs present in the csi configMap.

Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-02-01 12:46:55 +05:30
Praveen M 67ff924b57 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>
2024-02-01 11:24:08 +05:30
Travis Nielsen 6739e32d33 Merge pull request #13644 from rkachach/fix_issue_13594
mgr: use the ac-user-set-password cmd to update the password
2024-01-31 08:45:36 -07:00
Travis Nielsen 2f82d0a520 Merge pull request #13655 from parth-gr/objectstore-fix-zonegroup
object: fix the default multisite zonegroup creation
2024-01-31 07:56:54 -07:00
Jiffin Tony Thottan 5b5e1c0292 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>
2024-01-31 11:32:47 +05:30
parth-gr a9c77280c6 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>
2024-01-31 10:06:44 +05:30
travisn a1fc70f2fc 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>
2024-01-30 16:23:10 -07:00
Redouane Kachach cb028f3a28 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>
2024-01-30 18:04:44 +01:00
Blaine Gardner 8802648456 Merge pull request #13621 from thotz/cosicrdupdate
object: watch updates for cosidriver crd
2024-01-30 09:06:29 -07:00
Travis Nielsen 3b1a428688 Merge pull request #13622 from Madhu-1/csi-name-prefix
csi: option to customize csi driver name prefix
2024-01-29 10:55:55 -07:00
Jiffin Tony Thottan 3da2331fa3 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>
2024-01-29 22:15:21 +05:30
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
Travis Nielsen f85ba88089 Merge pull request #13604 from rkachach/fix_issue_13577
mgr: fixing dashboard configuration handling
2024-01-25 18:51:50 -07:00
Redouane Kachach 39c06d2fa5 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>
2024-01-25 21:55:13 +01:00
Riya Singhal c2e3cf367c 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>
2024-01-26 00:18:00 +05:30
subhamkrai f8af64ae02 test: update unit test to add TypeMeta
with controller runtime v0.17.0, fake client
set TypeMeta for unstructured only, for other
types we need to add TypeMeta.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-01-25 18:56:59 +05:30
Redouane Kachach 57e3937d40 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>
2024-01-25 10:22:08 +01:00
Praveen M 7b78cc7ba6 csi: add default crushLocationLabels to csiConfigMap
This commit adds the default crush location labels to csi configMap.

Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-01-24 00:03:15 +05:30
Santosh Pillai f6cadd548c Merge pull request #13590 from sp98/osd-migration-fix
osd: fix operator reconcile during OSD migration
2024-01-23 06:11:55 +05:30
Travis Nielsen 76b97dcc04 Merge pull request #13597 from travisn/no-exporter-reconcile
exporter: Skip reconcile on exporter deletion
2024-01-22 09:38:21 -07:00
travisn 995a64fb3a 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>
2024-01-19 14:49:44 -07:00
Praveen M 117961ec34 csi: fix cephFS struct overwrite
The updateCSIDriverOptions() func was overwriting the ClusterInfo.CephFS
struct. Due to which multus and csi hostnetwork canary tests were hanging.

Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-01-19 22:55:52 +05:30
sp98 43d3bf147a 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>
2024-01-19 14:08:07 +05:30
Travis Nielsen f46c0845ee Merge pull request #13573 from Madhu-1/fix-13475
csi: make leader election flags configurable
2024-01-18 11:55:38 -07:00
Madhu Rajanna 85b86efee1 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>
2024-01-17 11:02:08 +01:00
Madhu Rajanna 9b418d24a1 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>
2024-01-17 10:02:49 +01:00
Travis Nielsen 591ddf2c3d Merge pull request #13420 from iPraveenParihar/api/csi-config-map
csi: use ceph-csi exposed csi config map API
2024-01-16 12:34:11 -07:00
Travis Nielsen 2ba90e9072 Merge pull request #13258 from iPraveenParihar/csi/update-cmdline-args
csi: update cmdline args as used by ceph-csi
2024-01-16 12:29:52 -07:00
Praveen M a80396df1b 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>
2024-01-12 15:24:07 +05:30
Praveen M dfd3d625a8 csi: use ceph-csi exposed csi config map API
This commit uses an csi config map API exposed by Ceph-CSI.
This will reduce the efforts of keeping the configuration in
sync with Ceph-CSI.

Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-01-12 15:04:20 +05:30
Satoru Takeuchi 1935033a1e Merge pull request #13479 from cybozu-go/core-fix-error-handling-on-setting-watcher
core: fix error handling on setting watcher
2024-01-09 22:17:57 +09:00
dependabot[bot] f56f06f955 build(deps): bump the k8s-dependencies group with 4 updates
Bumps the k8s-dependencies group with 4 updates: [k8s.io/api](https://github.com/kubernetes/api), [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver), [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) and [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider).

Updates `k8s.io/api` from 0.28.4 to 0.29.0
- [Commits](https://github.com/kubernetes/api/compare/v0.28.4...v0.29.0)

Updates `k8s.io/apiextensions-apiserver` from 0.28.4 to 0.29.0
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.28.4...v0.29.0)

Updates `k8s.io/cli-runtime` from 0.28.4 to 0.29.0
- [Commits](https://github.com/kubernetes/cli-runtime/compare/v0.28.4...v0.29.0)

Updates `k8s.io/cloud-provider` from 0.28.4 to 0.29.0
- [Commits](https://github.com/kubernetes/cloud-provider/compare/v0.28.4...v0.29.0)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cli-runtime
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cloud-provider
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-05 09:08:53 -07:00
Ryotaro Banno 6def9c8e30 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>
2024-01-05 08:43:38 +00:00
travisn 56a3370d83 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>
2024-01-03 14:37:11 -07:00
Riya Singhal 4dfe1da59c csi: updating the comment explaining the requirements
this commit updates the comment to explain the requirement of
giving 'all' permissions to MDS.

Signed-off-by: Riya Singhal <rsinghal@redhat.com>
2024-01-02 22:59:30 +05:30