Commit Graph
13292 Commits
Author SHA1 Message Date
Sébastien Han 71799682ca ceph: print the reason for reconciling
General debugging helper without having to turn on DEBUG logs.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-04-06 16:07:01 +02:00
Travis Nielsen eeb687ad14 ceph: log skipped reconcile based on ceph health
When the Ceph health is HEALTH_ERR the controllers will skip the
reconcile. With info level logging there needs to be an indication
of this decision to skip the reconcile, otherwise users will
wonder why their resources aren't being created.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-06 16:07:01 +02:00
Travis Nielsen a737975077 ceph: integration test for upgrade from nautilus to octopus
The upgrade test will now support upgrading from nautilus
to octopus and that files and be read and written
after the upgrade.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-06 16:07:01 +02:00
Umanga Chapagain 362a9c78e0 Ceph: revert mgr to minimal privilege
mgr should only include "mon allow profile mgr" instead
of "mon allow *"

Fixes: #2529
Reverts: #2523
Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2020-04-06 16:03:51 +05:30
Sébastien Han 56707ddcc4 Merge pull request #5179 from ashangit/auth_key_not_deleted
ceph: remove appropriate rgw ceph user when CephObjectStore is deleted
2020-04-06 10:02:20 +02:00
Sébastien Han c68d2a31cd Merge pull request #5172 from travisn/skip-csi-test
Skip upgrade test where csi is not supported
2020-04-06 09:57:44 +02:00
Sébastien Han eed14341cc Merge pull request #5174 from umangachapagain/handle-type-assertions
Handle type assertions
2020-04-06 09:54:49 +02:00
n.fraison 2cb04ea271 ceph: remove appropriate rgw ceph user when CephObjectStore is deleted
Signed-off-by: n.fraison <n.fraison@criteo.com>
2020-04-06 07:23:55 +02:00
Umanga Chapagain 3fa772e3a7 Yugabytedb: fixes unhandled type assertions
unhandled type assertions can lead to runtime panic. using
the boolean 'ok' flag to handle failure to assert type.

Issue: #4566
Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2020-04-04 14:00:57 +05:30
Umanga Chapagain a6e7256d52 NFS: fixes unhandled type assertions
unhandled type assertions can lead to runtime panic. using
the boolean 'ok' flag to handle failure to assert type.

Issue: #4566
Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2020-04-04 14:00:52 +05:30
Umanga Chapagain e8889c4764 Edgefs: fixes unhandled type assertions
unhandled type assertions can lead to runtime panic. using
the boolean 'ok' flag to handle failure to assert type.

Issue: #4566
Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2020-04-04 14:00:47 +05:30
Umanga Chapagain b6a8a094ce Cockroachdb: fixes unhandled type assertions
unhandled type assertions can lead to runtime panic. using
the boolean 'ok' flag to handle failure to assert type.

Issue: #4566
Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2020-04-04 14:00:42 +05:30
Umanga Chapagain ffc029f6fe Cassandra: fixes unhandled type assertions
unhandled type assertions can lead to runtime panic. using
the boolean 'ok' flag to handle failure to assert type.

Issue: #4566
Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2020-04-04 14:00:39 +05:30
Umanga Chapagain 654efb6d0a Ceph: fixes unhandled type assertions
unhandled type assertions can lead to runtime panic. using
the boolean 'ok' flag to handle failure to assert type.

Issue: #4566
Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2020-04-04 14:00:19 +05:30
Travis Nielsen d3a8a397f9 tests: skip upgrade test where csi is not supported
The upgrade test requires the CSI driver to be running so we cannot
run the test on older versions than k8s 1.13.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit f90664209b)
2020-04-03 15:57:19 -06:00
Dmitry Yusupov afd8398a6b Merge pull request #5165 from dyusupov/master
edgefs: support for SMB CRD
2020-04-03 14:18:14 -07:00
Travis Nielsen cf7e3c0865 Merge pull request #5160 from leseb/upgrade-child
ceph: trigger update on child controllers
2020-04-03 14:55:20 -06:00
Dmitry Yusupov 4920202c10 edgefs: support for SMB CRD
Signed-off-by: Dmitry Yusupov <dmitry.yusupov@nexenta.com>
2020-04-03 13:15:14 -07:00
Sébastien Han c5075d55d1 ceph: trigger update on child controllers
When the CephCluster CR gets updated with a new image version, we need
to notify the child controllers of that upgrade.
For this, we set a 'ceph_version' label on the CR itself which will
effectively trigger a reconcile based on an update event.
This needs to be revisited and see how we can make use of
`EnqueueRequestsFromMapFunc` which might be a better approach using
controller-runtime built-in.

