Commit Graph
7961 Commits
Author SHA1 Message Date
Satoru Takeuchi 30e4fbb01f ceph: make the timeout of ceph commands cofigurable
Sometimes the default 15s is not enough for timeout of ceph commands. For examples,
I encountered that `radosgw-admin` command took dozens of seconds under heavy load.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2021-07-27 12:42:16 +00:00
Travis Nielsen 7830095809 build: promote the build with tag suffix if needed
The beta releases should have the tag suffx included in
the helm chart and release version tags.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit a1d37b4efc)
2021-07-26 17:34:25 -06:00
Travis Nielsen 0f797e74ca build: unshallow not needed with fetch-depth 0
The unshallow step in the action is replaced now with the
fetch-depth: 0 option on the checkout@v2 action.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit c6d8df931f)
2021-07-26 17:34:19 -06:00
Travis Nielsen 67a3822e95 build: publish and promote with correct branch name
The tagged builds will run git checkout on the correct tag,
though the publish and promote actions expect a branch name
to be available due to internal build assumptions. Now the
publish looks up the branch name from the tag and passes
it to the publish command as expected.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit d8c5f459de)
2021-07-26 17:34:10 -06:00
Travis Nielsen 0330afeea6 Merge pull request #8370 from parth-gr/mon-interval
ceph: updated mon health check goroutine for reconfiguring patch values
2021-07-26 16:30:10 -06:00
Joseph Sawaya 1ddc390d1e ceph: update rook-ceph-mgr-cluster role rules to include PV and SC
Since we changed the Rook orchestrator module for Ceph, it now has
to access Storage Classes and Persistent Volumes in the cluster to
gather inventory and create OSDs so we have to make changes to the
rook-ceph-mgr-cluster role so the orchestrator has permission to
access these resources.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
2021-07-26 13:42:21 -04:00
parth-gr 6ebd109088 ceph: updated mon health check goroutine for reconfiguring patch values
When changing the settings for the Rook mon health check
(.spec.healthCheck.mon) in the CephCluster resource,
the mon health check isn't reconfigured with the new values

Updated checkHealth goroutine so it can
updates the new patched values

Closes: https://github.com/rook/rook/issues/8363
Signed-off-by: parth-gr <paarora@redhat.com>
2021-07-26 22:51:37 +05:30
Sébastien Han 40489028f5 Merge pull request #8037 from TimothyAsirJeyasing/ocs-ceph-dashboar-link
ceph: add ceph dashboard link
2021-07-26 18:03:54 +02:00
Travis Nielsen ed07d5f5a8 Merge pull request #8375 from travisn/release-run-tests
build: Run integration tests on release branch and tags
2021-07-26 07:51:37 -06:00
Timothy Asir Jeyasingh 8426f63404 ceph: add ceph dashboard link
Ceph dashboard link will be used for the
external cluster in OCS.
Ignore error handling.

Signed-off-by: Timothy Asir Jeyasingh <tjeyasin@redhat.com>
2021-07-26 19:00:16 +05:30
Sébastien Han 95505592c8 Merge pull request #8376 from travisn/release-1.7-backport-bot
build: Add release-1.7 mergify backport rule
2021-07-26 09:29:26 +02:00
Travis Nielsen 3f3c97a586 build: auto add the nfs label based on the pr title
The cassandra and ceph PRs already had the label added automatically,
now the nfs PRs will also have a label added.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-07-23 15:57:13 -06:00
Travis Nielsen 27a2b468ba build: add mergify backport for 1.7 and remove 1.3 support
The mergify bot now has rules for backporting to the release-1.7
branch. Backporting to 1.3 is no longer needed, so we can remove
that backport rule.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-07-23 15:55:59 -06:00
Travis Nielsen b9b2391fe9 build: run integration tests on release branch and tags
The integration test actions were not running on the release branch
or tags due to an incorrect condition.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 1052abac30)
2021-07-23 15:46:03 -06:00
Travis Nielsen 3b251a450e Merge pull request #8371 from leseb/fix-master
ceph: remove non-existing mock
v1.7.0-alpha.0
2021-07-23 10:55:36 -06:00
Travis Nielsen 61b85a2d3a Merge pull request #8372 from subhamkrai/add-missing-function
ci: missing function call in script
2021-07-23 10:55:10 -06:00
subhamkrai e291afad07 ci: missing function call in script
in pr 8328, function call was missing
so action for pushing the image is not
starting.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-07-23 22:05:15 +05:30
Sébastien Han 2481e0c85c ceph: remove non-existing mock
This is what happens when you merge without rebasing onto master
first...
MockExecuteCommandWithOutputFile is gone in
https://github.com/rook/rook/pull/8351 but
https://github.com/rook/rook/pull/8353 was merged before and
https://github.com/rook/rook/pull/8351 should have been rebased first.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-07-23 18:29:08 +02:00
Travis Nielsen 069bc484ee Merge pull request #8328 from subhamkrai/action-for-release-build
ci: action for release build
2021-07-23 10:21:30 -06:00
Sébastien Han c8ee5674dd Merge pull request #8103 from leseb/rm-jenkins
ci: remove jenkins from master branch
2021-07-23 18:20:10 +02:00
Sébastien Han d55fb8d13b Merge pull request #8351 from leseb/refact-exec-helpers
ceph: remove unnecessary exec helpers
2021-07-23 18:12:57 +02:00
Sébastien Han 0811359d28 Merge pull request #8358 from leseb/move-to-quay
ceph: move all of our docker.io reference to quay.io
2021-07-23 18:03:53 +02:00
Sébastien Han 3d75920bd7 Merge pull request #8353 from leseb/mock-admin-ops-api
ceph: mock object store user create
2021-07-23 17:57:41 +02:00
Sébastien Han daf53ea585 ceph: add unit test for object store user dependents
Now that we have the mock client for the admin ops api we can add unit
tests.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-07-23 10:01:53 +02:00
Sébastien Han 733c0f72f6 ceph: mock object store user create
Since the mock client was added to the rgw/admin package from the
go-ceph project in https://github.com/ceph/go-ceph/pull/532 we can now
mock the HTTP client and validate the entire reconcile.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-07-23 10:01:53 +02:00
subhamkrai 492a8176e0 ci: action for release build
this commit adds github action for
release builds and also modify the
helper script `build-release.sh`.

