Commit Graph
4072 Commits
Author SHA1 Message Date
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
Blaine Gardner 20ce9da197 Merge pull request #13177 from subhamkrai/add-cel
webhook: add validating admission policy
2023-12-01 09:56:03 -07:00
Blaine Gardner f4d67fd4db Merge pull request #13261 from subhamkrai/remove-controller-runtime
core: remove webhook & controller-runtime from apis
2023-12-01 09:55:34 -07:00
subhamkrai ae15604fbe webhook: add validating admission policy
this commit adds validating admission policy
for cephcluster cr according to webhook rules.
Not all the webhook can be moved to validating
admission policy for example checking multus
selector validation.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-01 22:01:12 +05:30
Rakshith R 1153c10ce3 build: missing DeepCopy code for CSIDriverSpec
There was a missing codegen deep copy
by running `make codegen` it updated it

Signed-off-by: Rakshith R <rar@redhat.com>
2023-12-01 15:29:49 +05:30
subhamkrai 28cc1ebc55 core: remove webhook & controller-runtime from apis
This commits removes controller-runtime dependencies
from the apis dir and to achieve that we are removing
webhook.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-01 14:15:40 +05:30
Travis Nielsen 1efb694050 Merge pull request #13266 from parth-gr/svg-name
subvolumegroup: add name spec in subvolumegroup CRD
2023-11-30 10:16:40 -07:00
Travis Nielsen e391dea1f5 Merge pull request #13222 from obnoxxx/mgr-update-fix
mgr: honor the ContinueUpgradeAfterChecksEvenIfNotHealthy flag
2023-11-30 09:58:47 -07:00
parth-gr 939a1b7d20 subvolumegroup: add name spec in subvolumegroup
Originally we create it using this cmd
ceph fs subvolume create <vol_name> <subvol_name>
So we can have 2 variables filesystem and subvolume name,
Currently the CR doesn't allow us to make subvolume-name
as constant as needed to "csi" because of k8s limitations

Signed-off-by: parth-gr <paarora@redhat.com>
2023-11-30 20:39:11 +05:30
Travis Nielsen ee14ecb5a7 Merge pull request #13281 from subhamkrai/add-callback-osd-removal
osd: add callback function in osd removal
2023-11-29 23:13:12 -07:00
subhamkrai 927af7c7f7 osd: add callback function in osd removal
Adding callback function in the osd removal method
as in downstream there is requirement of adding extra
check before proceeding with osd removal.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-11-30 10:48:24 +05:30
Michael Adam 93bf6540b2 mgr: honor the ContinueUpgradeAfterChecksEvenIfNotHealthy flag
Fixes: #13167

Previously, the mgr did not honor the flag
ContinueUpgradeAfterChecksEvenIfNotHealthy
from the cluster spec. Only osd, mds, and rgw did.

To render the update behavior correct and complete across the daemons, this
change implements the honoring of the flag for the mgr.

Signed-off-by: Michael Adam <obnox@samba.org>
2023-11-29 20:23:25 +01:00
Rakshith R 59cb0dd4bf csi: add CSIDriverOptions section in cephCluster CR
This commit adds new CSIDriverOptions section in
cephCluster CR. This section contains settings
for read affinity and kernel+fuse Mount options
These settings will be injected directly into
rook-ceph-csi-config cm to be applicable per
ceph cluster.

Signed-off-by: Rakshith R <rar@redhat.com>
2023-11-29 19:34:28 +05:30
Travis Nielsen 580760c8d3 Merge pull request #13282 from parth-gr/fix-codegen
build: fix codegen in master branch
2023-11-28 11:31:15 -07:00
parth-gr 1c2c82a602 build: fix codegen in master branch
there was a missing codegen deep copy
by running `make codegen` it updated it

