Commit Graph
13292 Commits
Author SHA1 Message Date
Sébastien Han 889856b78f core: add s5cmd binary to operator image
The toolbox can now interact with S3 gateways using the `s5cmd` tool.
The binary is only 12M so this does not add up too much to the operator
image size.

Closes: https://github.com/rook/rook/issues/4968
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-09 16:56:30 +01:00
Travis Nielsen 35e3ebd1d2 helm: enable cephfs volume expansion by default
The cluster helm chart missed adding the default setting
for the volume expansion, so now we enable it by default.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-11-09 07:35:02 -07:00
Travis Nielsen 54d532b623 Merge pull request #9125 from sp98/update-scc
core: add `AllowHostDirVolumePlugin: true` to SCC and remove unused imports
2021-11-09 07:26:28 -07:00
subhamkrai 99358688d8 ci: use github composition to reduce duplication
Using Github Compositoin to reduce the yaml duplication.
https://github.blog/changelog/2021-08-25-github-actions-reduce-duplication-with-action-composition/

Closes: https://github.com/rook/rook/issues/8637
Signed-off-by: subhamkrai <srai@redhat.com>
2021-11-09 16:41:55 +05:30
Blaine Gardner 5a7dee2f63 nfs: restart nfs servers when configmap is updated
When the configuration configmap is updated for a CephNFS server, the
NFS application should restart to ensure it is running with the latest
config.

Fixes #9028

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-11-08 11:01:09 -07:00
Sébastien Han 8cfaedcbf6 Merge pull request #9127 from leseb/fix-9090
ci: wait for kubeproxy to be ready
2021-11-08 18:16:57 +01:00
Sébastien Han 0e26176b54 ci: wait for kubeproxy to be ready
When requesting issuer, we run a local kubectl proxy command which spawn
a proxy server. However, we must wait for the proxy to be ready before
we actually start making requests to it.
Now the CI waits up to 10sec to retrieve the issuer.

Closes: https://github.com/rook/rook/issues/9090
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-08 17:45:53 +01:00
Santosh Pillai 650a451d65 core: remove unused imports
removed unused import of embed package from scc.go file

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2021-11-08 19:56:47 +05:30
Santosh Pillai 584b3bd328 core: add AllowHostDirVolumePlugin: true to SCC
Adds AllowHostDirVolumePlugin to the go representation of the rook-ceph
SCC for using the hostPath. Also making it consistent with the yaml
representation.

From Openshift docs

For backwards compatibility, the usage of allowHostDirVolumePlugin overrides
settings in the volumes field. For example, if allowHostDirVolumePlugin is
set to false but allowed in the volumes field, then the hostPath
value will be removed from volumes.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2021-11-08 19:55:54 +05:30
Satoru Takeuchi cd4862a7f7 Merge pull request #9123 from leseb/fix-arm64
ci: fix arm64 job
2021-11-08 20:19:11 +09:00
Sébastien Han dd351a914a Merge pull request #9122 from leseb/error-on-failure
core: fail if config dir creation fails
2021-11-08 09:51:51 +01:00
Sébastien Han d081a3e764 ci: fix arm64 job
They are no arm64 packages for ceph-nfs so we must skip this validation
for the nightly arm64 CI job.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-08 09:18:23 +01:00
Sébastien Han 10a114a45a core: fail if config dir creation fails
If the operator fails to create the operator's configuration directory
then we should fail the Operator.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-08 08:48:35 +01:00
Travis Nielsen 6f4a68c81f Merge pull request #9116 from travisn/osd-prepare-cleanup-timeout
osd: Increase wait timeout for osd prepare cleanup
2021-11-05 15:11:09 -06:00
Travis Nielsen 427996a7c0 osd: increase wait timeout for osd prepare cleanup
When a reconcile is started for OSDs, the prepare jobs are first
deleted from a previous reconcile. The timeout for the osd prepare
job deletion was only 40s. After that timeout, the reconcile attempts
to continue waiting for the pod, but of course will never complete
since the OSD prepare was not running in the first place, causing the
reconcile to wait indefinitely. In the reported issue, the osd prepare
jobs were actually deleted successfully, the timeout just wasn't long
enough. Pods need at least a minute to be forcefully deleted,
so we increase the timeout to 90s to give it some extra buffer.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-11-05 14:20:43 -06:00
Sébastien Han 3b85de420f Merge pull request #8744 from leseb/fix-8734
ceph: run operator with rook user
2021-11-05 17:56:54 +01:00
Sébastien Han d06a6f93a5 core: run operator with rook user
The rook operator as well as the toolbox pod run with the "rook" user
with UID 2016. The UID was chosen based on the year of the initial
commit in the rook/rook repository.
No more root user running.