Closes: https://github.com/rook/rook/issues/5153
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-04-03 13:56:49 -06:00
Travis Nielsen 948c0328bd Merge pull request #5162 from travisn/csi-v2.0.1
Enable the Ceph CSI v2.0.1 driver by default in Rook
2020-04-03 13:31:59 -06:00
Travis Nielsen b8e0d8902c Merge pull request #4077 from leseb/rook-multus
ceph: add multus support
2020-04-03 11:14:08 -06:00
Travis Nielsen b1825db09d ceph: install CSI driver v2.0.1 by default
With the release of the CSI v2.0.1 driver, this should now be the
default driver deployed by Rook. The minimum driver version
supported is still v2.0.0

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-03 11:08:19 -06:00
Chu Yong Mark Lee a018d89d9c csi: Update cephcsi driver to v2.0.1
Update cephcsi driver to v2.0.1 to allow nodes with
Ceph persistent volumes to shutdown cleanly. This requires
an additional bind mount (/run/mount) in cephfsplugin
and rbdplugin templates.

Signed-off-by: Chu Yong Mark Lee <markleechuyong@gmail.com>
2020-04-03 11:05:41 -06:00
Travis Nielsen b9223e4922 Merge pull request #5155 from travisn/upgrade-instructions
Upgrade doc clarifications for v1.3
2020-04-03 10:30:10 -06:00
Sébastien Han 20d1543507 ceph: add multus support
You can now use Rook along with Multus. Multus must be up and running
and the right ressources must exist such as NetworkAttachmentDefinition
CR.
The Cluster CR spec has new fields to work with multus:

network:
  provider: multus (or 'host' for hostNetworking)
  selectors:
    public: NetworkAttachmentDefinition name
    cluster: NetworkAttachmentDefinition name

If only a single NetworkAttachmentDefinition is provided Rook will use
both anyway for the Ceph traffic.

Please refer to the doc to learn more.

Closes: https://github.com/rook/rook/issues/4716
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-04-03 18:00:15 +02:00
Travis Nielsen a6a7e46bfc Merge pull request #5104 from rohantmp/rbacFix
Fix RBAC and handle error to enable deleting of drain-canaries
2020-04-03 09:17:19 -06:00
Travis Nielsen 96dd92cc7f ceph: change verbose info log to debug in controller
Keeping the operator log clean...

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-03 09:15:25 -06:00
Travis Nielsen cc59916c1a ceph: upgrade doc clarifications for v1.3
After testing the upgrade there are some updates to the upgrade guide.
Also added comments about the helm chart upgrades.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-03 09:13:29 -06:00
Travis Nielsen e84b52d530 Merge pull request #5157 from leseb/canary-liveness
ceph: do not set liveness check on canary pod
2020-04-03 07:42:53 -06:00
Rohan CJ 03e92da102 Ceph: handle not-found error on delete.
Previously, delete was returning an error causing the drain-canary
to reconcile even though it no longer existed.

Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2020-04-03 19:10:45 +05:30
Rohan CJ ecef80eda5 Ceph: Use both "apps" and "extensions" for deployment RBAC.
Some versions of k8s can optionally enable extensions after deprecation.
This could lead to rbac denials when trying to perform operations on deployments

Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2020-04-03 19:10:45 +05:30
Travis Nielsen 3bd9c0eca9 Merge pull request #5158 from sp98/minior-integration-test-changes
Integration Tests: moving GetCleanupPod() and GetCleanupVerificationPod() methods out of CephManifests interface
2020-04-03 07:37:46 -06:00
Sébastien Han 6199861b97 ceph: do not set liveness check on canary pod
The canary pod does not run any daemon so the liveness check probe will
fail.

Closes: https://github.com/rook/rook/issues/5150
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-04-03 13:23:31 +02:00
Santosh Pillai 1673291589 ceph: Integration Tests: moving GetCleanupPod() and GetCleanupVerificationPod() methods out of CephManifests interface
The CephManifests interface is intended for manifests that install the product (RBAC, CRDs, operator, etc). These cleanup methods are more about test code. The test code needs to behave the same whether it is a normal install or an upgrade. We don't need to version it differently for upgrades between the CephManifestsMaster and CephManifestsV1_1 implementations

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2020-04-03 13:54:52 +05:30
Travis Nielsen 5f44522146 Merge pull request #5134 from sp98/mon-dir-cleanup
Cluster CleanupPolicy: Delete correct mon directories under the dataDirHostPath
2020-04-02 23:48:53 -06:00
Santosh Pillai e1a76bfb96 ceph: Cluster CleanupPolicy: Delete correct mon directories under the dataDirHostPath
In case of multiple clusters, we don't want to delete all the mon directories under the dataDirHostPath during cluster cleanup.
This PR deletes the mon directory only if the montior secret key matches.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2020-04-03 10:01:36 +05:30
Travis Nielsen 843390a4fc Merge pull request #5152 from cybozu-go/ceph-remove-unnecessary-whitespace-in-the-example
ceph: remove unnecessary whitespaces in the example
2020-04-02 16:10:47 -06:00
Satoru Takeuchi e4812f36d0 ceph: remove unnecessary whitespaces in the example
Fix the following error message due to unnecessary whitespaces.

