Commit Graph
7961 Commits
Author SHA1 Message Date
Travis Nielsen ab69d75cf2 Merge pull request #4354 from egafford/cleanup-csi-resources
ceph: clean up CSI resources on cluster deletion
2019-12-04 20:00:39 -07:00
Travis Nielsen 5b8eb3c18e Merge pull request #4396 from leseb/ganesha-pid
ceph: openshift ganesha fixes
2019-12-04 17:40:09 -07:00
Travis Nielsen b89911ec7f Merge pull request #4318 from rajatsingh25aug/toolbox
Ceph: Toolbox does not need to run privileged
2019-12-04 16:57:49 -07:00
Travis Nielsen 2c6a6a87d6 Merge pull request #3282 from elek/ozone-design
ozone: design doc for ozone operator
2019-12-04 15:36:28 -07:00
Sébastien Han 4a7258eb0d ceph: osd pass crush location from prepare pod
We shouldn't need to compute the location from the main OSD pod, since
the prepare pod runs on the same node we can populate the crush location
information from that pod and pass it along to the main osd container.

This is an initial commit that aims to eventually remove the need of
using the rook binary when running the main osd container.

Closes: https://github.com/rook/rook/issues/4362
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-12-04 23:03:02 +01:00
RAJAT SINGH ca3ab62b9d Ceph: Modified toolbox.yaml so that it need not to run privileged
Removed unnecessary voumeMounts and privileged flag from toolbox.yaml file.

Signed-off-by: RAJAT SINGH <rajasing@redhat.com>
2019-12-05 01:57:50 +05:30
RAJAT SINGH 519b36286c File: Added file direct-mount.yaml
Changed all the occurances of toolbox.yaml to direct-mount.yaml in file direct-tools.md

Signed-off-by: RAJAT SINGH <rajasing@redhat.com>
2019-12-05 01:57:40 +05:30
Sébastien Han c5e79d4876 Merge pull request #4424 from leseb/lvm-filter-again
ceph: lvm filter again
2019-12-04 21:13:32 +01:00
Kazuhito MATSUDA 05ac9489b3 ceph: use /dev/mapper/<name> for ceph-volume instead of /dev/md-x
`ceph-volume` cannot handle a device correctly if the device has an alias
under `/dev/mapper/`.
This commit fixes it by checking whether the device has that kind of alias
and using the alias as an argument for `ceph-volume`.

Signed-off-by: Kazuhito MATSUDA <kazuto.jinnai@gmail.com>
2019-12-04 12:53:50 +00:00
Sébastien Han ad18158f81 ceph: revert "ceph: osd append instead of replace"
This reverts commit 7553318235.
The append puts the filter at the end of the file and it's out of any
lvm section, so it does not work anymore.

LVM complains with:

Configuration setting "filter" invalid. It's not part of any section.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-12-04 12:03:13 +01:00
Sébastien Han 12ebb8376e ceph: revert "ceph: add the missing newline in lvm.conf's filter configuration line"
This reverts commit eb908e8959.
See next commit for the reason of the revert.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-12-04 12:02:54 +01:00
Sébastien Han cdacb4d763 Merge pull request #4418 from travisn/osd-log-errors
Continue orchestration on osd update errors
2019-12-04 10:53:49 +01:00
Alexander Trost 3cc58f639a docs: fix storageclass name used
This corrects the used StorageClass name in the docs and example
snippets shown in the docs.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2019-12-04 10:16:14 +01:00
Sébastien Han 0a01a60de9 Merge pull request #4398 from leseb/ceph-version-output
ceph: fix ceph version output
2019-12-04 08:20:57 +01:00
Travis Nielsen add3129c12 ceph: continue orchestration on osd update errors
During an orchestration if there were failures to update any OSD deployment,
the orchestration would fail and continue trying again. If the OSD(s)
continued failing, the operator would be stuck in a loop and never
respond to other CR updates.

