Commit Graph
13292 Commits
Author SHA1 Message Date
Satoru Takeuchi 7559e4f3e5 Merge pull request #11334 from cybozu-go/addUpgradeStrategyParameters
csi: add a parameter to modify the maxUnavailable value of rbd daemonset.
2022-11-24 19:52:38 +09:00
Blaine Gardner d3557955ed Merge pull request #11342 from BlaineEXE/obc-fix
object: update to latest obc controller to fix ob status
2022-11-22 17:59:49 -07:00
Blaine Gardner 13cfd238fc object: update to latest obc controller to fix ob status
Update to the latest OBC controller library to fix an issue where
ObjectBucket status is not updated when an OB is created.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-11-22 13:51:25 -07:00
Santosh Pillai 4f3cd1d030 core: parse peer pool ouput with --out-file flag
When mirror logs are enabled, `ceph osd pool get <poolname> all` command returns peer pool info along
with the debug logs. This causes error while parsing the logs for json
data. Using --out-file flag saves the json data in the file which can be
parsed easily while logging will still be written to stdout/stderr.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2022-11-21 15:28:31 +05:30
ac4b47d71a csi: add a parameter to modify the maxUnavailable value of rbd daemonset
The default value of maxUnavailable of daemonset is 1.
Sometimes the upgrade can be slow due to this setting.
So I add a parameter to change the value for rbd daemonset.

Signed-off-by: Shinya Hayashi <shinya-hayashi@cybozu.co.jp>
Co-authored-by: Toshikuni Fukaya <toshikuni-fukaya@cybozu.co.jp>
Co-authored-by: Yuji Ito <llamerada.jp@gmail.com>
2022-11-21 05:16:15 +00:00
Travis Nielsen 33e824a323 core: remove unnecessary env vars from pod specs
The fsid, username, and user secrets were from legacy and no
longer needed on the osd daemon or mon pods. This removes the
unnecessary env vars from the pod specs.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-11-18 16:39:22 -07:00
Travis Nielsen fdc2ab55dd Merge pull request #11322 from haslersn/fix-11321
crash: Fix a bug where crash collectors in wrong namespaces were deleted
2022-11-17 11:42:50 -07:00
Travis Nielsen 2c1645e66b Merge pull request #11324 from ideepika/wip-fix-nit
docs: update rbd-mirror doc
2022-11-17 11:06:00 -07:00
Deepika Upadhyay 2e048406ab docs: update rbd-mirror doc
the pool mentioned in docs didn't have hypen
doc ref: https://rook.io/docs/rook/v1.9/Storage-Configuration/Block-Storage-RBD/rbd-mirroring/#create-rbd-pools

[root@centos-4gb-hel1-1 rook]# kubectl get cephblockpool.ceph.rook.io/mirroredpool
Error from server (NotFound): cephblockpools.ceph.rook.io "mirroredpool" not found

Signed-off-by: Deepika Upadhyay <deepika@koor.tech>
2022-11-17 23:19:52 +05:30
Sebastian Hasler 120c7dddcb operator: fix a bug where crash collectors in wrong namespaces were deleted
Fixes #11321

Signed-off-by: Sebastian Hasler <sebastian.hasler@stuvus.uni-stuttgart.de>
2022-11-17 18:12:56 +01:00
Travis Nielsen c03d2d4596 Merge pull request #11315 from travisn/csi-already-exists
docs: Clarify csi already exists error in docs
2022-11-16 09:34:27 -07:00
Travis Nielsen 6b6252e474 docs: clarify csi already exists error in docs
The already exists error message is perhaps the most common
issue with the csi driver. The csi troubleshooting guide
is now clarified to make that error message easier
to find.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-11-15 12:13:45 -07:00
Travis Nielsen 0e7791b6fc Merge pull request #11290 from travisn/storage-provider-status
docs: Clarify in docs and readme that Rook focuses on Ceph
2022-11-14 14:41:37 -07:00
Travis Nielsen b79d9022a4 docs: clarify in docs and readme that rook focuses on ceph
Rook has for quite some time only been focused on the Ceph
operator. Maintainers have only been focused on Ceph, and
the community has likewise been focused on Ceph. Now the docs
are updated to clarify that Ceph storage is the focus and
there are no plans for the project to support other storage
providers.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-11-14 14:37:46 -07:00
Travis Nielsen 0b3dd7fe13 Merge pull request #11309 from rook/dependabot/go_modules/k8s.io/cloud-provider-0.25.4
build(deps): bump k8s.io/cloud-provider from 0.25.3 to 0.25.4
2022-11-14 14:07:45 -07:00
Travis Nielsen 5ce97b0192 Merge pull request #11303 from JensErat/helm-udev-blacklist
helm: set DISCOVER_DAEMON_UDEV_BLACKLIST
2022-11-14 11:39:53 -07:00
Jens Erat 0f7e1d0343 helm: set DISCOVER_DAEMON_UDEV_BLACKLIST
While #4211 added support for the udev blacklist and also added it to
the values file, it omitted actually passing the value as environment
variable.

