Commit Graph
5036 Commits
Author SHA1 Message Date
Sébastien Han 3390a85404 ceph: bump to 14.2.3
Let's use the latest minor release of Ceph 14.2.3.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-09-04 23:14:28 +02:00
Sébastien Han e7758adfc1 Merge pull request #3738 from leseb/lvm-option
ceph: osd lvm flag
2019-09-02 14:08:34 +02:00
travisn a9deac7d19 ceph: clean up verbose logging
The log messages for orchestrations being skipped due to nodes still
being schedulable or unschedulable is filling the logs and not necessary.
The log message for reconciling is now debug, and also fixed another
formatting log message.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-08-30 15:01:35 -06:00
Sébastien Han 1393b1af3c ceph: osd lvm flag
udev is not running in the container so lvm might be stuck requesting lvm
devices. So let's not talk to udev to get lvm devices.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-08-30 17:39:49 +02:00
Sébastien Han 87ca208640 Merge pull request #3596 from rohantmp/managedPDB
Managed PDBs
2019-08-30 14:34:31 +02:00
Sébastien Han 8abcf37269 Merge pull request #3716 from Madhu-1/metrics
Implement grpc metrics for cephcsi
2019-08-30 14:29:17 +02:00
Madhu Rajanna a8589af337 Implement grpc metrics for cephcsi
grpc metrics is made option in rook
this can be disabled/enabled with ROOK_CSI_ENABLE_GRPC_METRCS
variable in operator.yaml
this will help admin who want to check the grpc metrics
of the ceph-csi plugins

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-08-30 15:01:45 +05:30
Rohan CJ 4072d14557 Add tests for the clusterdisruption controller and update the docs and
pending releas notes for managed PDBs.

Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2019-08-30 14:04:23 +05:30
Sébastien Han e2c8a9935c Merge pull request #3696 from mvollman/db-devices-n-size
ceph: add db-devices flag and fix DatabaseSizeMB
2019-08-30 09:49:42 +02:00
Madhu Rajanna 8d5d9b9117 Fix liveness service creation
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-08-30 13:16:55 +05:30
Madhu Rajanna 11293393ca Fix logging in csi
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-08-30 13:16:55 +05:30
Sébastien Han 942a89d9cd Merge pull request #3661 from rohan47/osd-marked-out
OSD: Remove osd pods that are marked out and the pod is more than an hour old.
2019-08-30 09:45:45 +02:00
travisn 49115749ab ceph: copy binaries init container for osds on pvcs provisioning
The init container for copying binaries was being overwritten by the
init container for initializing pvcs. This change appends the init
containers so all expected init containers are preserved.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-08-29 22:23:04 -06:00
Rohan CJ 60792ebe5c Add support for PDBs on Mons, RGW, and MDS
Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2019-08-30 09:01:15 +05:30
Rohan CJ 5a248fbf59 Set a noout on failuredomains when in maintenance.
Maintenance is only defined when managedDisruptionBudgets are enabled.
Details can be found in the design doc for manged poddisriptionbudgets.

Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2019-08-30 09:01:15 +05:30
Rohan CJ d6b23dd549 Add nodedrain controller for deploying canary deployments for every node.
Canary pods can be watched to determine when a node is draining.

Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2019-08-30 09:01:11 +05:30
Rohan CJ 079c24883b Add a controller-runtime scaffolding
Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2019-08-30 08:59:53 +05:30
Travis Nielsen 5eab7ca658 Merge pull request #3573 from SUSE/mon-kv-store
Ceph: override configs in CRD
2019-08-29 19:04:16 -06:00
Michael Vollman ed9519953a ceph: add per OSD custom deviceClass support
Add deviceClass as a per OSD config option under
storage/nodes/devices/config for setting a custom crush device class
per OSD.

Signed-off-by: Michael Vollman <michael.b.vollman@gmail.com>
2019-08-29 20:39:41 -04:00
Michael Vollman 496c638306 ceph: add db-devices flag and fix DatabaseSizeMB
Adding support for the db-devices flag for ceph versions 14.2.1 and
newer.  This flag will allow for explictly setting the db device for
bluestore configurations to the device specified as metadataDevice.