Now the operator will log the OSD errors, if any, and complete the
orchestration. We will rely on K8s to continue to attempt to start
the OSD pods instead of the operator being stuck in the loop.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2019-12-03 19:16:48 -07:00
Travis Nielsen e76859b937 Merge pull request #4391 from rohantmp/crConfig
Ceph: Generate new client config for controller-runtime
2019-12-03 12:57:37 -07:00
Sébastien Han 8c38cc7e67 Merge pull request #4409 from Madhu-1/snapshot
CSI: Ability to disable snapshotter from ceph-csi rbd
2019-12-03 11:03:53 +01:00
Sébastien Han 9be06d91b2 Merge pull request #4399 from cybozu-go/ceph-fix-lvm-conf-broken-idempotence
ceph: add the missing newline in lvm.conf's filter configuration line
2019-12-03 09:35:17 +01:00
Madhu Rajanna 6a2c0bad86 CSI: Fix logging in csiDriver object creation
replcaed Info with Infof for proper driver name
logging.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-12-03 13:27:59 +05:30
Madhu Rajanna cc418bce3b CSI: Ability to disable snapshotter from ceph-csi rbd
we need to set a ENV `CSI_RBD_ENABLE_SNAPSHOTTER`
variable to "false" in operator template to disable
deployment of snapshotter sidecar in ceph-csi rbd
provisioner.

Fixes: #4401
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-12-03 13:27:29 +05:30
Travis Nielsen 9d6e9fb6d0 Merge pull request #4407 from travisn/minikube-cleanup
Remove unused commands in minikube helper script
2019-12-02 23:54:51 -07:00
Travis Nielsen 9b8c49b585 minikube: remove unused commands in helper script
The helper script to start minikube has dead code that is
no longer used. Specifically, the flex driver config isn't needed
anymore and the RBAC rules are all configured in the manifests.
Neither is there a need to have a restart option on minikube.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2019-12-02 14:26:34 -07:00
Blaine Gardner 3764f5f02c Merge pull request #4325 from egafford/detect-version-terminate-on-k8s-configmap-failure
ceph: terminate detect-version if config write fails
2019-12-02 12:53:44 -07:00
Blaine Gardner 4fa5e38e51 Merge pull request #4403 from leseb/child-update
ceph: fix race condition on crd child update
2019-12-02 12:52:15 -07:00
Sébastien Han db614473c2 ceph: fix race condition on crd child update
We recently discovered a race condition which happens not to update the
child CRDs when CR image changes.

The race happens under the following sequence:

* orchestration onAdd() is called when the operator image restarts
or its image updated
* the orchestration then goes into processing mon/mgr/osd
* during this the cluster CR is updated so onUpdate() is called,
however, onAdd() is not done yet for child CRDs (mds, rgw)
* onUpdate() runs against the cluster CR and updates the cluster images
* by the time the child CRDs reached onUpdate() from their respective
ParentClusterChanged() methods, the image is already up to date
so we were exiting since our check for updating
these resources are based on the cluster image version

To fix this, we changed the comparison, but using isUpgrade instead and
slightly changed the way isUpgrade operates. So now, isUpgrade is true
even if the Ceph version is identical which allows us to verify whether
or not the image changed.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1775624
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-12-02 17:33:52 +01:00
Dmitry Yusupov 5764a19b0b Merge pull request #4394 from zoharm/edgefs-quickstart-single-node-req
EdgeFS doc quickstart min storage devices and single-node workaround
2019-12-02 07:54:25 -08:00
Satoru Takeuchi eb908e8959 ceph: add the missing newline in lvm.conf's filter configuration line
lvmFilter doesn't contain a newline character. So when we will add more
lines after lvm.conf's filter configuration line, lvm.conf will corrupt.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2019-12-02 15:00:44 +00:00
Sébastien Han 09ac5823f6 ceph: fix ceph version output
We now print the build number.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-12-02 11:47:45 +01:00
Sébastien Han f335936140 ceph: nfs ganesha pid location
Let's use /var/run/ganesha directory to host the PID of the ganesha.nfsd
process instead of /var/run

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-12-02 10:08:08 +01:00
Sébastien Han df40a7c905 ceph: nfs add pod security for openshift
The container needs to be privileged so that it can have the right
access for OpenShift.

Closes: https://github.com/rook/rook/issues/3525
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-12-02 10:07:55 +01:00
Zohar Mamedov bddd85fe00 docs: edgefs quickstart mention replication count requirements
Signed-off-by: Zohar Mamedov <zmamedov87@gmail.com>
2019-12-02 14:15:44 +07:00
Sébastien Han b38f160001 Merge pull request #4393 from ranrubin/patch-1
doc: fixed broken link in ceph-examples
2019-12-01 12:36:09 +01:00
ranrubin 63971e92b2 doc: fixed broken link in ceph-examples
Signed-off-by: ran rubin <ranrubin@gmail.com>
2019-12-01 13:10:15 +02:00
Rohan CJ 3b5ee8b4c6 Ceph: Generate new client config for controller-runtime
Reusing the kubeconfig was resulting in concurrent access issues.

Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2019-11-29 18:14:20 +05:30
Sébastien Han 369958e08b Merge pull request #4385 from cybozu-go/cluster-example-remove-non-existent-topologyAware-CRD-option
ceph example: remove non-existent topologyAware CRD option
2019-11-28 14:50:00 +01:00
Satoru Takeuchi fcc3dbce0b ceph example: remove non-existent topologyAware CRD option
topologyAware CRD option is removed by the following commit.