Closes: https://github.com/rook/rook/issues/8734
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-05 17:22:04 +01:00
Sébastien Han 1294d511fc Merge pull request #9086 from leseb/build-for-linux-only
build: only produce binary for linux
2021-11-05 17:18:16 +01:00
Travis Nielsen be48cc8028 Merge pull request #9107 from travisn/ec-maximum
pool: Allow more data chunks in an ec pool
2021-11-05 10:13:06 -06:00
Travis Nielsen 53b6c7128e pool: allow more data chunks in an ec pool
The schema has a limit of 9 data and 9 coding chunks in an EC pool.
While not typically recommended, more data chunks may be desired.
Ceph does not have a limit, so we match the behavior and also
allow any number of desired chunks to be specified.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-11-05 08:27:46 -06:00
Travis Nielsen 6dc0cc54b9 Merge pull request #8426 from yuvalif/ceph-bucket-notifications
ceph: support bucket notifications for object storage
2021-11-04 17:35:08 -06:00
Blaine Gardner 685cf0e6d7 Merge pull request #9092 from leseb/fix-bound_service_account_names
osd: use multiple service account for vault role
2021-11-04 16:00:20 -06:00
Blaine Gardner cd480df581 Merge pull request #9112 from BlaineEXE/allow-push-image-build-on-tag-again
Revert "ci: trigger push build action after tag creation"
2021-11-04 14:48:36 -06:00
Blaine Gardner 30e02c1063 Revert "ci: trigger push build action after tag creation"
This reverts commit c53304c3b4.

After experimenting with this release, we have found that the
`workflow_run` action source doesn't work for branches. The
documentation was updated with this PR and has more detail.
https://github.com/github/docs/pull/531

For now, we will revert back to using on.push.tags = ["v*"]

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-11-04 14:40:37 -06:00
Travis Nielsen 41ef578859 Merge pull request #9055 from humblec/ephemeral
ceph: support ephemeral volumes with Ceph CSI RBD and CephFS driver
2021-11-04 09:03:56 -06:00
Sébastien Han be1c5931ed Merge pull request #9098 from travisn/consistent-downgrade
core: Allow downgrade of all daemons consistently
2021-11-04 15:41:15 +01:00
Sébastien Han 16729e0e38 osd: use multiple service account for vault role
We can pass bound_service_account_names with a comma separated list of
service accounts. Let's do this instead of remapping new values.
Earlier, we thought a single service account could be added per Vault
role and we were using other variables like
`VAULT_AUTH_KUBERNETES_ROOK_OPERATOR_ROLE` that we were remapping to
`VAULT_AUTH_KUBERNETES_ROLE` internal for the API calls to Vault.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-04 15:15:46 +01:00
Sébastien Han 6fb67a297d build: only produce binary for linux
We now build rook to build only for linux platforms and not darwin nor
windows anymore.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-04 15:13:40 +01:00
Sébastien Han e08755ef61 build: make CGO_ENABLED configurable
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-04 15:13:40 +01:00
Yuval Lifshitz 71ed45b69b rgw: implement bucket notifications for object storage
following the design from here:
https://github.com/rook/rook/blob/master/design/ceph/object/ceph-bucket-notification-crd.md

Closes: https://github.com/rook/rook/issues/5313
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
2021-11-04 11:20:40 +02:00
Travis Nielsen 0c6ed25c4e core: allow downgrade of all daemons consistently
In the event a ceph image is specified that is lower than the current running
version of the daemons, the downgrade is allowed, even if not technically
supported. All of the core daemons (mon,mgr,osd) were being downgraded,
but the daemons for other controllers (rgw,mds,rbdmirror) were not being
downgraded, resulting in an inconsistent cluster. Now we log that the downgrade
is not supported and all all of the daemons to be downgraded.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-11-03 17:03:39 -06:00
Travis Nielsen b3b8172e13 Merge pull request #9056 from leseb/fix-8851
docs: simplify dev guide
2021-11-03 12:34:41 -06:00
Sébastien Han 85f8fdec5a docs: simplify dev guide
We removed the obsolete `minikube.sh` script for a cleaner dev
procedure.

Closes: https://github.com/rook/rook/issues/8851
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-03 18:56:33 +01:00
Sébastien Han 01bb0c1e61 Merge pull request #9091 from leseb/fix-9076
rbd-mirror: use a sorted list for peer token content
2021-11-03 18:22:25 +01:00
Sébastien Han 8cb6cdcea4 rbd-mirror: use a sorted list for peer token content
The monitor list was not sorted, so each time we were reconciling, the
peer secret token will see its content updated with randomized
monitors. This would enter our predicate and trigger a reconcile.
Potentially an endless one, if the randomized list is already different.

