Commit Graph
4458 Commits
Author SHA1 Message Date
Travis Nielsen 8a19c73036 ceph: clarify docs for erasure coding
Setting up the topology for the CRUSH map was outdated in the EC doc.
Now a link to the node labels is provided for the configuration.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:13:52 -06:00
Travis Nielsen 9c5c78cf01 Merge pull request #5025 from jmolmo/blinking_lights
Ceph: Added rook manager module rights for read pod logs
2020-03-16 13:57:13 -06:00
Travis Nielsen 017a560db3 Merge pull request #5021 from samkulkarni20/yb-mem-limits
YugabyteDB: Add resource limits to YugabyteDB pods
2020-03-16 11:12:07 -06:00
Juan Miguel Olmo Martínez c87a01bb8c Ceph: Added rook manager module rights for read pod logs
This is needed to allow the ceph manager rook module to read the output
of the <lsmcli> command used to switch disk identification light on/off on
physical disk devices

[test ceph]

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
2020-03-16 18:03:23 +01:00
Sébastien Han a459a2e220 Merge pull request #5030 from leseb/no-full-err
ceph: remove dead code
2020-03-16 15:19:49 +01:00
Travis Nielsen 2724791d6c Merge pull request #5019 from HaichaoLii/arm64
test: Kubeadm-install add support for arm64
2020-03-16 07:45:39 -06:00
Sébastien Han f44583b2b9 ceph: remove dead code
As part of the transition to support Ceph release **as of** Nautilus, we
left over that portion of code.
We don't need it anymore.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-16 14:01:24 +01:00
Sébastien Han 316c114597 Merge pull request #5018 from travisn/mgr-delete-pod-access
Grant access to the Ceph mgr to restart pods
2020-03-16 11:45:13 +01:00
Haichao Li 24027b969e test: Kubeadm-install add support for arm64
Only kubectl for amd64 is currently available.This modification adds
arm64 version of kubectl that can successfully deploy kubernetes on
arm64 machine.

Signed-off-by: Haichao Li <haichao.li@arm.com>
2020-03-16 16:15:59 +08:00
Sameer Kulkarni 909770a346 YugabyteDB: Add resource limits to YugabyteDB pods
Current YugabyteDB operator code creates Master and TServer pods without any resource requests/limits (specifically CPU and memory).
This causes the operator to run into soft/hard memory limit issue. The fix adds recommended resource requests and limits as defaults to the pods it creates.

Closes: https://github.com/yugabyte/yugabyte-db/issues/3884
Signed-off-by: Sameer Kulkarni <samkulkarni20@gmail.com>
2020-03-14 12:23:14 +05:30
Travis Nielsen 7de388ce92 ceph: grant access to the mgr to delete pods
The Ceph mgr modules need access to restart the daemon pods
when the configuration changes for the daemons.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-13 17:08:27 -06:00
Travis Nielsen 24f3649149 Merge pull request #5024 from travisn/keepalive-label
Add keepalive label to exempt issues from the stalebot
2020-03-13 10:31:23 -06:00
Travis Nielsen ab705fe548 stalebot: add keepalive label to exempt issues
Some issues should not be closed by the stale bot, whether because an
issue is taking a long time to design, implement, or if we need an
owner for the issue, but we know we need the feature or fix.

The keepalive label will cause the bot to skip closing stale issues.

