Commit Graph
8121 Commits
Author SHA1 Message Date
micalgenus a68151e2f2 rgw: gateway deployment strategy rolling on Pacific
When the strategy type of deployment is Recreate, from the moment the end is
started until the new pod is normally running, there is no pod in the
kubernetes service endpoints, so it goes to the service unavailable state.

Therefore, it is necessary to change it to `type: RollingUpdate` instead of
`type: Recreate` so that rolling updates can be made without downtime.

Before Pacific, creating a deployment as much as the instance was okay,
but after Pacific, the replicas was increased in one deployment, so rolling
updates were set up one by one as in the previous version.

Signed-off-by: micalgenus <micalgenus@gmail.com>
2022-01-21 00:27:37 +09:00
Travis Nielsen f3246228d8 Merge pull request #9467 from travisn/update-mgr-service
mgr: Update services when active mgr changes
2022-01-13 12:21:03 -07:00
Sébastien Han cf5f68f378 Merge pull request #9545 from rook/kms-hpcs
osd: add ibm key protect kms
2022-01-13 18:11:15 +01:00
Blaine Gardner 1dde99bef7 Merge pull request #9570 from BlaineEXE/make-crd-rbac-ordering-deterministic-in-linux
build: make crd/rbac generation order deterministic
2022-01-13 10:05:08 -07:00
Blaine Gardner 6f4a23694d build: make crd/rbac generation order deterministic
Linux doesn't guarantee file ordering, so when dealing with files in
order, we can use 'sort' to make sure the order is deterministic. For
yq's usage of files, we need to keep file names in an intermediate
variable, and this should be an array to support file paths with spaces.
'readarray' is not available on MacOS's built-in bash, so a longer
'while read' loop is needed for the array creation.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-01-13 09:24:07 -07:00
Blaine Gardner 3b415ea15a Merge pull request #9482 from yuvalif/ceph-cloudevent-topic
rgw: add HTTP CloudEvent endpoints to CephBucketNotification CR
2022-01-13 08:40:07 -07:00
Sébastien Han a7acf490b6 osd: add ibm key protect kms
The cluster-wide encryption feature now has a new supported key
management system: IBM Key protect. More information about the backend
can be found in Rook documentation under the

Today's implementation stores OSD encryption keys has "Standard" keys.

Signed-off-by: Sébastien Han <seb@redhat.com>
2022-01-13 16:02:10 +01:00
Travis Nielsen 11127f54ca mgr: update services when active mgr changes
When the active mgr changes, there may be user-created services
that also need to have their selector updated to point to the
new active mgr. Now the operator will update any service in the
rook operator namespace that has the label app=rook-ceph-mgr
to point to the active mgr.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-01-13 07:25:24 -07:00
Yuval Lifshitz c99e2a37fd rgw: add HTTP CloudEvent endpoints to CephBucketNotification CR
this add a configuration parameter that allows an RGW, from
Ceph Quincy (v17) and on, to send bucket notifications to an HTTP CloudEvents
endpoint.
Header format:
https://github.com/cloudevents/spec/blob/main/cloudevents/adapters/aws-s3.md

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
2022-01-13 12:08:40 +02:00
Travis Nielsen 9840273d8e Merge pull request #9546 from travisn/helm-upgrade-test
tests: Helm upgrade integration test
2022-01-12 13:24:41 -07:00
Travis Nielsen 8fb758fee9 test: implement helm upgrade integration test
The helm tests were previously only for new installs, and did
not have an upgrade path. Now the upgrade path is tested
to give confidence in the helm upgrades.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-01-12 07:19:42 -07:00
Travis Nielsen 52c938b7f9 test: remove obsolete check for test suites to run
The test suites were triggered by Jenkins potentially
using different versions of K8s and environment variables.
There is no longer a need for these environment vars to
determine which test suites should be run. The test
suites to run can just be triggered directly.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-01-11 11:10:50 -07:00
Travis Nielsen d1f3e3b9ad test: upgrade from v1.7.10
The upgrade test is best if run from the latest v1.7 patch release.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-01-11 11:10:48 -07:00
Sébastien Han fdbb741962 Merge pull request #9549 from rook/dependabot/go_modules/github.com/hashicorp/vault-1.8.5
build(deps): bump github.com/hashicorp/vault from 1.8.2 to 1.8.5
2022-01-11 16:14:12 +01:00
Travis Nielsen 714046b55f Merge pull request #9554 from henryzhangsta/cluster-monitoring-helm
helm: use operatorNamespace if exists for monitoring RBAC
2022-01-11 08:07:11 -07:00
Travis Nielsen dbcd2f8a30 Merge pull request #9560 from leseb/fix-2039240
osd: use cluster name when fetching the cephcluster
2022-01-11 07:48:25 -07:00
Sébastien Han 0a54db935b osd: use cluster name when fetching the cephcluster
Previously we were using the namespace, it's a mistake, even though most
clusters use the same name as the namespace.
Let's be precise and use the cluster name when looking for it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2022-01-11 15:05:59 +01:00
Henry Zhang 3d89834ee4 helm: use operatorNamespace if exists for monitoring RBAC
right now the RoleBinding for monitoring is created with the cluster namespace as the subject
this causes the operator to loop on reconcile due to it not having permissions to create monitors
in the other cluster

