Commit Graph
7961 Commits
Author SHA1 Message Date
Sébastien Han 5520ee35bb ceph: check if ok-to-stop even on failure
Even if we cannot determine wheter all the OSDs are running on the host,
we still need to perform the ok-to-stop check. It is far more common to
have more than 3 OSDs anyways.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-06-05 15:06:35 +02:00
Sébastien Han a29aa38bc1 Merge pull request #5528 from RyuunoAelia/operator-sdk-update
chore: Make csv generation work with operator-sdk 0.15.0 and later, remove support for previous versions.
2020-06-05 14:13:19 +02:00
Madhu Rajanna 09ccf55453 ceph: update cephcsi to v2.1.2
Cephcsi v2.1.2 is released with bug fixes,
refer https://github.com/ceph/ceph-csi/releases/tag/v2.1.2
for release details.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-06-05 14:43:05 +05:30
Jared Watts 67075f6cf7 Merge pull request #5541 from prksu/fix-nfs-gvk
design: rename nfs object kind
2020-06-04 22:38:30 -07:00
Travis Nielsen d7448c1e9b Merge pull request #5593 from cybozu-go/ceph-fix-the-document-of-osd-management
ceph: fix the document of OSD management
2020-06-04 13:29:32 -06:00
Travis Nielsen 872e6ff44a Merge pull request #5585 from ashangit/podAntiAffinity_rgw
ceph: fallback podAntiAffinity to preferredDuringSchedulingIgnoredDuringExecution on rgw
2020-06-04 13:28:14 -06:00
Travis Nielsen 9fc164071d Merge pull request #5594 from leseb/fix-5495
ceph: do not use external node IP for mon endpoint
2020-06-04 13:24:44 -06:00
Satoru Takeuchi 91e7912336 ceph: fix the document of OSD management
Removing a disk is not mandatory after the data in the corresponding
OSD is moved to other OSDs. It's better to just let users to know it's
safe to remove the disk.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-06-04 16:32:05 +00:00
Sébastien Han d09e3dbd8b Merge pull request #5582 from leseb/no-ci-on-draft
ci: do not run the pipeline if PR is draft
2020-06-04 15:46:00 +02:00
Sébastien Han bfa3b4daf4 ceph: do not use external node IP for mon endpoint
When the cluster is using HostNetworking, Rook was either picking up the
external or internal IP of the node. This resulted in mon endpoints have
public IP addresses. Those IP are not reachable from within the cluster
so OSD/CSI couldn't access the monitors from the configmap endpoint.

Also, exposing the cluster on a public network does not seem realistic,
so sticky with private/internal IP addresses is better.

Closes: https://github.com/rook/rook/issues/5495
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-06-04 14:12:45 +02:00
n.fraison c8df6c0faf ceph: add preferred pod anti-affinity on rgw if not host network
If host networking is not enabled add preferred pod anti-affinity on rgw pods to
improve spread of them

Signed-off-by: n.fraison <n.fraison@criteo.com>
2020-06-04 13:34:30 +02:00
Sébastien Han fc648970c4 Merge pull request #5511 from thotz/existingbucketsuserpolicy
obc: Do not delete user for retain policy if it is owner
2020-06-03 14:11:57 +02:00
Sébastien Han 5a36f335c0 Merge pull request #5276 from subhamkrai/osd-on-pvc
ceph: Updated initializeBlockPVC method and added unit tests.
2020-06-03 11:53:25 +02:00
Sébastien Han c9d306fe61 ci: do not run the pipeline if PR is draft
If the PR is a draft, it's not ready for review and most likely the CI
pipeline should not run as the code might be broken in some places.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-06-03 10:19:28 +02:00
Sébastien Han 9911e5ccc9 Merge pull request #5577 from leseb/obc-additional-config
ceph: fix obc additionalConfig field
2020-06-02 17:24:57 +02:00
Sébastien Han a90c18e0cb ceph: fix obc additionalConfig field
Some external consumers of Rook-Ceph are using the
lib-bucket-provisioner operator which creates different CRDs for both
objectbuckets.objectbucket.io and objectbucketclaims.objectbucket.io.
They have the `additionalConfig` declared in their spec. Rook-Ceph does
not and thus ignores it.
For the OB creation to work, the `additionalConfig` must be acknowledged
by the operator and populate or initialize it if empty.

This is preventing the following error:

