Commit Graph
4146 Commits
Author SHA1 Message Date
Sébastien Han 76a617e5ea Merge pull request #4658 from travisn/non-portable-osd
Set hostname properly in the CRUSH map for non-portable OSDs on PVCs
2020-01-13 21:37:31 +01:00
Travis Nielsen 078e87a722 ceph: fix non-portable osd crush host name
The host name of an OSD in the CRUSH map should be the real
host name for non-portable OSDs. It was incorrectly being set
to the PVC name. Now the non-portable OSDs based on PVCs will
corretly have the host name set to the node name.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-01-13 12:17:49 -07:00
Travis Nielsen aacec0dcda ceph: simplify arguments to getConfigEnvVars method
The method to construct osd environment variables is simplified
by passing a struct param instead of individual params

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-01-13 12:15:15 -07:00
Sébastien Han 0d2f955d7c Merge pull request #4668 from likid0/fix-ocp-operator-external
ceph : Change in operator-openshift.yaml the env variable ROOK_CURREN…
2020-01-13 17:56:58 +01:00
Travis Nielsen 41122c3aa3 Merge pull request #4661 from Madhu-1/remove-priv
CSI: run containers as non-privileged in provisioner pod
2020-01-13 09:31:48 -07:00
Daniel Parkes 9762dee4b8 fix(context): ceph : Change in operator-openshift.yaml the env variable ROOK_CURRENT_NAMESPACE_ONLY to false
When configuring a cephcluster CRD on a different namespace than rook-ceph, like for example when deploying a external cluster, we need to set ROOK_CURRENT_NAMESPACE_ONLY to true so the operator can watch for CRD modifications on other namespaces.

Closes: https://github.com/rook/rook/issues/4667
Signed-off-by: Daniel Parkes <dparkes@redhat.com>
2020-01-13 14:31:04 +01:00
Sébastien Han 352c433edd Merge pull request #4638 from leseb/rm-osd-min-size
ceph: remove last bits of osd min_size
2020-01-13 09:15:15 +01:00
Madhu Rajanna 47cc1adf62 CSI: run containers as non-privileged in provisioner pod
currently we are running plugin container as privileged
in the provisioner pod for both cephfs and rbd.

we are also running snapshotter container as privileged
in the provisioner pod for rbd.

as we are executing the ceph and rbd commands in provisioner
pod we dont need to be privileged, This PR removed the
privileged capability from the templates.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-01-13 09:07:21 +05:30
Travis Nielsen 55c5f44cb1 Merge pull request #4632 from HaichaoLii/rook-arm
Dep: Update golang dep to support Arm64
2020-01-10 23:50:10 -07:00
Travis Nielsen b01af186e6 Merge pull request #4650 from Madhu-1/fix-csi
CSI: Use EmptyDir to store provisioner socker and run all containers as privileged in daemonset pod
2020-01-10 09:26:38 -08:00
Sébastien Han 289503a6ec ceph: remove last bits of osd min_size
As agreed in https://github.com/rook/rook/issues/2543, Rook must not set
min_size for a pool and should let Ceph handle that calculation.

Also, stop setting this property to EC pools.

Closes: https://github.com/rook/rook/issues/2543
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-01-10 17:24:52 +01:00
Madhu Rajanna 7a7e65a9b2 CSI: use empty dir to store provisioner socket file
currently we are making use of hostpath
directory to store the provisioner socket, as this
socket is not needed by anyone else other than containers
inside the provisioner pod using empty directory
to store this socket is  the best option.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-01-10 08:31:18 +05:30
Madhu Rajanna d9dd91d9fb CSI: Add privileged securityContext to all daemonset containers
On systems with SELinux enabled, non-privileged containers
can't access data of privileged containers.
Since the socket is exposed by privileged containers,
all sidecars must be privileged too.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-01-10 08:31:12 +05:30
Travis Nielsen f5edde3b80 Merge pull request #4503 from travisn/test-k8s-1.17
Run integration tests on K8s 1.17
2020-01-09 18:08:26 -08:00
Travis Nielsen 3276492b82 Merge pull request #4461 from travisn/remove-minio
Remove Minio from rook
2020-01-09 16:50:40 -08:00
Haichao Li 065bb6677e Dep: Update golang dep to support Arm64
Current Rook code uses go dep 0.5.0 and separates handling
for Arm and x86. It's because there's no dep 0.5.0 binary
for arm64.Dep has updated to 0.5.4 and supports arm64. Rook
code can be simplified by upgrading dep to fix gaps of Arm
and x86.