moving the subject to the operator namespace fixes this

Signed-off-by: Henry Zhang <me@henry.dev>
2022-01-10 20:53:18 -05:00
dependabot[bot] 42cdf84bad build(deps): bump github.com/hashicorp/vault from 1.8.2 to 1.8.5
Bumps [github.com/hashicorp/vault](https://github.com/hashicorp/vault) from 1.8.2 to 1.8.5.
- [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.8.2...v1.8.5)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/vault
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 15:14:08 +00:00
Sébastien Han 511c250336 Merge pull request #9411 from parth-gr/external-cluster-permission-security
security: update auth permissions for external cluster
2022-01-10 16:12:42 +01:00
parth-gr 4a3088c580 security: make cephfs_filesystem_name flag optional
cephfs_filesystem_name flag isn't mandatory if restricted_auth_permission
is on.

Signed-off-by: parth-gr <paarora@redhat.com>
2022-01-07 20:27:05 +05:30
Travis Nielsen 65e75556ad Merge pull request #9485 from BlaineEXE/reduce-wildcard-permissions
core: limit use of wildcards in cluster-scoped rbac
2022-01-06 13:13:42 -07:00
Travis Nielsen 15b7dcb2c9 Merge pull request #9539 from travisn/build-version-regex
build: Replace local build tag with regex
2022-01-06 11:06:00 -07:00
Travis Nielsen 7167de0601 build: replace local build tag with regex
The local build tag replacement in the CI should work the same
whether in master or release branches, so we use a regex to
match any rook/ceph tag to be renamed to the local-build tag.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-01-06 10:37:39 -07:00
Travis Nielsen c6a59a887a Merge pull request #9530 from travisn/mailing-lists
docs: Remove mailing lists from main readme
2022-01-06 09:42:06 -07:00
Travis Nielsen 33381feb10 Merge pull request #9533 from cybozu-go/core-rgw-fix-startup-probe
rgw: fix startup probe
2022-01-06 09:19:09 -07:00
Travis Nielsen 5060294895 docs: remove mailing lists from main readme
The info email list and rook-dev forum are targeted frequently by
spam and otherwise not used by the community. Let's focus on the
useful channels of slack, github, and security emails.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-01-06 07:49:08 -07:00
Satoru Takeuchi af88b50fc7 rgw: fix startup probe
It's better to set the same handler to startupProbe as livenessProbe.
Otherwise, we might hit the following problem.

https://github.com/rook/rook/issues/6304

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2022-01-06 06:20:53 +00:00
Blaine Gardner 684fe30126 core: limit use of wildcards in cluster-scoped rbac
Rook needs to be able to watch all `ceph.rook.io` resources to reconcile
them; however, it does not need blanket verb privileges. Reduce the
privileges as much as possible.

Ideally, Rook would only have update permissions to status and
finalizers of resources; however, finalizers are not a full-fledged
subresource at this time, and "update" permissions must be maintained
for `ceph.rook.io` resources.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-01-05 17:10:14 -07:00
Satoru Takeuchi b69719ae77 Merge pull request #9529 from BlaineEXE/update-to-latest-lib-bucket-provisioner
object: update to latest lib-bucket-provisioner
2022-01-06 07:45:48 +09:00
Blaine Gardner ae306e434a object: update to latest lib-bucket-provisioner
The latest lib-bucket-provisioner has a corner case fix for a bucket
with `generateName` equal to exactly 27 chars, which will result in an
ObjectBucket with 64 chars. 63 chars is the max allowed by Kubernetes.

See:
https://github.com/kube-object-storage/lib-bucket-provisioner/pull/220

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-01-05 12:40:18 -07:00
parth-gr 6ed7423bac security: update auth permissions for external cluster
Added a clusterName, poolName , filesystemName, radosNamespace
as a suffix on ceph auth principals for external cluster so
every csi authentication would be unique if
restricted_auth_permission flag is specified.

Closes: https://github.com/rook/rook/issues/9192
Signed-off-by: parth-gr <paarora@redhat.com>
2022-01-05 13:51:41 +05:30
Satoru Takeuchi 51d569eecc Merge pull request #9522 from subhamkrai/fix-doc
docs: add section for `disruptionManagement`
2022-01-05 16:43:39 +09:00
subhamkrai 0b0c8da558 docs: add section for disruptionManagement
Adding section `disruptionManagement` which was
removed unintentionally in PR 8381.

Signed-off-by: subhamkrai <srai@redhat.com>
2022-01-05 09:51:48 +05:30
Blaine Gardner 5b26cb1b22 Merge pull request #9400 from yuvalif/ceph-notification-events
rgw: add events to CephBucketNotification CR
2022-01-04 12:58:20 -07:00
Blaine Gardner 5b9ac16670 Merge pull request #9468 from BlaineEXE/startup-probes
core: rgw: allow specifying daemon startup probes
2022-01-04 11:03:12 -07:00
Travis Nielsen ee5ce2e14f Merge pull request #9512 from leseb/fix-9493
core: run discover daemonset as root uid
2022-01-04 09:53:23 -07:00
Travis Nielsen 9f841eda7d Merge pull request #9515 from leseb/fix-csv-name-ocp
build: use the same csv name for all platforms
2022-01-04 09:40:25 -07:00
Sébastien Han 7cf9285501 build: use the same csv name for all platforms
Recently with the directory renaming to "deploy/olm" the CSV name
changed from "ceph" to "olm". Now we are using the same "rook-ceph" name
regardless of the platform.

Signed-off-by: Sébastien Han <seb@redhat.com>
2022-01-04 14:15:22 +01:00
Sébastien Han dd67b866dc core: run discover daemonset as root uid
So that the tool inside the container has the permission to run
correctly, e.g: sgdisk.

Clsoes: https://github.com/rook/rook/issues/9493
Signed-off-by: Sébastien Han <seb@redhat.com>
2022-01-03 12:36:23 +01:00
Satoru Takeuchi 376ca62f8a Merge pull request #9491 from rspier/patch-1
Update ceph-monitoring.md
2021-12-28 16:35:49 +09:00
Robert Spier a60b154c76 docs: fix indentation
Fix indentation for `monitoring:` block example.  It belongs inside the
`spec:`.

Signed-off-by: Robert Spier <rspier@pobox.com>
2021-12-26 21:23:52 -08:00
Satoru Takeuchi 32e7084e88 Merge pull request #9489 from cybozu-go/add-helm-to-build-requirements
build: add missing helm
2021-12-27 12:39:45 +09:00
Satoru Takeuchi a7b5f06622 build: add missing helm
If helm is not install, `make` fails with the following log.

```console
./build/rbac/get-helm-rbac.sh: line 25: helm: command not found
```

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2021-12-27 02:13:32 +00:00
Yuval Lifshitz 11727b1673 rgw: add events to CephBucketNotification CR
the events are used to mark the start/success/failure of the reconciliation
and also to log the bucket names on which the CephbucketNotification is
created

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
2021-12-26 16:58:49 +02:00
Blaine Gardner c07d89d9ea core: rgw: allow specifying daemon startup probes
Allow specifying daemon startup probes where we also allow configuring
liveness probes. Startup probes allow Rook to tolerate when Ceph daemons
occasionally take a long time to start up while not also making
Kubernetes liveness probes slower to detect runtime failures of daemons.

Startup probes are beta in Kubernetes 1.18, so we should not enable
probes by default for earlier Kubernetes versions.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-12-21 15:12:41 -07:00
Blaine Gardner bb0d0d39f6 Merge pull request #9384 from leseb/fix-7036
subvolumegroup: add new crd
2021-12-21 10:24:23 -07:00
Blaine Gardner cb1b063e13 Merge pull request #9365 from thotz/bucketnotificationadditionimprovement
object: fix handling for notifications for OBC
2021-12-21 10:23:32 -07:00
Sébastien Han 6e9eb33782 subvolumegroup: add new crd
This introduces a new CRD to add the ability to create subvolumegroup
for a given ceph filesystem volume. Typically the name of the volume is
the name of the filesystem created by rook.

Closes: https://github.com/rook/rook/issues/7036
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-12-21 16:28:38 +01:00
Sébastien Han 77b18f0553 Merge pull request #9434 from leseb/bz-2032656
osd: handle removal of encrypted osd deployment
2021-12-21 16:14:34 +01:00