controller.go:190] error syncing 'default/ceph-retain-bucket-converged': error creating OB "": ObjectBucket.objectbucket.io "obc-default-ceph-retain-bucket-converged" is invalid: spec.endpoint.additionalConfig: Invalid value: "null": spec.endpoint.additionalConfig in body must be of type object: "null", requeuing

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-06-02 16:04:20 +02:00
Travis Nielsen 3ac06a5336 Merge pull request #5568 from travisn/csi-driver-fail-load
Start csi driver in parallel of cluster configuration
2020-06-01 10:15:48 -06:00
Sébastien Han 3b0af29678 Merge pull request #5565 from travisn/obc-storageclass-provider
docs: update the obc provisioner name
2020-06-01 10:13:08 +02:00
Travis Nielsen 6c249e751b ceph: start csi driver in parallel of cluster
The csi driver does not need to be started before the cluster
is created. When the csi driver fails to load, neither should
it prevent the cluster from being created. Therefore, we
initialize the basic constructs in the csi driver that are required
for cluster creation, then start the csi driver in a goroutine
so the cluster creation can continue. If the csi driver fails
or takes a long time to load, it will no longer affect cluster
creation.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-05-29 16:42:22 -06:00
Travis Nielsen ffe12a8ba2 ceph: remove obsolete csi driver cleanup code
The csi driver is no longer removed based on the deletion
of a configmap. Removing obsolete code.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-05-29 15:14:19 -06:00
Travis Nielsen 001178fff9 Merge pull request #5551 from travisn/roadmap-1.4
core: update the Rook roadmap for 1.4 and beyond
2020-05-29 10:17:30 -06:00
Travis Nielsen 4781aeb556 core: update rook roadmap for 1.4
The roadmap was severely out of date from Rook v1.2. The
roadmap is updated to target 1.4 features as well
as a better list of features planned, but may not be
targeted for a particular rook release.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-05-29 10:06:03 -06:00
Travis Nielsen a8ca5fbffe Merge pull request #5562 from aruniiird/fixDataQuotesInExternalResourceScript
Ceph: Added the missing double quotes in JSON output
2020-05-29 09:33:15 -06:00
subhamkrai 4378a30c64 ceph: updated initializeBlockPVC method and added unit tests
Updated initializeBlockPVC method to add
crushDeviceClass along with
immediateExecuteArgs instead of
metadataArg. Also added unit tests for this method.

Signed-off-by: subhamkrai <subhamkumarrai03@gmail.com>
2020-05-29 12:30:19 +05:30
Travis Nielsen c1ee1104c8 docs: fix indentation on the commit prefixes
The list of commit prefixes in the doc were rendering on
a single line instead of as a list.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-05-28 17:02:12 -06:00
Travis Nielsen 0d1c83c9c3 docs: update the obc provisioner name
The OBC provisioner name changed recently to include the namespace
as a prefix, but the docs were not updated.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-05-28 17:01:17 -06:00
Travis Nielsen 2a6d4d4cef Merge pull request #5556 from travisn/node-failure-cleanup
Handle node failure more gracefully
2020-05-28 15:44:48 -06:00
Arun Kumar Mohan 2f195bbdfa Ceph: Added the missing double quotes in JSON output
Without the double quotes, operator is unable to parse the json output from the script

Signed-off-by: Arun Kumar Mohan <arun.iiird@gmail.com>
2020-05-29 02:01:55 +05:30
Travis Nielsen 3ab060965c ceph: force restart mon pods if on bad node
If a mon is stuck in terminating state on a failed node,
force delete the pod so it can attempt to restart. If
the mon is backed by a PV the mon can start on another
node as well.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-05-28 12:11:05 -06:00
Travis Nielsen ff6a3f80cd ceph: improve osd update logging
The operator should only print helpful info messages
when an OSD is going to be updated. If the OSD hasn't
changed it is just a debug message.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-05-28 10:05:51 -06:00
Travis Nielsen 07f095c772 ceph: set osd health check interval to 60s
The osd health check every 5 min is not frequent enough to respond
quickly enough to osds going down. Reducing the time interval
to one minute for faster response time.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-05-28 10:05:51 -06:00
Travis Nielsen 171910707b ceph: refactor pod deletion to k8sutil package
The pod deletion is needed by other daemons besides the osds,
so we move the helper method into the k8sutil package.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-05-28 10:05:50 -06:00
Sébastien Han ff90fa7098 Merge pull request #5549 from leseb/semantic
add commitlint github action
2020-05-28 17:41:30 +02:00
Sébastien Han dea423fedd Merge pull request #5557 from cybozu-go/ceph-add-how-to-know-whether-filesystem-exist-on-top-of-device
ceph: add the description how to know whether there is a filesystem on top of a device
2020-05-28 17:38:11 +02:00
Sébastien Han db57455ba2 docs: update contribution guideline
Reflect the recent changes with the replacement of the commitlint bot
by the commitlint github action.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-28 17:36:08 +02:00
Sébastien Han d680b00ad7 bot: change PR template
Reflect the change from commitlint bot to commitlint action check.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-28 17:36:04 +02:00
Satoru Takeuchi c3a2677883 ceph: add the description how to know whether there is a filesystem on top of a device
It's better to tell users to know whether their devices can be used as OSD
in the quick start guide.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-05-28 15:06:57 +00:00
Diego Abelenda e3b51bf944 csv: Make csv generation work with operator-sdk 0.15.0 and later, remove support for previous versions.
Newer versions of operator-sdk (since 0.15.0, released Jan 2020) have a different command line to generate CSV. Make changes to the script generating the CSV so that it works with these new versions.
Use the newer manifest format to be compatible with bundles in the future.

