Commit Graph
11197 Commits
Author SHA1 Message Date
Travis Nielsen 18b0e7d295 ceph: scrub ceph commands to write actions to the log
The ceph commands are now only written to the log in debug mode.
For commands that change the system state we now ensure that
a useful log entry is written. If all the details of the ceph
commands are needed, debug logging should still be enabled.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-19 07:49:53 -06:00
Travis Nielsen 7d2811bfb6 ceph: remove obsolete ipv4 command line flags
Long ago the ipv4 flags were renamed to public-ip and private-ip
so we can go ahead and remove the obsolete flags.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-19 07:49:53 -06:00
Travis Nielsen 0344074c82 ceph: remove dead code for process management
Rook no longer relies on its own process management, now we can rely
completely on Kubernetes to manage the pod lifecycle. The code
to check for running processes and replacement them hasn't been
used for a long while.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-19 07:49:53 -06:00
Kristoffer Grönlund f49ad5ad33 ceph: Make error unique when OSD on PVC fails to initialize
To make debugging easier, make sure each error path has
a unique message.

Signed-off-by: Kristoffer Grönlund <kgronlund@suse.com>
2020-03-19 09:46:13 +01:00
Travis Nielsen 695dc4fbd4 Merge pull request #5008 from sp98/design-cluster-cleanup
Design for ceph cluster clean up
2020-03-18 12:07:29 -06:00
Travis Nielsen a988dd23ae ceph: document monitoring namespace for OpenShift
OpenShift requires the monitoring to be bound to the openshift-monitoring
namespace instead of the rook default

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-18 11:55:07 -06:00
Satoru Takeuchi a5ea2858c9 manifests: remove unnecessary namespace fields
There are many namespace fields in ClusterRole{,Binding}. However,
ClusterRole{,Binding} are not namespaced. So we can remove these.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-03-18 15:58:31 +00:00
Sébastien Han 26999b7fe4 Merge pull request #5042 from leseb/size-1-pacific
ceph: allow size option on pacific only
2020-03-18 16:37:07 +01:00
Sébastien Han 39a976cb15 Merge pull request #5040 from birkb/master
LVM infos for RancherOS added to Ceph docs
2020-03-18 15:28:45 +01:00
Travis Nielsen 5702d29a3c Merge pull request #5033 from leseb/clarify-block-pool
ceph: update pool.yaml with more options
2020-03-18 08:28:24 -06:00
Birk Bohne 340ba66959 ceph: LVM infos for RancherOS added to Ceph docs
- RancherOS does not activate logical volumes during boot by default
- This breaks the Ceph OSD recovery, because the LV will not be found
- This Ceph docs update describes the needed RancherOS change

Closes: https://github.com/rook/rook/issues/5027
Signed-off-by: Birk Bohne <birk@batchworks.de>
2020-03-18 15:26:15 +01:00
Sébastien Han 9f7745e8e7 ceph: update pool.yaml with more options
Expose:

* crushRoot
* deviceClass

To the example pool.yaml for awareness.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-18 15:22:27 +01:00
Sébastien Han 31fa13c824 Merge pull request #4530 from rajatsingh25aug/cephObjectStore
Ceph: ObjectStore replica size will not change
2020-03-18 15:18:59 +01:00
Sébastien Han 66b561e45b ceph: allow size option on pacific only
This flag only exists in Pacific, not Octopus.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-18 15:12:06 +01:00
Sébastien Han 08dad79832 Merge pull request #5038 from travisn/design-docs-cleanup
Design docs cleanup
2020-03-18 10:51:36 +01:00
Travis Nielsen 14a713107a Merge pull request #4997 from leseb/object-store-crd-controller-runtime
ceph: convert the Ceph ObjectStore controller to the controller-runtime
2020-03-17 20:12:06 -06:00
Travis Nielsen ce1fedf884 ci: only list the images in the needed pool during cleanup
The pool cleanup only needs to happen for an individual pool.
No need to query the block images in all pools. One of the rgw
pools is periodically causing a hang when it is queried,
but there is no need to query for it when we are cleaning
up the pool tests.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-17 15:28:17 -06:00
Sébastien Han a8159c62c1 ci: enable DEBUG logging
Activate DEBUG logging for the integration tests.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-17 15:12:41 -06:00
Sébastien Han e3b3aa7702 ci: bump upgrade to 1.2.6
Let's upgrade from 1.1.9 to 1.2.6

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-17 15:12:41 -06:00
Sébastien Han 44a4c1826d ci: remove object store when done
Purge the object store properly, otherwise the cephobjectstore CRD won't
be deleted since a finalizer is in place for the CR.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-17 15:12:41 -06:00
Sébastien Han f268c897e9 ceph: Convert the Ceph ObjectStore controller to the controller-runtime
The CRD watcher has been replaced by the new controller-runtime
framework.
This brings robustness in our operator, meaning that any resources that
are modified will be reconciled into the desired state.