```console
$ kubectl create -f cluster-on-pvc.yaml
error: error parsing cluster-on-pvc.yaml: error converting YAML to JSON: yaml: line 85: mapping values are not allowed in this context
```

Closes: #5149
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-04-02 21:36:22 +00:00
Travis Nielsen c79325f92c Merge pull request #5138 from cybozu-go/support-topology-spread-constraints
ceph: support topoplogySpreadConstraints
2020-04-02 12:00:45 -06:00
Satoru Takeuchi 06b10e248c ceph: support topoplogySpreadConstraints
Support topologySpreadConstraints to spread OSD pods among failure
domains as even as possible.

https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/

Without this feature, the number of OSD pods would be different
between the failure domains very much. At worst, there is
a possibility that a failure domain has many OSDs and other
failure domains have no OSDs. It can partly be mitigated
with podAntiAffinity. However, it only works if there are at most
one OSD per node. For more detail, please refer to the following
document.

https://github.com/rook/rook/blob/master/cluster/examples/kubernetes/ceph/cluster-on-pvc.yaml#L59

Closes: https://github.com/rook/rook/issues/4387
Signed-off-by: Hiroshi Muraoka <h.muraoka714@gmail.com>
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-04-02 16:40:58 +00:00
Travis Nielsen 52ef25827b Merge pull request #5133 from travisn/v1.3-doc-updates
Updated docs need for the Rook v1.3 release
2020-04-02 10:32:55 -06:00
Travis Nielsen b51291af00 Merge pull request #5140 from cloudical-io/go_114
build: allow go 1.14
2020-04-02 10:29:51 -06:00
Travis Nielsen f30c8066d1 docs: update docs for Rook v1.3 release
Various updates are needed for the v1.3 release.
- The pending release notes were missing some features
- Added a section to the upgrade guide for breaking changes to OSDs
- Clarifications around Ceph prereqs and min version
- Other misc clarifications

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-02 10:26:00 -06:00
Blaine Gardner 9d41b38095 Ceph: upgrade docs: update upgrade docs for v1.3
Update both documents and `upgrade-from-v1.2*.yaml` files for Rook v1.3
release.

Of note:
- note when the upgrade to CSI driver v2.0 should be updated
- note that CSI image envs can be removed to have Rook use defaults
- update Ceph version upgrade section
- update supported Ceph version info
- update CRDs before upgrade b/c new 'status' fields
- remove special CSI update info left from v1.2

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
(cherry picked from commit 2ccff83d94)
2020-04-02 10:26:00 -06:00
Travis Nielsen 6b38dd3a6a Merge pull request #4933 from leseb/rm-pid-host
ceph: do not use host PID anymore
2020-04-02 07:29:04 -06:00
Sébastien Han 58f1971172 ceph: do not use host PID anymore
Thanks to https://github.com/ceph/ceph/pull/33633, when running on
Octopus, we don't need to use `--pid=host`. This means we are not using
the host PID but use the PID namespace of the pod.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-04-01 15:42:53 -06:00
Travis Nielsen 14fcbcb151 Merge pull request #5124 from ShyamsundarR/ceph-pool-compression
ceph: Add ability to specify compression mode for pools
2020-04-01 14:29:00 -06:00
ShyamsundarR de97b6a1d6 ceph: Add ability to specify compression mode for pools
This commit enables configuring a compression_mode for pools
that takes the values as specified for bluestore OSD
compression_mode values,
https://docs.ceph.com/docs/master/rados/configuration/bluestore-config-ref/#inline-compression

Signed-off-by: ShyamsundarR <srangana@redhat.com>
2020-04-01 14:24:30 -04:00
Alexander Trost a85df12b73 build: allow go 1.14
This adds v1.14 to the supported Golang versions in the makefile.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-04-01 15:11:35 +02:00
ShyamsundarR 7ce1c4fc71 build: Fix ability to build with podman
This commit corrects choosing DOCKERCMD in image.mk file to choose
the environment variable if present, else default to "docker".

Signed-off-by: ShyamsundarR <srangana@redhat.com>
2020-04-01 08:19:51 -04:00