Change-Id: Id91a993ca059461faa8a83065c93dadc7cdffeb2
Signed-off-by: Haichao Li <haichao.li@arm.com>
2020-01-09 10:13:54 +08:00
Travis Nielsen 9a078bf9e6 minio: remove from rook
The minio operator has not had community support nor
any updates since being added to Rook. Support is being
removed from Rook due to this lack of community interest.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-01-08 15:45:21 -08:00
Travis Nielsen 044140fc1a Merge pull request #4626 from SUSE/topology-label
core: k8s 1.17 zone/region failure domain labels
2020-01-08 15:23:18 -08:00
Travis Nielsen a02c2c3089 tests: run integration tests on k8s 1.17 and remove 1.12
With the release of K8s 1.17 Rook needs to test on this new version.
The integration tests will now run the tests across K8s 1.13-1.17.
The pattern has been to run the tests across the most recent five
versions.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-01-08 07:18:53 -08:00
Sébastien Han 1dc224340e Merge pull request #4631 from travisn/clear-release-notes
Reset the pending release notes for 1.3
2020-01-08 08:57:26 +01:00
Travis Nielsen c1075311dd notes: reset the pending release notes for 1.3
With the creation of the release-1.2 branch, master is now moving
on for the 1.3 release.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-01-07 23:03:33 -08:00
Dmitry Yusupov 66779092a0 Merge pull request #4623 from nizamial09/var_shadow
edgeFS: Took care of the Variable shadowing in ConfigMap
2020-01-07 14:18:41 -08:00
Travis Nielsen ee4315dad8 Merge pull request #4617 from leseb/skip-check-wait-timeout
ceph: add option to continue on unclean PGs
2020-01-07 14:02:50 -07:00
Travis Nielsen e2dcfc6330 util: no verbose logging for retry messages
The retry messages are too verbose with the stack trace
since the aggregated messages were added. This change
turns off the verbose message.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-01-07 12:18:54 -07:00
Sébastien Han 05aa639317 ceph: add option to continue on unclean PGs
A new CRD option `continueUpgradeAfterChecksEvenIfNotHealthy` is added.
When upgrading, Rook goes OSD by OSD and then waits for PGs to be clean
before proceeding to the next OSD. Currently, Rook waits for 5 hours but
there might be circumstances where PGs need more time to settle.
Thus setting `continueUpgradeAfterChecksEvenIfNotHealthy` to true will
pursue the upgrade process, even if PGs are not 100% active+clean.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1786029
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-01-07 12:18:54 -07:00
Blaine Gardner facc473f59 core: k8s 1.17 zone/region failure domain labels
Add support for the k8s 1.17 official zone/region failure domain labels.
Our earlier guess that the official labels would be
<failure-domain.kubernetes.io> was wrong; the official is now
<topology.kubernetes.io>.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2020-01-07 11:52:28 -07:00
Travis Nielsen 43a66f2a8b Merge pull request #4621 from travisn/operator-kit-dependency
Remove operator kit dependency
2020-01-07 11:03:28 -07:00
Travis Nielsen 7fa0032027 Merge pull request #4585 from jmolmo/issue_4567
ceph: Avoid invalid execution state
2020-01-07 10:05:15 -07:00
Travis Nielsen d0c7d28a63 build: remove operator kit dependency
The operator kit had more utility originally when the operator
was creating and managing the TPRs and CRDs directly. Since
the CRDs are now created from a manifest and no longer by the
operators, the utility of operator kit is limited to the
controller watcher. Since we are moving to the controller runtime
we simplify the code to make the transition smoother. Now
there is only a simple WatchCR method that will need to be
replaced as we maek that transition.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-01-07 08:30:14 -07:00
Nizamudeen 700d280971 edgeFS: Took care of the Variable shadowing in ConfigMap
This commit fixes the variable shadowing in configMap which leads to a potential misconfiguration.

Resolves: https://github.com/rook/rook/issues/4563