Closes: https://github.com/rook/rook/issues/4937
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-17 15:12:41 -06:00
Sébastien Han 711ec6095b ceph: controllers just log status error
Let's return the original error instead and just log the status change
error.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-17 15:12:15 -06:00
Sébastien Han b3a61bf4b9 ceph: more precise watcher object user controller
Only watch and react on resources that are matching the Kind of
CephObjectStoreUser.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-17 15:12:15 -06:00
Travis Nielsen f79bc3d6a0 noobaa: remove design docs due to inactivity
The NooBaa operator was proposed for addition to Rook, but
the team went a different direction and created an independent
operator. Removing the stale docs.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-17 14:30:56 -06:00
Travis Nielsen 2708eb457e ozone: move design doc to a subfolder
For consistency with the design docs, move the Ozone
design docs to a subfolder.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-17 14:30:56 -06:00
Travis Nielsen 8c2c257b34 Merge pull request #4984 from moricho/gomodules
Move to Go Modules
2020-03-17 13:26:11 -06:00
moricho c11d3d1cc9 codegen: modify codegen.sh to work correctly for go modules
This modify codegen.sh to work correctly.
`make codegen` temporarily download code-generator into vendor directory and use it
to refer to the local version of rook.

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-18 00:37:23 +09:00
RAJAT SINGH 3d6d14ea73 cephObjectstore: Replica size will not change
The pool size for cephObjectStore (object.yaml), was not getting updated in the cluster upon changing.The reason being that there was an "else" case missing to update  the replica size if the pools already existed. That will fix this issue.

Signed-off-by: RAJAT SINGH <rajasing@redhat.com>
2020-03-17 19:23:28 +05:30
Sébastien Han 4ae313f024 Merge pull request #4992 from travisn/doc-clarifications
Restructure prerequisites and clarify ceph docs
2020-03-17 09:07:12 +01:00
moricho 7d0215d820 ci: switch to use go.mod.check target
This switches to use `go.mod.check` target instead of `go.vendor.check` target.

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-17 16:48:43 +09:00
moricho 437a0b1d9b go: versionup sig-storage-lib-external-provisioner/controller
version up sig-storage-lib-external-provisioner/controller to v4.1.0 and
modify related files

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-17 16:47:55 +09:00
moricho 8907e220ea apis: regenerate files & modify k8sutil tests
This regenerate files with code-generator/deepcopy-gen and modify the related tests.

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-17 16:47:53 +09:00
moricho 2beb731a7e go: move to gomodules
This switches Rook to use `go mod` instead of `dep` for
dependencies management.

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-17 16:47:53 +09:00
Travis Nielsen cd4c77fa7d docs: update ceph toolbox to match example yaml
The ceph toolbox no longer needs mounts to /dev and /udev. The
docs had not previously been updated with this change.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:15:44 -06:00
Travis Nielsen a251959061 docs: restructure prerequisites and clarify ceph docs
The docs were in need of some restructuring wrt prerequisites. They
were mingled with general k8s and Ceph requirements. For clarity,
we need to separate the ceph prereqs from general k8s requirements.

There is now only a single prereqs page. All other topics should be
found under other sections, such as specific to Ceph. Having subtopics
under the general prereqs caused users to frequently not even notice
the main prereqs topic.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:15:44 -06:00
Travis Nielsen 2c70e10bd6 docs: add cluster-on-pvc and remove cluster-minimal examples
The cluster-minimal.yaml example is more confusing than helpful. Most users
seem to think that minimal includes a fully working cluster with OSDs.

The cluster-on-pvc.yaml example is frequently used and was missing from the
examples doc.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:13:56 -06:00
Travis Nielsen 575a73daa9 ceph: updates from a documentation review
The documentation for Ceph configuration needed some
clarification and cleanup from options that are no longer needed
or apply.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:13:55 -06:00
Travis NielsenandRan Rubin 735292e8e3 ceph: flex driver is not always a prerequisite
This configuration is required when using the flex CSI driver (required for K8s 1.12
or earlier). Going forward for K8s 1.13 and newer it is recommended to use the CSI
RBD driver, making Flexvolume configuration redundant.

Co-authored-by: Ran Rubin <ranrubin@gmail.com>
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:13:55 -06:00
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
Santosh Pillai 89570cfabb ceph: Design for ceph cluster clean up
This design doc covers the automatic clean up of the dataDirHostPath when the user intentionally deletes the ceph cluster.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2020-03-16 21:58:40 +05:30
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