Signed-off-by: parth-gr <paarora@redhat.com>
2023-11-28 12:55:48 +05:30
Travis Nielsen d1c4667c8b Merge pull request #13225 from ushitora-anqou/use-regex-match-for-pdb-reset
core: add pgHealthyRegex to DisruptionManagementSpec
2023-11-27 14:23:25 -07:00
Travis Nielsen 474f457163 Merge pull request #13252 from rook/dependabot/go_modules/github.com/go-jose/go-jose/v3-3.0.1
build(deps): bump github.com/go-jose/go-jose/v3 from 3.0.0 to 3.0.1
2023-11-27 10:41:46 -07:00
dependabot[bot] 9433f26d2d build(deps): bump github.com/go-jose/go-jose/v3 from 3.0.0 to 3.0.1
Bumps [github.com/go-jose/go-jose/v3](https://github.com/go-jose/go-jose) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/go-jose/go-jose/releases)
- [Changelog](https://github.com/go-jose/go-jose/blob/v3/CHANGELOG.md)
- [Commits](https://github.com/go-jose/go-jose/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: github.com/go-jose/go-jose/v3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 10:05:41 -07:00
Travis Nielsen 49c4163b32 Merge pull request #13256 from rkachach/fix_issue_radosgw_admin
mgr: adding CEPH_ARGS to the mgr pod so radosgw-admin can use it
2023-11-27 10:01:12 -07:00
Divyansh Kamboj f9d6cd7f3a exporter: change deployment strategy to Recreate
Restarting the exporter using RollingRelease causes a race condition,
that results in exporter crashing and the ceph health to show a warning.

Signed-off-by: Divyansh Kamboj <dkamboj@redhat.com>
2023-11-27 15:20:25 +05:30
Redouane Kachach afc485fa03 mgr: adding CEPH_ARGS to the mgr pod so radosgw-admin can use it
ceph dashboard uses radosgw-admin for certain tasks that
aren't accessible via the rgw REST API. Due to the absence of
a valid ceph.conf file at /etc/ceph/ceph.conf within the mgr pod,
radosgw-admin fails to operate, resulting in 500 errors across
various 'Object Gateway' views on the dashboard. This change
adds CEPH_ARGS environment variable to the mgr pod enabling
its propagation and utilization by the dashboard/radosgw-admin
for executing rgw commands.

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

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-23 10:48:55 +01:00
Ryotaro Banno 0ad88e9d68 core: add pgHealthyRegex to DisruptionManagementSpec
This patch adds `pgHealthyRegex` field to DisruptionManagementSpec.
`pgHealthyRegex` is a regular expression that is used to determine which
PG states should be considered healthy. The default value of
`pgHealthyRegex` is:

        ^(active\+clean|active\+clean\+scrubbing|active\+clean\+scrubbing\+deep)$

which is effectively the same as before.

Signed-off-by: Ryotaro Banno <ryotaro.banno@gmail.com>
2023-11-22 00:19:04 +00:00
Travis Nielsen 510d2721b4 Merge pull request #13247 from riya-singhal31/master
csi: add csi-addons sidecar to cephfs deployment
2023-11-21 16:13:31 -07:00
Travis Nielsen da2513e484 Merge pull request #13248 from rkachach/fix_issue_exporter_interval
mgr: get servicemonitor exporter's interval from MonitoringSpec
2023-11-21 16:02:38 -07:00
Riya Singhal 401ce4697a csi: add csi-addons sidecar to cephfs deployment
this commit adds csi-addon sidecar to
cephfsplugin provisioner deployment

Signed-off-by: Riya Singhal <rsinghal@redhat.com>
2023-11-22 02:50:45 +05:30
Redouane Kachach 6b71325dbe mgr: get servicemonitor exporter's interval from MonitoringSpec
this change updates the serviceMonitor interval of the the rook-ceph-exporter
with the value from the MonitoringSpec.

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

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-11-21 21:47:28 +01:00
Travis Nielsen 38ceb90ab2 Merge pull request #13211 from subhamkrai/pr/gauravsitlani/12957
core: operator to skip reconcile of mgr, rgw, mds and rbd-mirror
2023-11-21 12:15:34 -07:00
Travis Nielsen 346746c43b Merge pull request #13244 from iPraveenParihar/upgrade-sidecar-versions
csi: update csi sidecars' image version
2023-11-21 12:10:49 -07:00
Travis Nielsen e3c9ed6768 Merge pull request #13239 from avanthakkar/run-exporter-with-specific-keyring
exporter: run exporter with specific keyring
2023-11-21 11:59:05 -07:00
avanthakkar 8fa561484a exporter: run exporter with specific keyring
Similar to the ceph crash collector daemon that generates a keyring with more
restrictive privileges, the exporter should also generate and use a more limited keyring.

Signed-off-by: avanthakkar <avanjohn@gmail.com>
2023-11-21 23:52:50 +05:30
gauravsitlani 3d0049c547 core: operator to skip reconcile of mgr, rgw, mds and rbd-mirror daemons in debug
During certain maintenance tasks the admin will own running
operations on the ceph mgr, rgw, mds and rbd-mirror daemons
and the operator should not interfere with those operations.

Co-authored-by: gauravsitlani <gaurav.sitlani@live.com>
Signed-off-by: subhamkrai <srai@redhat.com>
2023-11-21 20:14:16 +05:30
Praveen M ddf03bce6f csi: update csi sidecars' image version
csi-node-driver-registrar: v2.9.1
csi-resizer: v1.9.2
csi-provisioner: v3.6.2
csi-attacher: v4.4.2
csi-snapshotter: v6.3.2
Signed-off-by: Praveen M <m.praveen@ibm.com>
2023-11-21 14:41:57 +05:30
Blaine Gardner e54f112f04 Merge pull request #13237 from zer0def/issue-12833
rgw: correctly handle mgr-proxied rgw cli commands in multus scenarios
2023-11-20 18:18:15 -06:00
zer0def 9b69b5cb46 rgw: correctly handle mgr-proxied rgw cli commands in multus scenarios
Due to multi-site Ceph object resources (realms, zonegroups, zones)
reconciliation CLI commands being proxied through CephCluster's Mgr pods
in Multus-based scenarios, return codes were being additionally wrapped
by K8S' command streams and weren't adequately handled in-code, causing
reconciliation of CephObject(Realm|ZoneGroup|Zone) resources to fail, as
an exit code of 0, instead of the expected syscall.ENOENT (2) was returned.

Fixes #12833

Signed-off-by: zer0def <zv0uzqbqnncivw0afjsx79jmd19shpps3r5f2vjc6yv@definedaszero.xyz>
2023-11-20 23:42:17 +01:00
dependabot[bot] 8abc599c42 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.3 to 0.28.4
- [Commits](https://github.com/kubernetes/api/compare/v0.28.3...v0.28.4)

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 14:21:16 -07:00
Travis Nielsen 297e8400e5 Merge pull request #12850 from parth-gr/node-telemetry
core: report node metrics using ceph telemetry
2023-11-16 14:55:44 -07:00
parth-gr f007f2aca1 core: report node metrics using ceph telemetry
Add this reporting with the cephcluster reconcile,
Similar way we reported other telemetry's

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

Signed-off-by: parth-gr <paarora@redhat.com>
2023-11-16 19:13:22 +05:30
travisn 03d077aa6b core: remove support for ceph pacific
Pacific is end of life and no longer necessary to
support in Rook with v1.13.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-11-14 17:07:03 -07:00
Blaine Gardner d01029a4b0 Merge pull request #13206 from BlaineEXE/multus-fix-network-canary-all-placement
multus: fix placement error for net addr detect job
2023-11-14 17:58:19 -06:00
Blaine Gardner 0a538bfc37 multus: fix placement error for net addr detect job
Fix an issue in the network address detection job where placement was
only retreived from osd and not merged with all.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2023-11-14 12:36:58 -07:00
Travis Nielsen 1f157df699 Merge pull request #12817 from parth-gr/objectstore-improvements
object: improve the error handling for multisite objs
2023-11-14 12:33:38 -07:00
parth-gr 46c241433d object: improve the error handling for multisite objs
here is the https://go.dev/play/p/SS9Q-dAiIx3 example which says the
error handling was wrongly implemented

Signed-off-by: parth-gr <paarora@redhat.com>
2023-11-14 15:12:15 +05:30
Blaine Gardner 5230fcd60d Merge pull request #12845 from synarete/nfs-liveness-probe
nfs: add livness-probe to nfs-ganesha container
2023-11-13 13:44:57 -06:00
Travis Nielsen 3288e60cf5 Merge pull request #13069 from subhamkrai/update-device-class
pool: allow updating deviceClass on existing pool
2023-11-13 10:57:57 -07:00
subhamkrai 133154d192 pool: allow updating deviceClass on existing pool
This commits add check to update the deviceClass on
existing pool.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-11-13 20:40:21 +05:30
Shachar Sharon e05184d0a7 nfs: allow livness-probe for nfs-ganesha container
Use K8s LivenessProbe mechanism to check OK-status of nfs-ganesha
container. A user may define his own lineness-probe, or a default one
which expects NFS TCP-port 2049 to be active; that is, willing to accept
new connections: for Ceph>=18.2.1 issue 'rpcinfo' call on local pod;
otherwise use standard K8s TCP-socket liveness probe mechanism.
Define permissive values to liveness-probe to ensure that the NFS
service is defined in failed-state only when it has non-recoverable
error.

The current default definition of LivenessProbe is expected to guard the
nfs pod from at least the following two cases:

  - Deadlocks: where an nfs-ganesha server is running, but unable serve
    new connections due to internal bad-state.

  - Resource exhaustion on the host node (e.g. OOM) which prevents the
    server from accepting new connections and reply to NULL RPC request.

In both cases we expect K8s to reschedule the nfs pod, most likely on
different host node.

Refs rook issue #12719

Signed-off-by: Shachar Sharon <ssharon@redhat.com>
2023-11-13 16:21:24 +02:00
Shachar Sharon 7c3e91390e nfs: add optional LivenessProbe to GaneshaServerSpec
Allow end-user to have full control on NFS-Ganesha liveness probe:

  - Disabled
  - Enabled, using user-provided definition
  - Enabled, using Rook's default liveness probe for Ganesha.

Signed-off-by: Shachar Sharon <ssharon@redhat.com>
2023-11-13 16:21:24 +02:00