Closes: https://github.com/rook/rook/issues/9076
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-03 17:48:54 +01:00
Travis Nielsen cbe29baf76 Merge pull request #9068 from aruniiird/fix-CephMonQuorumLost-alert-query
ceph: fix 'CephMonQuorumLost' alert
2021-11-02 10:21:24 -06:00
Humble Chirammal dcf522c37d csi: support ephemeral volumes with Ceph CSI RBD and CephFS driver
This commit make required changes for ceph csi drivers to work with
ephemeral volume support. With ephemeral volume support a user can
specify ephemeral volumes in its pod spec and tie the lifecycle
of the PVC with the POD.

An example POD spec looks like this:

```
kind: Pod
apiVersion: v1
metadata:
  name: csi-rbd-demo-ephemeral-pod
spec:
  containers:
    - name: web-server
      image: docker.io/library/nginx:latest
      volumeMounts:
        - mountPath: "/myspace"
          name: mypvc
  volumes:
    - name: mypvc
      ephemeral:
        volumeClaimTemplate:
          spec:
            accessModes: ["ReadWriteOnce"]
            storageClassName: "rook-ceph-block"
            resources:
              requests:
                storage: 1Gi
```

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2021-11-02 19:53:39 +05:30
Arun Kumar Mohan af44e5c584 monitoring: fix 'CephMonQuorumLost' alert
Only the 'Running' mons with result value of '1' should be counted.

Signed-off-by: Arun Kumar Mohan <amohan@redhat.com>
2021-11-02 17:40:50 +05:30
Travis Nielsen defa5cae23 Merge pull request #8643 from llamerada-jp/ceph-rgw-convert-LivenessProbe-to-ReadinessProbe
rgw: change the way to livenessProbe and introduce readinessProbe
2021-10-29 11:07:35 -06:00
Yuzuki Mimura 536b59ef0f rgw: change the way to livenessProbe and introduce readinessProbe
rgw doesn't respond `livenessProbe` if the number of connection reaches its
limit (by default, 1000). Then rgw is out of service but still live.
Hense the current `livenessProbe` logic is suitiable for `readinessProbe`.
`tcpSocket` is enough for `livenessProbe`.

Closes: #8407

Signed-off-by: Yuzuki Mimura <yuzuki725.m@gmail.com>
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2021-10-29 15:07:29 +00:00
Sébastien Han 2db8288564 Merge pull request #9063 from leseb/fix-9062
mgr: do not set the balancer mode on pacific
2021-10-29 16:52:04 +02:00
Satoru Takeuchi e60e970c15 Merge pull request #9070 from cybozu-go/test-remove-unnecessary-check-in-rgw-multisite-testing
test: remove an unnecessary check in rgw-multisite-testing
2021-10-29 23:25:31 +09:00
Satoru Takeuchi 79571d860a test: remove an unnecessary check in rgw-multisite-testing
The deployment of the OSD is already confirmed at the end of
`deploy first cluster rook' step.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2021-10-29 13:52:35 +00:00
Sébastien Han bccc84efa2 mgr: do not set the balancer mode on pacific
On Pacific, Ceph's default is "upmap", so we should let it be
like this.
This lets the user change the mode is desired.
On Octopus though, Rook continues to force the mode to "upmap".

Closes: https://github.com/rook/rook/issues/9062
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-10-29 15:43:29 +02:00
Sébastien Han c3d4ead6d6 Merge pull request #9040 from leseb/fix-9034
nfs: add pool setting CR option
2021-10-29 15:42:48 +02:00
Travis Nielsen 9e492bb5b3 Merge pull request #9065 from degorenko/doc-fix-for-objectstore
docs: add doc note for caBundleRef for cephobjectstore
2021-10-29 07:26:15 -06:00
Satoru Takeuchi f46e5ffe3a Merge pull request #9064 from leseb/update-toolbox-example
docs: stop pasting toolbox yaml in doc
2021-10-29 20:01:39 +09:00
Denis Egorenko 7f9f760d70 docs: add doc note for caBundleRef for cephobjectstore
Add missed doc note for caBundleRef added as fix for issue
https://github.com/rook/rook/issues/8490

Related-Issue: https://github.com/rook/rook/issues/8490
Signed-off-by: Denis Egorenko <degorenko@mirantis.com>
2021-10-29 14:19:35 +04:00
Sébastien Han ffd6ff3154 docs: stop pasting toolbox yaml in doc
We should only rely on the content of the repo and not copy YAML
examples into the documentation as it forces us to keep all versions in
sync all the time. The examples directory is the only source of truth.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-10-29 10:51:07 +02:00
Sébastien Han e0145b9643 nfs: add pool setting CR option
Ths NFS spec now supports the CephBlockPool spec which means that it can
take advantage of all the known settings like compression, size, failure
domain etc.

Closes: https://github.com/rook/rook/issues/9034
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-10-29 09:04:31 +02:00