This label should be used sparingly

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-13 10:20:54 -06:00
Travis Nielsen 783507588e Merge pull request #5023 from leseb/allow-size-1
ceph: allow setting pool size 1 on octopus
2020-03-13 10:17:41 -06:00
Sébastien Han 99f6402563 ceph: allow setting pool size 1 on octopus
Left from https://github.com/rook/rook/pull/4895
Also more cleanup on the ceph.conf since we config is in the mon store.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-13 15:48:08 +01:00
Sébastien Han 8a14f4072a Merge pull request #4994 from CloudAndHeat/feature/improve-placement-docs
Clarify placement configuration for OSDs
2020-03-13 10:53:23 +01:00
Sébastien Han 5648555809 Merge pull request #5010 from leseb/crash-rook-cluster-label
ceph: add missing 'rook_cluster' label to crash
2020-03-12 15:47:12 +01:00
Sébastien Han 1edc3adc58 ceph: add missing 'rook_cluster' label to crash
The crash deployment was missing the 'rook_cluster' label to indicate
which ceph cluster it is part of.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-12 11:43:20 +01:00
Sébastien Han 9198663462 Merge pull request #5005 from travisn/yugabytedb-test-image
Yugabyte tests should use image built by rook
2020-03-12 08:45:56 +01:00
Travis Nielsen dabf0b6618 yugabyte: tests should use image built by rook
The integration tests for yugabyte were pointing to an image
outside of the rook repo. Since that image changed unexpectedly
it broke the rook integration tests. The tests need to use
the image built by rook.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-11 17:44:05 -06:00
Travis Nielsen 077a9ae60b Merge pull request #4960 from leseb/bump-to-14.2.8
Ceph v14.2.8 is causing failure with OSDs on PVCs
2020-03-11 14:18:04 -06:00
Sébastien Han 723671f58c ceph: run osd initContainer in priv mode
To access a special block device the container must run privileged.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-11 19:33:14 +01:00
Sébastien Han 14cb46ae39 ceph: bump to 14.2.8
Ceph 14.2.8 just got released so let's use it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-11 19:32:48 +01:00
Sébastien Han a14339af2e Merge pull request #5001 from leseb/osd-udev
ceph: osd re-add udev bindmount
2020-03-11 19:32:18 +01:00
Sébastien Han 619f301eb7 ceph: osd re-add udev bindmount
The OSD needs to talk to the udev socket to get information about a device.
like serial, vendor etc. So that it can populate the output of:
`ceph osd metadata $n` correctly.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-11 18:35:47 +01:00
Sébastien Han 04979f8c60 Merge pull request #4909 from umangachapagain/config-watcher
Ceph: adds watch to rook-ceph-operator-config ConfigMap
2020-03-11 09:34:16 +01:00
Blaine Gardner b626de1758 Merge pull request #4989 from travisn/topology-label
Properly lookup the topology.kubernetes.io label for OSD topology
2020-03-10 15:40:29 -04:00
Travis Nielsen fd89d0dfb3 ceph: remove dead code for finding valid nodes
There are no longer callers of the helper to find nodes in a list
of Rook nodes.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-10 12:06:34 -06:00
Travis Nielsen ba07a63033 ceph: properly lookup the K8s topology labels for OSDs
The OSDs pick up on several topology labels for CRUSH hierarchy.
The GA label topology.kubernetes.io was partially implemented, but
not picked up by the OSDs. Now the OSDs will pick up both the topology
labels from pre-1.17 such as failure-domain.beta.kubernetes.io/zone
and topology.kubernetes.io/zone.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-10 12:06:34 -06:00
Jonas Schäfer d9d9216f2f docs: clarify placement configuration for OSDs
OSD placement is not controlled with the Cluster CRD placement
key, but with a storage class specific placement key. The
cluster-wide placement rules are not merged into the OSD placement
rules.

This change reflects this fact in the documentation.

[skip ci]