Closes: https://github.com/rook/rook/issues/8041
Signed-off-by: subhamkrai <srai@redhat.com>
2021-07-23 13:09:30 +05:30
Sébastien Han 6d77a9976c ceph: remove unnecessary exec helpers
Both `ExecuteCommandWithOutputFileTimeout()` and
`ExecuteCommandWithOutputFile()` generate unnecessary system calls by
creating/reading/removing files where the stream output of the command
can simply be used. So sticking with `ExecuteCommandWithOutput()` and
`ExecuteCommandWithCombinedOutput()` for reading outputs is sufficient.

Closes: https://github.com/rook/rook/issues/8343
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-07-23 09:16:33 +02:00
Travis Nielsen 9c06d236b6 Merge pull request #8356 from travisn/cronjob-beta
ceph: Update test to watch for v1 cronjob instead of v1beta1
2021-07-22 12:05:46 -06:00
Travis Nielsen 013e3a22a3 Merge pull request #8359 from leseb/rbd-mirror-code
ceph: remove `removeExtraMirrors()`
2021-07-22 11:34:21 -06:00
Travis Nielsen 16403ac901 Merge pull request #8350 from leseb/fix-7183
ceph: remove operator config `ROOK_ALLOW_MULTIPLE_FILESYSTEMS`
2021-07-22 11:33:40 -06:00
Travis Nielsen 07ddcda0ce ceph: update test to watch for v1 cronjob
The v1beta1 cronjob is deprecated and needs to use v1 for K8s 1.16 and newer

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-07-22 11:25:55 -06:00
Travis Nielsen fd141af92c Merge pull request #8319 from BlaineEXE/disable-raw-mode-for-disks
ceph: disable raw mode for disks
2021-07-22 11:17:54 -06:00
Blaine Gardner c8a2db368a ceph: disable raw mode for disks
Even if we can use raw mode, do NOT use raw mode on disks. Ceph bluestore disks can
sometimes appear as though they have "phantom" Atari (AHDI) partitions created on them
when they don't in reality. This is due to a series of bugs in the Linux kernel when it
is built with Atari support enabled. This behavior does not appear for raw mode OSDs on
partitions, and we need the raw mode to create partition-based OSDs. We cannot merely
skip creating OSDs on "phantom" partitions due to a bug in `ceph-volume raw inventory`
which reports only the phantom partitions (and malformed OSD info) when they exist and
ignores the original (correct) OSDs created on the raw disk.

Resolves https://github.com/rook/rook/issues/7940

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-07-22 09:59:56 -06:00
Travis Nielsen ab728e0183 Merge pull request #7977 from parth-gr/update-PodDisruptionBudget
ceph: update PodDisruptionBudget from v1beta1 to v1
2021-07-22 09:14:32 -06:00
Travis Nielsen 85f9b57ad6 Merge pull request #8340 from ashangit/master_purge_job_multi_ns
ceph: define specific ServceAccount/RBAC for ceph osd purge job
2021-07-22 07:15:47 -06:00
Sébastien Han 7c5a86cb85 ceph: remove operator config ROOK_ALLOW_MULTIPLE_FILESYSTEMS
Multiple filesystems are supported as of the Ceph Pacific release. So we
remove the flag from the operator configuration and just have a ceph
version check instead.