Signed-off-by: Diego Abelenda <diego.abelenda@gmail.com>
2020-05-28 17:04:33 +02:00
Sébastien Han 7fa606b6a7 Merge pull request #5555 from cybozu-go/ceph-fix-regressions-in-the-integration-tests
ceph: fix regressions in the integration tests
2020-05-28 16:48:59 +02:00
Travis Nielsen d43b061d3b Merge pull request #5532 from travisn/updated-approvers
Governance: Added reviewers for Ceph
2020-05-28 08:27:49 -06:00
Sébastien Han 2b47117fc7 bot: add commitlint gh action
We now use a github action to perform commit linting instead of the old
deprecated commitlint bot.

Closes: https://github.com/rook/rook/issues/5547
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-28 12:12:57 +02:00
Sébastien Han d8949ec945 Merge pull request #5545 from leseb/osd-wipe-simple
ceph: enhancement cleanup with disks
2020-05-28 09:32:40 +02:00
Satoru Takeuchi 43296ef36a ceph: make OSD on PVC test work again
OSD on PVC test doesn't work at all because "manual" storage class doesn't
exist here.

It's a regression caused by the following commit.
https://github.com/rook/rook/commit/e96009c26dab8d06e6d3e45efe55b9783028b359

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-05-28 06:18:59 +09:00
Travis Nielsen f5c394aa3a governance: yugabytedb members are reviewers instead of approvers
There was a typo in the approvers list. The YugabyteDB members
don't yet have push access to the repo as approvers. The intention
was to start with reviewer access.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-05-27 15:09:32 -06:00
Travis Nielsen ccaf590979 governance: add satoru and madhu as ceph approvers
Given the significant contributions by Satoru and Madhu,
as approvers they can continue to support project maintainers
through the additional role.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-05-27 15:09:27 -06:00
Jiffin Tony Thottan 9a3ffbaab2 obc: Do not delete user for retain policy if it is owner
When obc is deleted, the attached ceph user will be also removed
This will cause obc creation failure for the same bucket since user
was missing. With this patch the user will be retained revoking his permissions

Also removed 'GetBucketPolicy' permission from Allowed action. The same set of
permission is used for denying the owner/old user of OBC. So that in the next
obc request for the bucket, owner can set polciy for the new user

Closes: https://github.com/rook/rook/issues/5510
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2020-05-27 22:58:08 +05:30
Sébastien Han c799e11032 ceph: enhancement cleanup with disks
Now, we can not only cleanup monitor data, logs and crashes but the
disks too. As part of the cleanupPolicy CR spec, we have a new setting
called sanitizeDisks which holds more details:

* confirmation: the confirmation message to sanitize disks,
use "yes-really-sanitize-disks" to confirm

This will **only** wipe the metadata, so it's a fast cleanup allowing
you to re-install later but won't remove all the data from the drive.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-27 18:14:02 +02:00
Sébastien Han edca1e9205 Merge pull request #5522 from akraitman/patch-1
Enabling buildDiscarder
2020-05-27 10:47:58 +02:00
Travis Nielsen e9348070a7 Merge pull request #5533 from gyant/ryanthompson/fix-cassandra-annotations
cassandra: Adds json struct tags to fix cassandra annotations
2020-05-26 15:34:24 -06:00
Travis Nielsen 1b2ff6573a Merge pull request #5334 from binoue/update-helm-version
ceph: update helm version
2020-05-26 14:23:35 -06:00