Closes: https://github.com/rook/rook/issues/4882
Signed-off-by: Jonas Schäfer <jonas.schaefer@cloudandheat.com>
2020-03-10 11:20:29 +01:00
Umanga Chapagain c54c0d16cf Ceph: adds watch to rook-ceph-operator-config ConfigMap
watches the rook-ceph-operator-config ConfigMap and updates
CSI driver

Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2020-03-10 12:46:54 +05:30
Umanga Chapagain 06ba93e629 Ceph: refactor GetOperatorSetting for reuse
Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2020-03-09 21:41:56 +05:30
Travis Nielsen ce18843885 Merge pull request #4978 from travisn/manifest-tool-update
Update manifest tool version to v1.0.0
2020-03-06 12:26:17 -07:00
Travis Nielsen de06c5c2ec build: update manifest tool version to v1.0.0
The manifest tool is needed for pushing images to dockerhub.
The tool has been failing the past two days due to running
an old version.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-06 11:59:27 -07:00
Sébastien Han c580e6b496 Merge pull request #4977 from leseb/orchestrator-mod-name
ceph: orchestrator cli name change
2020-03-06 18:04:47 +01:00
Sébastien Han 8b0fdf31a9 ceph: orchestrator cli name change
With https://github.com/ceph/ceph/pull/33131, the CLI has been rename
'orch' instead of 'orchestrator'.
Octopus only.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-06 17:01:16 +01:00
Sébastien Han e0b40c91c7 Merge pull request #4976 from leseb/pool-finalizer
ceph: only delete pool if exists
2020-03-06 15:58:34 +01:00
Sébastien Han fd33d64b4f ci: do not hide pool deletion error
Print the error if any.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-06 14:35:23 +01:00
Sébastien Han 9feb8401e1 ceph: only delete pool if exists
We have seen cases where the pool is already gone and a deletion
timestamp is set on the CephBlockPool CR.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-06 14:35:23 +01:00
Sébastien Han ec61f26d9b Merge pull request #4971 from travisn/test-pool-cleanup
Gather operator logs when the test pools are not deleted
2020-03-06 14:35:04 +01:00
Sébastien Han d963311dfe Merge pull request #4926 from leseb/object-store-user-crd-controller-runtime
ceph: separate controller for CephObjectStoreUser CRD
2020-03-06 14:15:37 +01:00
Sébastien Han 025131c115 Merge pull request #4972 from travisn/osd-status-update
OSD prepare pod was not signaling completion when zero OSDs configured
2020-03-06 13:42:44 +01:00
Sébastien Han b179cce689 Merge pull request #4974 from travisn/always-mount-dev
OSD prepare pod should always mount /dev
2020-03-06 12:02:54 +01:00
Sébastien Han 9f2867e12a ceph: separate controller for CephObjectStoreUser CRD
Now, the CephObjectStoreUser CRD is managed with the controller-runtime.
So the watcher is outside of the main controller reconciliation loop of
CephCluster which brings numerous benefit such as:

* having its own reconciliation loop
* won't block anything from the main CephCluster controller loop
* fast than waiting for CephCluster loop to completion

Partially close: https://github.com/rook/rook/issues/1981
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-06 11:53:40 +01:00
Travis Nielsen 69c9ed4206 ceph: storage warn iare specified but ignored
In the cluster CR the nodes element will be ignored under storage when
useAllNodes is true. The nodes will only be applied when useAllNodes is
false. It is a common usability problem that users can't figure out
why their nodes are not configured. At least this log entry can give
them a clue.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-05 18:26:32 -07:00
Travis Nielsen 0eee2b4dee ceph: always mount /dev in the osd prepare pod
The osd prepare job is now always working with devices so
we always need to mount /dev and run privileged. There is
no scenario for not mounting /dev since filestore support
was removed.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-05 18:15:58 -07:00
Travis Nielsen 5ea5674f71 ceph: gather operator logs on pool test failure
The operator logs are necessary for troubleshooting why the
pools may still exist at the end of the integration tests.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-05 15:39:41 -07:00
Travis Nielsen 4ce9b45ffd ceph: remove dead test code for cluster purging
Cluster purging is no longer called, therefore can be removed.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-05 15:39:39 -07:00
Sébastien Han 81727cd18b Merge pull request #4964 from leseb/refactor-controller-helpers
ceph: refactor controller helpers
2020-03-05 22:54:32 +01:00
Travis Nielsen 3cef930fab ceph: report osd status when there are no devices
The OSD prepare pod must always update status on the status configmap
in order to alert the operator that the OSD configuration on the node
is completed. This fixes an issue where the status was not being reported
if no devices were configured.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-05 14:10:24 -07:00