Signed-off-by: Jens Erat <email@jenserat.de>
2022-11-14 19:01:45 +01:00
dependabot[bot] d344b9e9bb build(deps): bump k8s.io/cloud-provider from 0.25.3 to 0.25.4
Bumps [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) from 0.25.3 to 0.25.4.
- [Release notes](https://github.com/kubernetes/cloud-provider/releases)
- [Commits](https://github.com/kubernetes/cloud-provider/compare/v0.25.3...v0.25.4)

---
updated-dependencies:
- dependency-name: k8s.io/cloud-provider
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 16:40:57 +00:00
Travis Nielsen 6e667b58f2 Merge pull request #11306 from rook/dependabot/go_modules/github.com/aws/aws-sdk-go-1.44.136
build(deps): bump github.com/aws/aws-sdk-go from 1.44.131 to 1.44.136
2022-11-14 09:36:43 -07:00
Travis Nielsen 2cda034f8e Merge pull request #11305 from rook/dependabot/go_modules/k8s.io/client-go-0.25.4
build(deps): bump k8s.io/client-go from 0.25.3 to 0.25.4
2022-11-14 09:34:40 -07:00
dependabot[bot] 141a311f35 build(deps): bump github.com/aws/aws-sdk-go from 1.44.131 to 1.44.136
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.44.131 to 1.44.136.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.44.131...v1.44.136)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 12:05:38 +00:00
dependabot[bot] 471cb4b238 build(deps): bump k8s.io/client-go from 0.25.3 to 0.25.4
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.25.3 to 0.25.4.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.25.3...v0.25.4)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 12:05:23 +00:00
Travis Nielsen 01d71c41ea Merge pull request #10652 from anthonyeleven/anthonyeleven/update-RBD-image-features
docs: add additional RBD image features to docs and YAML files
2022-11-10 11:09:21 -07:00
Travis Nielsen ec9e4646ed Merge pull request #11289 from travisn/crd-doc-titles
docs: Set CRD page titles to the CRD name
2022-11-10 10:38:47 -07:00
Travis Nielsen e0d1cabfda Merge pull request #11278 from parth-gr/resources-discovery
core: Add ability to add resources on discovery DaemonSet
2022-11-10 07:59:23 -07:00
parth-gr 9f432b4ecb core: add ability to add resources on discovery daemon set
Closes: https://github.com/rook/rook/issues/11265

Signed-off-by: parth-gr <paarora@redhat.com>
2022-11-10 17:50:06 +05:30
Travis Nielsen d587272d82 Merge pull request #11263 from zalsader/disable-psp
security: change `pspEnable` default value to `false` in Ceph Operator helm chart
2022-11-09 16:48:59 -07:00
Travis Nielsen 05590dfc9b docs: set crd page titles to crd name
The name of the CRD is more clear for finding the CRD specs
instead of a modified form of the name that was intended
to be more human readable. When someone is looking for the
CRD settings, they more naturally expect the CRD name
in the title

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-11-09 16:12:58 -07:00
Travis Nielsen 3a07f3ac98 Merge pull request #10887 from travisn/duplicate-mon-endpoint
mon: Remove out of quorum mons from ceph.conf
2022-11-09 10:16:07 -07:00
Travis Nielsen f1472e16e1 Merge pull request #11268 from cybozu-go/support-loop-device
osd: support loop devices for test clusters
2022-11-09 08:04:21 -07:00
Travis Nielsen 1b4e69d0a0 Merge pull request #11280 from avanthakkar/include-extra-keys-client-secret
core: include userID/userKey to secret generated from CephClient
2022-11-09 07:26:59 -07:00
Shinya Hayashi 05875a3f4f osd: support loop devices for test clusters
A new variable is added to rook-ceph-operator-config
ConfigMap to allow using loop devices for osd.

