Commit Graph
13292 Commits
Author SHA1 Message Date
dependabot[bot] bcf780d1e0 build(deps): bump the github-dependencies group with 2 updates
Bumps the github-dependencies group with 2 updates: [github.com/IBM/keyprotect-go-client](https://github.com/IBM/keyprotect-go-client) and [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go).


Updates `github.com/IBM/keyprotect-go-client` from 0.14.0 to 0.14.1
- [Release notes](https://github.com/IBM/keyprotect-go-client/releases)
- [Changelog](https://github.com/IBM/keyprotect-go-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/IBM/keyprotect-go-client/compare/v0.14.0...v0.14.1)

Updates `github.com/aws/aws-sdk-go` from 1.53.14 to 1.53.19
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.53.14...v1.53.19)

---
updated-dependencies:
- dependency-name: github.com/IBM/keyprotect-go-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 12:28:23 +00:00
Travis Nielsen 886c948548 Merge pull request #14313 from matofeder/fix-exporter-service-monitor
monitoring: fix exporter service monitor selector
2024-06-07 10:21:48 -06:00
Matej Feder 7053e761da monitoring: fix exporter service monitor selector
Exporter service created by rook operator contains the following labels:
`app=rook-ceph-exporter,rook_cluster=<cluster-name>`

Label `ceph_daemon_id=exporter` is not there and therefore the service
monitor selector can not discover the exporter service.

This fix removes the `ceph_daemon_id=exporter` label from the exporter
service monitor selector.

Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
2024-06-07 13:38:15 +02:00
Matej Feder c0a0a3c7b2 monitoring: update to the latest ceph prometheus rules
Pick up the latest ceph prometheus rules from the ceph repo
found at https://github.com/ceph/ceph/blob/master/monitoring/ceph-mixin/prometheus_alerts.yml.

The updates include new rules for monitoring of ceph as well as
adjustments related to the Rook ceph deployment.
List of main adjustments:
- Alerts related to cephadm are excluded
- The PrometheusJobMissing alert is adjusted for the rook-ceph-mgr job, and the PrometheusJobExporterMissing alert is added

Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
2024-06-07 12:47:53 +02:00
Travis Nielsen 8f691a3627 Merge pull request #14298 from rook/dependabot/go_modules/github-dependencies-8f47b05da3
build(deps): bump github.com/aws/aws-sdk-go from 1.53.10 to 1.53.14 in the github-dependencies group
2024-06-06 12:33:13 -06:00
dependabot[bot] 1c97898b5a build(deps): bump github.com/aws/aws-sdk-go
Bumps the github-dependencies group with 1 update: [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go).


Updates `github.com/aws/aws-sdk-go` from 1.53.10 to 1.53.14
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.53.10...v1.53.14)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 10:41:13 -06:00
Travis Nielsen 69fa8d35e3 Merge pull request #13500 from travisn/custom-mon-ip
mon: Allow overriding the mon endpoint with annotation
2024-06-06 09:30:18 -06:00
Travis Nielsen e90ed3b912 mon: allow overriding the mon endpoint with annotation
For an advanced network configuration, the mon endpoints
expected for the ceph public network may be different from
the public IP address that is set on the K8s node. When
host networking is enabled in rook, the IP address of the
node was only allowed previously. Now, the IP address
used for a mon when scheduled on a node can be determined
by setting an annotation on each node where mons can run:
    network.rook.io/mon-ip: <ip-address>
This annotation must be set before the mons are created.
Mon endpoints cannot be changed after they are already
running.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-06-05 10:32:55 -06:00
Travis Nielsen e9b4c08ef9 Merge pull request #14229 from travisn/roadmap-1.15
doc: Update the roadmap for 1.15
2024-06-04 14:13:09 -06:00
Blaine Gardner f74bf4088c Merge pull request #14302 from BlaineEXE/multus-support-and-test-ipv6
multus: add and test ipv6 support for validation tool
2024-06-04 13:18:41 -06:00
Blaine Gardner 0b6742d9f2 Merge pull request #14304 from obnoxxx/update-go-junit-report
build: Update to use the latest version of go-junit-report
2024-06-04 11:41:49 -06:00
Blaine Gardner 904a0754f2 Merge pull request #14243 from parth-gr/pylint-fix
external: remove support of python2 for external clusters
2024-06-04 10:30:30 -06:00
Michael Adam 212ecb6a0f build: update to use the latest version of go-junit-report
`make test` failed for me on MacOS with this error:

```console
$ make test

...

=== installing go-junit-report
tar: Error opening archive: Unrecognized archive format
make[2]: ***
$
```

So it seems the version v2.0.0 of go-junit-report has a broken source
tarball

Going to the latest version v2.1.0 fixes the problem for me.

Signed-off-by: Michael Adam <obnox@samba.org>
2024-06-04 17:45:31 +02:00
parth-gr cf1a39ee84 external: remove support of python2 for external clusters
fix pylint issue and remove pyhn2 support

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

Signed-off-by: parth-gr <partharora1010@gmail.com>
2024-06-04 20:25:01 +05:30
Jiffin Tony Thottan ba40f84123 object: update cosi images
Updating images for ceph cosi driver and side car.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2024-06-04 19:32:45 +05:30
subhamkrai 4be450ae4b csi: skip creating networkFence when csi disabled
skip creating networkFence when 'ROOK_CSI_DISABLE_DRIVER' is set to
'false'.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-06-04 18:17:38 +05:30
Blaine Gardner 08a27940ed multus: add and test ipv6 support for validation tool
Add IPv6 support for multus validation tool. Also test that IPv6 support
works by specifying one of the NetAttachDefs with an IPv6 address range.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-06-03 17:30:36 -06:00
Blaine Gardner ff448e11d8 Merge pull request #14299 from BlaineEXE/remove-centos-baseos-repo-dependency
build: remove iproute build dependency on centos repo
2024-06-03 15:16:15 -06:00
Blaine Gardner c4e99c1462 build: remove iproute build dependency on centos repo
Multus requires that the 'ip' tool be installed in the Rook image.
Today, it is present in the upstream Ceph base image that is used, but
that is expected to change in the future. The Ceph project intends to
switch to CentOS 9 minimal images, and the 'ip' tool will likely be
removed from the base image at that point.

However, Rook CI has occasionally had issues with the current 'dnf
install' command when CentOS repos go down, or when there is otherwise
some problem. Because the package is already installed today, there is
no need to hamstring Rook builds when CentOS is having problems. But we
do want to make sure that Rook builds don't silently succeed in the
eventual future when 'ip' tool is removed from the Ceph image.

For now, replace the 'dnf install' with a check to verify that 'ip' tool
is installed, and add a shorter form of this note as a comment above it
to help Rook maintainers know how to resolve future 'ip' tool removal.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-06-03 14:38:10 -06:00
Travis Nielsen d224f71b31 doc: update the roadmap for 1.15
For the v1.15 release update the roadmap for new features
that are being planned

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-06-01 00:01:20 -06:00
Travis Nielsen 2a5301a5cc Merge pull request #14269 from rook/dependabot/go_modules/github-dependencies-f460172902
build(deps): bump the github-dependencies group across 1 directory with 5 updates
2024-05-31 15:56:28 -06:00
dependabot[bot] 2ddbdebf43 build(deps): bump the github-dependencies group across 1 directory with 5 updates
Bumps the github-dependencies group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/IBM/keyprotect-go-client](https://github.com/IBM/keyprotect-go-client) | `0.13.0` | `0.14.0` |
| [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) | `1.53.0` | `1.53.10` |
| [github.com/hashicorp/vault/api](https://github.com/hashicorp/vault) | `1.13.0` | `1.14.0` |
| [github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring](https://github.com/prometheus-operator/prometheus-operator) | `0.73.2` | `0.74.0` |
| [github.com/prometheus-operator/prometheus-operator/pkg/client](https://github.com/prometheus-operator/prometheus-operator) | `0.73.2` | `0.74.0` |

Updates `github.com/IBM/keyprotect-go-client` from 0.13.0 to 0.14.0
- [Release notes](https://github.com/IBM/keyprotect-go-client/releases)
- [Changelog](https://github.com/IBM/keyprotect-go-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/IBM/keyprotect-go-client/compare/v0.13.0...v0.14.0)

Updates `github.com/aws/aws-sdk-go` from 1.53.0 to 1.53.10
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.53.0...v1.53.10)

Updates `github.com/hashicorp/vault/api` from 1.13.0 to 1.14.0
- [Release notes](https://github.com/hashicorp/vault/releases)
- [Changelog](https://github.com/hashicorp/vault/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/vault/compare/v1.13.0...v1.14.0)

Updates `github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring` from 0.73.2 to 0.74.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.73.2...v0.74.0)

Updates `github.com/prometheus-operator/prometheus-operator/pkg/client` from 0.73.2 to 0.74.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.73.2...v0.74.0)

---
updated-dependencies:
- dependency-name: github.com/IBM/keyprotect-go-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-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/hashicorp/vault/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  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>
2024-05-31 12:28:20 -06:00
Travis Nielsen c589f7175d Merge pull request #14287 from obnoxxx/run-codegen
build: add result of codegen
2024-05-31 11:57:37 -06:00
Michael Adam 823df7be98 build: add result of codegen
`make codegen`resulted in a diff, so that needed to be committed.

Signed-off-by: Michael Adam <obnox@samba.org>
2024-05-31 19:16:23 +02:00
Blaine Gardner ed2d110678 Merge pull request #14253 from obnoxxx/improve-is-host
network: improve  the IsHost() function
2024-05-31 09:35:19 -06:00
Travis NielsenandBlaine Gardner f7f12ecf99 network: improve the IsHost function
This change is a follow-up to PR https://github.com/rook/rook/pull/13651 .

It is also meant to provide a continuation of the closed, stale
PR https://github.com/rook/rook/pull/13878 .

It is  furthermore  intended as a preparation for the introduction of
a way to enforce host networking in the next round of updates to PR
    https://github.com/rook/rook/pull/13651 .

This change improves the documentation,  implementation,  and unit testing for the   method of the
 spec.

Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Blaine Gardner <b.blaine.gardner@gmail.com>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
2024-05-31 12:53:25 +02:00
Travis Nielsen d47f845840 Merge pull request #14281 from travisn/set-full-limits
osd: Configure cluster full settings when OSDs fill up
2024-05-30 12:51:48 -06:00
Travis Nielsen e479b051bc osd: configure cluster full settings when osds fill up
When the clusters reach full, nearfull, or backfill full thresholds
ceph will raise health warnings and stop allowing IO or backfill
depending on the threshold. These settings require special ceph
commands instead of being generic ceph config. Allow these settings
to be set from the CephCluster CR in the spec.storage
section.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-05-30 12:10:41 -06:00
Travis Nielsen 48b657099d Merge pull request #14232 from sp98/configure-balancer-mode
mgr: setting balancer mode from cluster spec.
2024-05-29 10:44:29 -06:00
Santosh Pillai f5ca09e385 Merge pull request #14196 from sp98/skip-osd-uprade-during-migration
osd: skip upgrade if migration is pending
2024-05-29 12:33:39 +05:30
Travis Nielsen 3fb5d4e833 Merge pull request #14271 from occ/docs-nixos-containerd
docs: Add a note for NixOS and containerd
2024-05-28 13:15:21 -06:00
Travis Nielsen a63c896fa0 Merge pull request #14257 from bdowling/pr-reduce-purge-retry-timeout
osd: reduce safe-to-destroy retry timeout to 15s
2024-05-28 10:21:13 -06:00
sp98 322549cbe1 osd: skip upgrade if migration is pending
Currently we allow upgrade of other OSDs while migration
of OSD, due to change in backing store, is pending. This
will not work if the updated OSD ceph version does not support
the currently applied backing store. So rook will skip any
OSD upgrade if the OSD migration is pending.

Signed-off-by: sp98 <sapillai@redhat.com>
2024-05-28 11:27:28 +05:30
Onur C. Cakmak d1e139cdb3 docs: add a note for NixOS and containerd
Add a note to remove LimitNOFILE setting in containerd service configuration.

This setting causes multiple issues such as slow `ceph status` commands (and failing healthchecks),
various timeouts, and mons failing/timing out.

Upstream containerd already removed the setting. NixOS hasn't incorporated the change.

This note can be removed once https://github.com/NixOS/nixpkgs/pull/313507 makes it to a stable release.

Signed-off-by: Onur Cakmak <occ@occ.me>
2024-05-27 22:42:49 -04:00
Brian Dowling ef0ed93134 osd: reduce safe-to-destroy retry timeout to 15s
This reduces the safe-to-remove retry interval from 1m to 15s.

Closes #14247

Signed-off-by: Brian Dowling <bjd-dev@simplicity.net>
2024-05-27 13:54:21 -04:00
subham rai 53be5ce1e9 Merge pull request #14266 from subhamkrai/fix-codespell
ci: fix codespell ci by skipping some words
2024-05-27 12:11:44 +05:30
sp98 1ad37ecce9 mgr: setting balancer mode from cluster spec
This PR adds a `settings` option in the `Module` struct
which can help users to futher customize the `balancer`
module with a differet mode.

Signed-off-by: sp98 <sapillai@redhat.com>
2024-05-27 11:30:10 +05:30
subhamkrai 85c25bbc6e ci: fix codespell ci by skipping some words
fixing 'secert' to `secret` and adding workds like
`NotIn, addin` to skip work list.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-05-27 10:26:34 +05:30
Blaine Gardner a138a38cdb Merge pull request #14248 from BlaineEXE/fix-mon-ipv6-networking
mon: fix bind addr when IPv6 and msgr2 are enabled
2024-05-23 07:31:12 -06:00
Travis Nielsen 8dc88c39b1 Merge pull request #14250 from Nordix/fix-network-config-link
docs: fix broken link to network config
2024-05-22 07:55:28 -06:00
NymanRobin 30e6a7349b docs: fix broken link to network config
Signed-off-by: NymanRobin <robin.nyman@est.tech>
2024-05-22 15:13:02 +03:00
Blaine Gardner 573a47e736 mon: fix bind addr when IPv6 and msgr2 are enabled
When IPv6-only network mode is enabled and when mons are configured to
listen only on msgrV2 port, Rook has to add the port to the mon
--public-bind-addr in order to force mons to stop listening on the
msgrV1 port. This can cause problems for IPv6 clusters where adding
':<port>' to the end of an IP addr looks like a valid IPv6 address.

In IPv6 mode, Rook needs to set this to '[<ip>]:<port>' with the
brackets to be a non-ambiguous IPv6 address.

In IPv4 mode, Rook needs to keep its existing behavior. IPv4 mode should
also continue to be the defualt assumption if the network config isn't
specified.

If 'dualStack: true' is specified, Rook is informed that the environment
is dual stack, but Rook doesn't know which IP family to expect from the
pod IP. In this scenario, it is safest for Rook not to apply the port,
since assuming either IPv4 or IPv6 format could be incorrect. In this
scenario, mons may still listen on msgrV1 ports, but this is preferable
to an environment where mons perpetually crash.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-05-21 14:42:06 -06:00
subham rai 161306a484 Merge pull request #14186 from parth-gr/heartbeat-node
core: do not watch resourceversion and heartbeat node updates
2024-05-21 16:58:15 +05:30
parth-gr c235a99cf9 core: do not watch resourceversion and heartbeat node updates
currently node predicate watches for resourceVersion and heartbeat
changes, which are not critical things. So with the PR we will add
a early-exit condition for the predicate as an optimization and to
ignore considering for a reconcile of cephcluster if updates are
not crucial

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

Signed-off-by: parth-gr <partharora1010@gmail.com>
2024-05-20 22:25:39 +05:30
Travis Nielsen 3d62020709 Merge pull request #14173 from obnoxxx/sc-radosnamespace
docs: document how to have StorageClass consume Rados Namespace
2024-05-20 07:13:15 -06:00
NymanRobin 05315ae64f csi: add cephfs encryption support
Ceph-CSI support for fscrypt encryption of cephfs.
To achieve this commit add capability of mounting the
required `rook-ceph-csi-kms-config` configmap into
csi-cephfsplugin-provisioner and nodeplugin pods.

Further it modifies the ClusterRoles `cephfs-csi-nodeplugin` and
`cephfs-external-provisioner-runner` to grant privileges
required for reading encryption configuration and fetching
encryption secrets from either kubernetes secrets or
from a Key Management System (KMS).

These privileges are essential for the proper functioning of
ceph-csi-cephfs with fscrypt encryption.

The following privileges have been added:
- `secrets/get`: Allows reading of secrets for encryption.
- `configmaps/get`: Grants access to configuration maps,
    this is used to read encryption configuration.
- `serviceaccounts/get`: Enables retrieval of service accounts for
    authentication to KMS and for retrieving encryption secrets
    stored there.
- `serviceaccounts/token/create`: Allows creation of service account tokens,
    which are required for authenticating requests to KMS
    when retrieving encryption secrets.

The commit also updated the csi documentation to include cephfs
in the encryption section, with examples updated accordingly.

Signed-off-by: NymanRobin <robin.nyman@est.tech>
2024-05-20 14:03:02 +03:00
Travis Nielsen 2555e51cba Merge pull request #14234 from sp98/remove-owner-ref-in-cleanupjob
core: remove owner refs in resource cleanup jobs
2024-05-18 10:02:00 -06:00
8e7ac95f97 docs: document how to have StorageClass consume Rados Namespace
closes: https://github.com/rook/rook/issues/13214

Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
Co-authored-by: Blaine Gardner <b.blaine.gardner@gmail.com>
Signed-off-by: Michael Adam <obnox@samba.org>
2024-05-18 12:21:56 +02:00
Travis Nielsen eecaa256df Merge pull request #14236 from sp98/fix-svg-cleanup-job
core: fix missing env in svg cleanup job
2024-05-17 08:43:17 -06:00
sp98 33ce8f0c8e core: fix missing env in svg cleanup job
SVG cleanup job uses the cephSubvolumeGroup env name
from spec.Name. But sometimes it can be empty. In that
case rook should use the CR name.

Signed-off-by: sp98 <sapillai@redhat.com>
2024-05-17 18:55:01 +05:30