Signed-off-by: Nizamudeen <nia@redhat.com>
2020-01-07 12:04:34 +05:30
Alexander Trost e9fb8f6d8e ceph: Generating a strong ceph dashboard password (#4612)
ceph: Generating a strong ceph dashboard password
2020-01-07 00:07:16 +01:00
Nizamudeen 729b883dc8 ceph: Generating a strong ceph dashboard password
Replaced `math/rand` with more secure `crypto/rand` which will generate CSPRNG.
Changed the length of dashboard password from 10 to 20 and included more special characters that can strengthen password.

Passwords before this change: QoMmqLkaOf,8tqTyWF1sZ
Passwords after this change: L{QZ@_c'Rl7$uvW:UHU1, fP-OjX`UVw0J0Ka/scS(

Resolves: https://github.com/rook/rook/issues/4571

Signed-off-by: Nizamudeen <nia@redhat.com>
2020-01-06 15:44:23 +05:30
Travis Nielsen bbda50ef4c Merge pull request #4586 from jmolmo/issue_4568
ceph: Do not log sensitive information in debug mode
2020-01-04 07:51:48 -07:00
Travis Nielsen 10f0fc5197 Merge pull request #4609 from kawaja/disaster-recovery-updates
doc: disaster recovery updates after an incident
2020-01-04 07:37:48 -07:00
Rik Harris 410b5263ed doc: ceph DR updates based on real-world mistake
After a failure in a live ceph cluster, I discovered some minor glitches
when executing the instructions in ceph-disaster-recovry.md. Hopefully
this should help others.

Signed-off-by: Rik Harris <git@kawaja.net>
2020-01-04 18:04:16 +11:00
Juan Miguel Olmo Martínez 7b3e2b006e ceph: Do not log sensitive information in debug mode
Fix security issues identified by TrailOfBits:
Logging of sensitive information in debug mode

Problematic debug lines which can contain sensitive data have been removed

Resolves: #4568

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
2020-01-03 17:16:25 +01:00
Sébastien Han 9728c24848 Merge pull request #4605 from leseb/help-pr-commits
documentation: improve commit structure
2020-01-03 15:03:50 +01:00
Sébastien Han 360ff98923 documentation: improve commit structure
This commits adds more documentation on how to contribute better commit
messages.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-01-03 10:14:41 +01:00
Dmitry Yusupov d90d2411bc Merge pull request #4600 from nizamial09/fix_logic_finalizer_1
edgeFs: Fix logic of error handling in the finalizer method
2020-01-02 05:11:31 -08:00
Nizamudeen e92e7e1bb1 edgeFs: Fix logic of error handling in the finalizer method
If obj is not successfully cast into an e dgefsv1.Cluster, ok will be false, resulting in the .Update(cluster) operation not running, and the declared err variable retaining its default nil value. Subsequently, a check against err is performed, which will evaluate to false, resulting in logging the finalizer as removed when it in fact was not.

Signed-off-by: Nizamudeen <nia@redhat.com>
2020-01-01 15:08:14 +05:30
Travis Nielsen 97ce25ce03 Merge pull request #4589 from leseb/fix-activate-env
ceph: osd add missing ROOK_CEPH_MON_HOST env
2019-12-26 10:46:09 -07:00
Sébastien Han 4224f84d7c ceph: osd add missing ROOK_CEPH_MON_HOST env
The ROOK_CEPH_MON_HOST env var was missing from the pod env so the
CEPH_ARGS won't be populated correctly.

Closes: https://github.com/rook/rook/issues/4558
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-12-23 16:15:46 +01:00
Sébastien Han bc555b1bbc Merge pull request #4583 from leseb/fix-encrypted-osd
ceph: add missing vol mount for encrypted osds
2019-12-23 15:17:18 +01:00
Juan Miguel Olmo Martínez 5f1c95002b ceph: Avoid invalid execution state
security issues identified by TrailOfBits:

Improperly handled type assertion error could result in invalid
execution state.
If we obtain an error trying to get a Node object is better not
continue executing this function.

Resolves #4567

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
2019-12-23 11:44:18 +01:00
Sébastien Han 7d11524643 ceph: add missing vol mount for encrypted osds
"ceph-volume activate" on encrypted osds needs a ceph.conf as well as
connectivity to the mons. This commit adds that to that "activate-osd"
init container.

Closes: https://github.com/rook/rook/issues/4558
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-12-23 09:59:04 +01:00
Travis Nielsen eeb2d35a13 Merge pull request #4561 from billimek/bump-operator-mem-limit
ceph: Bump operator mem limit
2019-12-20 10:41:11 -07:00
Jeff Billimek 127e9d289a ceph: bumping ceph-operator memory limit to 256Mi
* bumping ceph-operator memory limit from 128Mi to 256Mi in order to
avoid OOMkills of the rook-ceph-operator pod
* updating documentation example for operator to denote a limit of 256Mi
instead of 128Mi

When upgrading from rook v1.1.7 to v1.2.0, the rook-ceph-operator pod
continued to get OOMKilled by the kubernetes scheduler.  Manually
bumping this limit to something higher than 128Mi (I tried 256Mi and it
was good) prevented the OOMKills.

Signed-off-by: Jeff Billimek <jeff@billimek.com>
2019-12-20 11:41:40 -05:00
Sébastien Han 805e606cce Merge pull request #4508 from bsperduto/hotfix/objectBucketClaimPort
ceph: fix object bucket provisioner when rgw not on port 80
2019-12-20 10:37:23 +01:00
Travis Nielsen 47ddb504d4 Merge pull request #4509 from mateuszlos/clientCRD_tests
ceph: client CRD test fixes
2019-12-19 12:33:31 -07:00
Travis Nielsen c1bd451af0 Merge pull request #4544 from travisn/osd-on-pvc-crush
Rehydrate the osd CRUSH location for PVCs
2019-12-18 15:48:52 -07:00