This feature is intended to be used for testing purposes only.

Signed-off-by: Shinya Hayashi <shinya-hayashi@cybozu.co.jp>
2022-11-09 06:45:41 +00:00
Blaine Gardner 59f6874980 Merge pull request #11283 from BlaineEXE/object-fix-nil-slice-error-on-upgrade
object: allow status endpoints to be null
2022-11-08 15:13:01 -07:00
Blaine Gardner fc56108865 object: allow status endpoints to be null
For the upgrade case, Rook can fail to set status information
on CephObjectStores after CRDs are updated but before the operator is
updated. To fix this, merely allow the slices to be null in the
CephObjectStore's status.endpoints.

This PR seems to be aggravating the helm filesystem upgrade test. Allow
30 more seconds for CRDs to be done before bailing. In debugging, the
filesystem often needed only an extra 3 seconds to succeed.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-11-08 13:36:15 -07:00
Travis Nielsen b6e8ea2b50 mon: remove out of quorum mons from ceph.conf
The mons that are out of quorum may cause ceph commands to timeout
or fail unnecessarily trying to connect to a mon that is no longer
online. Now the mon health check will update the mon endpoints configmap
when a mon is detected out of quorum. This also means that if the
operator is restarted during a mon failover, the failed mon will no
longer remain in the ceph.conf, thus allowing the quorum to be more
likely to respond to the mons that are still in quorum.

The update for mons out of quorum only applies if other mons are in
quorum. If quorum is down, the configmap will not keep track of the offline
mons since too many are offline.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-11-08 11:36:37 -07:00
Avan Thakkar 47df5c37cd core: include userID/userKey to secret generated from CephClient
Adding two new entries(userID/userKey) in the cephClient secret, so that the csi driver can easily consume

Signed-off-by: Avan Thakkar <athakkar@redhat.com>
2022-11-08 15:41:26 +05:30
Zuhair AlSader 1454d5a7a6 security: change pspEnable default value to false
Disable PodSecurityPolicy in Ceph Operator helm charts by default.