The Operator configuration option `ROOK_ALLOW_MULTIPLE_FILESYSTEMS`
has been removed in favor of simply verifying the Ceph version is
at least Pacific.
Multiple filesystems are stable since Ceph Pacific.
So users who had `ROOK_ALLOW_MULTIPLE_FILESYSTEMS` enabled will
need to update their Ceph version to Pacific.

Closes: https://github.com/rook/rook/issues/7183
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-07-22 11:42:33 +02:00
Sébastien Han 6bce1ff3e9 ceph: move all of our docker.io reference to quay.io
Recently, the builds of `ceph/ceph` image moved to quay.io, see
https://github.com/ceph/ceph-build/pull/1883 for more details.
Current images will remain but new builds will happen on quay.io only.

This means that tags such as `v14.2`, `v15.2`,`v16.2` will need to
switch to quay.io to get updates.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-07-22 11:17:05 +02:00
parth-gr 77813f7093 ceph: update PodDisruptionBudget from v1beta1 to v1
This commit update the PodDisruptionBudget policy to use version v1
Updated to policy/v1 as policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+

Closes: https://github.com/rook/rook/issues/7917
Signed-off-by: parth-gr <paarora@redhat.com>
2021-07-22 14:09:33 +05:30
n.fraison f7bc76abad ceph: define specific ServceAccount/RBAC for ceph osd purge job
Currently ceph osd purge job rely on rook-ceph-system service account which is only created
on the rook operator namespace
When multiple clusters are deployed on distinct namespace the ceph osd purge failed to run
as the service account is not available
Creating a specific service account rook-ceph-purge-osd with appropriate rights on each cluster
namespace and operator namespace to still manage case where cluster is installed
along side the operator

Signed-off-by: n.fraison <n.fraison@criteo.com>
2021-07-22 00:25:32 +02:00
Travis Nielsen 5f30d538a4 Merge pull request #8348 from travisn/disable-v1beta1-ci
build: Min version for cassandra and nfs tests is k8s 1.16
2021-07-21 10:05:16 -06:00
Sébastien Han 0eaa1e71d1 ceph: remove removeExtraMirrors()
Since https://github.com/rook/rook/pull/7180 rook does not deployment
multiple deployments of the rbd-mirror daemon but uses replicas. Users
have upgraded from subsequent 1.6.x release and have that supported so
we can remove this code that was scale up/down the number of
deployments.

Closes: https://github.com/rook/rook/issues/7183
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-07-21 15:11:40 +02:00
Travis Nielsen 7b1df8bc80 Merge pull request #8352 from leseb/fix-yq-path
ci: change `yq` path to /usr/local/bin/yq
2021-07-21 07:09:44 -06:00
Sébastien Han db40a31bb2 ci: change yq path to /usr/local/bin/yq
So it will override any existing installation.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-07-21 14:15:07 +02:00
Travis Nielsen e7f44a8f3f build: min version for cassandra and nfs tests is k8s 1.16
The minimum K8s version for v1 CRDs is 1.16. Since support for
v1beta1 cassandra and nfs was removed and only v1 is supported,
the CI will now only run back to 1.16 for those providers.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-07-20 15:40:15 -06:00
Travis Nielsen e8f2edb3d4 Merge pull request #8252 from travisn/upgrade-from-1.6
ceph: Test upgrades from v1.6 to master
2021-07-20 13:15:58 -06:00
Travis Nielsen e660811ae0 Merge pull request #8344 from ashangit/rook-ceph-system
ceph: create rook-ceph-system ClusterRoleBinding in operator namespace
2021-07-20 11:45:07 -06:00
Travis Nielsen d1f02f22f3 ceph: test upgrades from v1.6 to master
With v1.7 approaching, the upgrade integration test will now test from
v1.6.x to the latest master, which will effectively become the v1.7
release soon.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-07-20 11:03:40 -06:00
Travis Nielsen c846f7a9fe Merge pull request #8326 from travisn/all-provider-crd-gen
Convert NFS and Cassandra CRDs to v1 and auto-generate the CRDs
2021-07-20 10:57:03 -06:00
Travis Nielsen 552a67bc3e Merge pull request #8330 from travisn/reconcile-mgr-services
ceph: Reconcile mgr services with every reconcile
2021-07-20 08:19:17 -06:00
Travis NielsenandNicolaj Græsholt f114db952b nfs: generate the crds from types for v1
The CRDs v1 requires the full schema for all settings, so we now
generate the CRDs for nfs for full fidelity of all settings.

Co-authored-by: Nicolaj Græsholt <figaw@hotmail.com>
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-07-20 08:18:05 -06:00