Fixing the databaseSizeMB config parameter to ensure it is used to set
the size of the db-device partition when specified at either the global
or individual device level. (#3652)

Signed-off-by: Michael Vollman <michael.b.vollman@gmail.com>
2019-08-29 20:39:41 -04:00
Blaine Gardner a55468f5ab Ceph: remove legacy configs
Several legacy configs set by Rook are bad defaults that risk user data.
Remove them.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-08-29 15:38:29 -06:00
Blaine Gardner 1be43290be Ceph: override configs in CRD
Allow users to specify overrides in the CephCluster CRD. The override
ConfigMap still exists for emergency situations and is mounted into
daemon pods directly instead of being merged into a Rook-created config
file.

Rook Ceph no longer uses a config file for managing daemons with the
exception of the OSDs which still generate a config in an init
container.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-08-29 15:38:27 -06:00
Dmitry Yusupov b0dffa6f9b Merge pull request #3702 from sabbot/transition-to-v1
Declare EdgeFS CRDs as v1
2019-08-29 11:26:45 -07:00
Travis Nielsen 6ccd243af1 Merge pull request #3729 from rohan47/node_selector_pvc
OSD: fixed label selector for osd prepare job pod
2019-08-29 10:55:04 -06:00
Sébastien Han 0d481d1bd1 Merge pull request #3712 from leseb/mon-down-upgrade
ceph: improve upgrade on image change
2019-08-29 17:43:00 +02:00
rohan47 a098cdd1a6 OSD: fixed label selector for osd prepare job pod
OSD prepare job pods don't require node selector when the OSDs are based
on PVC.
The bug was intruduced in https://github.com/rook/rook/pull/3707 which
added node selector to the prepare job pod when portable property of
storageClassDeviceSets is false.
Adding node selector set kubernetes.io/hostname=example-storagedeviceset-xxx, while there is no host example-storagedeviceset-xxx the prepare job failed.

Signed-off-by: rohan47 <rohgupta@redhat.com>
2019-08-29 19:30:02 +05:30
Sébastien Han 8cf9d7e636 Merge pull request #3704 from mvollman/bugfix-osdsper
ceph: fix md and dev ordering for c-v batch
2019-08-29 12:24:26 +02:00
Sébastien Han bed14cfd71 ceph: improve upgrade on image change
From now on, Rook will only perform check before upgrades when there is
an actual upgrade. So if the Ceph image changed and a new version is
desired Rook will go through all the daemons and update them one by one
and perform checks in between.

Closes: https://github.com/rook/rook/issues/3583
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-08-29 10:18:19 +02:00
rohan47 21deea9d64 OSD: CRUSH map can be based on node or PVC in case of PVC backed OSD
Signed-off-by: rohan47 <rohgupta@redhat.com>
2019-08-29 04:01:41 +05:30
Anton Skriptsov c0fe6af712 Initial v1
Signed-off-by: Anton Skriptsov <sabbotagge@gmail.com>
2019-08-28 15:18:38 -07:00
rohan47 9ebd151399 OSD: Remove osds that are marked out and the pod is more than an hour old
Signed-off-by: rohan47 <rohanrgupta1996@gmail.com>
Signed-off-by: rohan47 <rohgupta@redhat.com>
2019-08-29 03:32:25 +05:30
Travis Nielsen 0aa1774ebe Merge pull request #3668 from noahdesu/canary-sched
ceph/mon: support monitor migration without rebuils
2019-08-27 22:50:43 -06:00
Noah Watkins e2fccdf03b ceph: remove the CRD option Mon.PreferredCount
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-08-27 17:43:35 -07:00
Noah Watkins 94bd70a14c ceph/mon: support monitor migration without rebuils
this patch adds two new related features. first, it removes the
requirement that all monitor deployments be pinned to nodes using node
selector. this is allowed when not using host networking and when PVC
storage is used. the second feature introduced in this patch is the
elimination of the Rook scheduler for placing monitors that continue to
use the node selector by using canary pods to that are scheduled by k8s,
after which Rook uses the scheduling results to pin the monitors to
nodes.

fixes: #3667

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-08-27 17:43:35 -07:00
Sameer Kulkarni 7febf030cb yugabytedb: operator/controller implementation
Signed-off-by: Sameer Kulkarni <samkulkarni20@gmail.com>
2019-08-27 22:45:14 +05:30
Sameer Kulkarni 7dbdaff90f yugabytedb: generated deepcopy & clientset code
Signed-off-by: Sameer Kulkarni <samkulkarni20@gmail.com>
2019-08-27 22:45:14 +05:30
Sameer Kulkarni 7bb820db61 yugabytedb: CRD types & specs
Signed-off-by: Sameer Kulkarni <samkulkarni20@gmail.com>
2019-08-27 22:45:14 +05:30
Umanga Chapagain da47c23c23 adds wait.Poll to create ObjectUser
creating an objectstore user requires that the objectstore is
created first. This commits adds changes to wait for the object
store to be created before the objectstore user can be created.
It'll retry every 15sec for 5mins.

Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2019-08-27 15:41:27 +05:30
Noah Watkins 88e28e7b3e ceph: fix spurious merge of dead code
for some reason 8c8c48e0ac introduced some
old scheduler code that had previously been removed.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-08-26 18:51:11 -07:00
Travis Nielsen 769949bca9 Merge pull request #3694 from leseb/new-images
ceph: use latest ceph images
2019-08-26 18:40:49 -06:00
Michael Vollman 9eccffd794 ceph: fix md and dev ordering for c-v batch
Ensure that the metadata device and osd devices are passed as a space
separated list to ceph-volume.  Currently osds-per-device is placed
between the metadataDevice and the osd devices causing an error.

Signed-off-by: Michael Vollman <michael.b.vollman@gmail.com>
2019-08-26 19:17:52 -04:00
Sébastien Han a42916eff0 ceph: use latest ceph images
The last image has disabled ephemeral repositories so it's now possible
for images older than 15 days to install packages without having an
  error from non-existing repositories.

Closes: https://github.com/rook/rook/issues/3662
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-08-26 23:50:55 +02:00
Sébastien Han 50e8fced8c Merge pull request #3698 from travisn/skip-start-discovery
Start the ceph device discovery only based on env var
2019-08-26 22:27:22 +02:00
Travis Nielsen 164491bff7 Merge pull request #3642 from Madhu-1/csi-leader-election
Use Deployment with leader election instead of StatefulSet
2019-08-26 13:00:46 -06:00
travisn f3e9a5adac ceph: starting the device discovery only based on env var
The decision to start the device discovery daemonset is made
by an env var on the operator pod since in some scenarios
the discovery needs to be started immediately with the operator
instead of being delayed to start with the cluster.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-08-26 11:20:38 -06:00
Madhu Rajanna 78fb35a93d Use Deployment with leader election instead of StatefulSet
Deployment behaves better when a node gets disconnected
from the rest of the cluster - new provisioner leader
is elected in ~15 seconds, while it may take up to
5 minutes for StatefulSet to start a new replica.

if kube version is 1.13.x deploy provisioner as statefulset.
if kube version is higher than 1.14+ deploy provisioner
as deployment.

Refer: kubernetes-csi/external-provisioner@52d1fbc
Refer: ceph/ceph-csi#497

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-08-26 19:29:37 +05:30
Sébastien Han 0bdc98f333 Merge pull request #3576 from giovanism/multus
Multi-homing networking
2019-08-26 15:17:24 +02:00
Madhu Rajanna fcf6250df9 remove unused files related to cephcsi
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-08-26 15:45:23 +05:30
giovanism 4974be4b20 rook: Move network util functions to k8sutil
rook: Remove NetworkSelector type alias

rook: Add error return value for multus funcs

Signed-off-by: giovanism <giovanism@outlook.co.id>
2019-08-26 16:17:04 +07:00
giovanism cc62702d39 ceph: Use rook's NetworkSpec with type embedding
ceph: Use the new NetworkSpec api

ceph: Change all tests to use the NetworkSpec

ceph: Remove TypeMeta field from NetworkSpec

ceph: Change IsHost network func signature

Signed-off-by: giovanism <giovanism@outlook.co.id>
2019-08-26 16:17:03 +07:00