commit ef6815ebfa

Fixes: https://github.com/rook/rook/issues/4384

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2019-11-28 13:34:49 +00:00
Travis Nielsen a9252bab6e Merge pull request #4331 from leseb/use-mon-kv-config
ceph: rgw and mds use ceph mon config store
2019-11-26 18:06:44 -07:00
Travis Nielsen 6d58adeee8 Merge pull request #4373 from leseb/ceph-version-build
ceph: fix upgrade of mds/rgw on build release
2019-11-26 16:00:54 -07:00
Sébastien Han 6d8bb7e822 ceph: mds use ceph mon config store
The Ceph Mimic release introduced the monitor config store which allows
us to set configuration flag per daemon in a centralized fashion. Let's
use it for Mimic and newer and keep the CLI flag of daemon startup for
older versions.
The main benefit is that the config of a daemon can now be overridden.

Also, this commit refactors some code and add methods that are unit
tested.

Closes: https://github.com/rook/rook/issues/4307
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-11-26 23:21:26 +01:00
Sébastien Han 334827fb95 ceph: rgw use ceph mon config store
The Ceph Mimic release introduced the monitor config store which allows
us to set configuration flag per daemon in a centralized fashion. Let's
use it for Mimic and newer and keep the CLI flag of daemon startup for
older versions.
The main benefit is that the config of a daemon can now be overridden.

Closes: https://github.com/rook/rook/issues/4307
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-11-26 23:20:52 +01:00
Sébastien Han 9a33429ec1 ceph: fix array indexes for versions
The indexes were wrongly positionned and were pointing to the previous
one instead of the one that failed to be converted to an int.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-11-26 22:47:32 +01:00
Sébastien Han 2c8535d51c ceph: fix mds and rgw upgrade
Checking for isUpgrade is irrelevant since we need to restart the
deployment because the the spec has changed, the only thing that might
change is whether or not we perform upgrade checks.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1775624
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-11-26 22:47:14 +01:00
Travis Nielsen 31669e959d Merge pull request #4375 from leseb/rm-mgr-rook-img
ceph: remove ROOK_VERSION from the mgr pod
2019-11-26 11:17:12 -07:00
Sébastien Han 7fe410a747 ceph: add build version support
Rook now supports a build versions with a format of:

ceph version 14.2.4-64

Where -64 represents the 64th version of that package.
This is needed in order to properly detect upgrades.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-11-26 17:09:08 +01:00
Sébastien Han 929853b652 ceph: remove ROOK_VERSION from the mgr pod
Because of this, the mgr would be restarted if the operator image
change. This must not happen.
Added unit tests for cephMgrOrchestratorModuleEnvs() as well.

Closes: https://github.com/rook/rook/issues/4361
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-11-26 15:40:36 +01:00
Sébastien Han 76e95fbe80 Merge pull request #4348 from WoohyungHan/nfs_doc_label
Fix NFS document with wrong label
2019-11-26 05:18:45 -08:00
Sébastien Han 088548a7f3 Merge pull request #4360 from travisn/upgrade-log-msg
Clarify log message for Ceph upgrades
2019-11-25 23:31:53 -08:00
Travis Nielsen a376263d8d Merge pull request #4344 from leseb/crash-priv
ceph: add missing pod sec context for crash
2019-11-25 10:27:39 -07:00
Elise Gafford 710cd50c33 ceph: terminate detect-version if command or config write fails
This change terminates the detect-version job in the case of a
failure to run its command or write its output to a ConfigMap.
This causes the job to report an error code appropriately,
signalling the possibility of retry and improving resiliency.

Fixes: #4301
Signed-off-by: Elise Gafford <egafford@redhat.com>
2019-11-22 11:47:36 -05:00
Travis Nielsen 87e2b09453 ceph: clarify log message for Ceph upgrades
Some log messages indicate when the upgrade checks will be
performed. If the Ceph image hasn't changed, the upgrade checks
are skipped. The messages were confusing if running a Rook
upgrade.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2019-11-22 09:03:03 -07:00