Signed-off-by: Zuhair AlSader <zalsader@hotmail.com>
2022-11-07 21:40:07 +00:00
Blaine Gardner c67c33f1d3 Merge pull request #11202 from BlaineEXE/object-external-enpoint-do-not-use-service
object: do not create service for external object stores
2022-11-07 10:51:33 -07:00
Travis Nielsen 633427be5b Merge pull request #11273 from rook/dependabot/go_modules/github.com/hashicorp/vault-1.12.1
build(deps): bump github.com/hashicorp/vault from 1.12.0 to 1.12.1
2022-11-07 07:47:36 -07:00
Travis Nielsen 830f655960 Merge pull request #11274 from rook/dependabot/go_modules/sigs.k8s.io/controller-runtime-0.13.1
build(deps): bump sigs.k8s.io/controller-runtime from 0.13.0 to 0.13.1
2022-11-07 07:46:56 -07:00
Travis Nielsen b9822506ca Merge pull request #11275 from rook/dependabot/github_actions/manusa/actions-setup-minikube-2.7.1
build(deps): bump manusa/actions-setup-minikube from 2.7.0 to 2.7.1
2022-11-07 07:46:25 -07:00
Travis Nielsen e60e4ed198 Merge pull request #11276 from rook/dependabot/go_modules/github.com/aws/aws-sdk-go-1.44.131
build(deps): bump github.com/aws/aws-sdk-go from 1.44.127 to 1.44.131
2022-11-07 07:45:54 -07:00
dependabot[bot] 14270e0520 build(deps): bump github.com/aws/aws-sdk-go from 1.44.127 to 1.44.131
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.44.127 to 1.44.131.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.44.127...v1.44.131)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 12:06:01 +00:00
dependabot[bot] 87ba618db6 build(deps): bump manusa/actions-setup-minikube from 2.7.0 to 2.7.1
Bumps [manusa/actions-setup-minikube](https://github.com/manusa/actions-setup-minikube) from 2.7.0 to 2.7.1.
- [Release notes](https://github.com/manusa/actions-setup-minikube/releases)
- [Commits](https://github.com/manusa/actions-setup-minikube/compare/v2.7.0...v2.7.1)

---
updated-dependencies:
- dependency-name: manusa/actions-setup-minikube
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 12:05:52 +00:00
dependabot[bot] 44430dad3c build(deps): bump sigs.k8s.io/controller-runtime from 0.13.0 to 0.13.1
Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.13.0 to 0.13.1.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/master/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.13.0...v0.13.1)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 12:05:25 +00:00
dependabot[bot] 14ec70061d build(deps): bump github.com/hashicorp/vault from 1.12.0 to 1.12.1
Bumps [github.com/hashicorp/vault](https://github.com/hashicorp/vault) from 1.12.0 to 1.12.1.
- [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.12.0...v1.12.1)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/vault
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 12:05:05 +00:00
Blaine Gardner a777b1d7d1 object: do not create service for external object stores
External CephObjectStores already have endpoints defined by
spec.gateway.externalRgwEndpoints, and if the external store is
configured with TLS (HTTPS), the store's certificates will likely not
accept connections intended for the Service endpoint Rook creates. Some
users might not be able to easily add the service endpoint to their
certificates. Therefore, don't even bother creating a Service for
external clusters.

This does introduce a few issues. The Service seems to have been
initially created to allow multiple external RGW endpoints to be
addressable via a single address in Rook. For all connections to an
external CephObjectStore with multiple endpoints, simply choose an
endpoint at random. Random selection will prevent Rook from failing to
create buckets or users on an external store if one of the external
store's endpoints fails.

The latest OBC library (lib-bucket-provisioner) allows updating the
endpoints on ObjectBuckets after they are created. This allows Rook
users to change endpoints on external CephObjectStores without breaking
all existing OBCs. It requires implementation of the new GetUserID()
library call, requires updating Provision() and Grant() calls to be
idempotent, and it requires removing the Update() call.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-11-04 17:30:30 -06:00
Travis Nielsen b911a77772 Merge pull request #11269 from moduon/fix-nixos
fix: bugs following docs for NixOS deployment
2022-11-04 11:31:08 -06:00
Travis Nielsen d5758819a3 Merge pull request #11241 from travisn/batch-mon-store
mon: Apply mon store settings more efficiently with the assimilate conf
2022-11-04 10:56:29 -06:00
Jairo Llopis e0ad2f9789 helm: bugs following docs for NixOS deployment
85b079105b introduced some bugs that here I'm fixing.

1. Docs missing `csi.` prefix.
2. Chart was using `cis.csiRBDPluginVolumes` instead of `csi.csiCephFSPluginVolume`.
3. Values had to be a scalar value, not a raw string. Otherwise, the operator can't parse it.
4. Link to `/run/booted-system` instead of `/run/current-system`. In the former, the kernel modules will always match the current kernel; in the latter, it could happen that after a new `nixos-rebuild switch`, plugin containers can't find the kernel modules for the booted kernel version.
5. Values included in the `values.yaml` template were plural. These are not supported, they must all be singular.

About that 3rd point, this was the error being logged:

```
2022-11-04 09:54:47.489851 I | op-k8sutil: CSI_RBD_PLUGIN_VOLUME="|\n - name: lib-modules\n hostPath:\n path: /run/current-system/kernel-modules/lib/modules/\n - name: host-nix\n hostPath:\n path: /nix" (configmap)
2022-11-04 09:54:47.489907 W | ceph-csi: failed to parse "|\n - name: lib-modules\n hostPath:\n path: /run/current-system/kernel-modules/lib/modules/\n - name: host-nix\n hostPath:\n path: /nix" for "CSI_RBD_PLUGIN_VOLUME". json: cannot unmarshal string into Go value of type []v1.Volume
2022-11-04 09:54:47.489916 I | op-k8sutil: CSI_RBD_PLUGIN_VOLUME_MOUNT="|\n - name: host-nix\n mountPath: /nix\n readOnly: true" (configmap)
2022-11-04 09:54:47.489937 W | ceph-csi: failed to parse "|\n - name: host-nix\n mountPath: /nix\n readOnly: true" for "CSI_RBD_PLUGIN_VOLUME_MOUNT". json: cannot unmarshal string into Go value of type []v1.VolumeMount
```

@moduon MT-1503

Signed-off-by: Jairo Llopis <yajo.sk8@gmail.com>
2022-11-04 13:24:31 +00:00