Commit Graph
7961 Commits
Author SHA1 Message Date
Sébastien Han 7b4b6da9ee Merge pull request #4663 from shellwedance/build-makelib-typofix
build: fix typo in makelib
2020-01-14 16:17:26 +01:00
Travis Nielsen 5e350f290e Merge pull request #4666 from anmolsachan/fix_mon_alerts
ceph: Fixed CephMonHighNumberOfLeaderChanges alert
2020-01-14 07:58:00 -07:00
Sébastien Han 0e05917dd8 Merge pull request #4674 from travisn/multiple-test-versions
Allow integration tests in minimal config to run on multiple versions
2020-01-14 10:17:36 +01:00
Anmol Sachan caf79f971f ceph: Fixed CephMonHighNumberOfLeaderChanges alert
The alert was showing wrong POD and hostname in the
alert description. Fixed the query for the same by
adding the right labels from ceph_mon_metadata query
to the original query.

Signed-off-by: Anmol Sachan <anmol13694@gmail.com>
2020-01-14 13:32:03 +05:30
Travis Nielsen e51428b9cb Merge pull request #4630 from Arnav15/replication_fix
yugabytedb: fixed replication factor flag and the master addresses.
2020-01-13 23:04:56 -07:00
Travis Nielsen 47840b9fef tests: parsing flags causing integration test failure locally
Running integration tests locally on k8s 1.13 was causing an error
with parsing the command line flags. We can't call flags.Parse()
from an init() method.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-01-13 16:56:48 -07:00
Travis Nielsen 2d892b0e88 tests: allow integration tests in minimal config to run on multiple versions
When the tests run in a PR, they can only run against a single version
of K8s by default. If more than five k8s versions are supported in hte
CI, we will need to run some of the suites on multiple versions.
The versions are comma-separated in the list.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-01-13 16:54:49 -07:00
Travis Nielsen 57c4008f2e Merge pull request #4596 from secret104278/master
ceph: Add range validation to port in CRDs
2020-01-13 16:26:58 -07:00
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
Blaine Gardner 2e242ca886 ceph: upgrade test versions v1.0->v1.1->v1.2->v1.3
In the Ceph upgrade integration test, upgrade from Rook v1.0 with Ceph
Mimic v13 to install legacy disk-based OSDs. Then upgrade Ceph to
Nautilus, then Rook to v1.1, then v1.2, then v1.3 (master currently) to
make sure that Rook is able to run legacy OSDs created without
ceph-volume.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2020-01-13 08:56:35 -07:00
Blaine Gardner c40763c5c6 integration: retry pod logs with kubectl on fail
Sometimes we fail to get logs for pods using this method, notably the
operator pod. It is unknown why this happens. Pod logs are VERY
important, so try again using kubectl.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2020-01-13 08:56:33 -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
taeuk_kim 58a99c5410 build: fix typo in makelib
Fix a grammer typo in /build/makelib/golang.mk

Signed-off-by: taeuk_kim <taeuk_kim@tmax.co.kr>
2020-01-13 21:37:14 +09:00
Yu Chih 1f73d59dea ceph: Add validation to cluster spec rgw port range
When creating a CephObjectStore object, operator will
use .Gateway.Port or .Gateway.SecurePort to create k8s
Service object, if the port is invalid, the Service
will not be created.

Note .Gateway.Port/.Gateway.SecurePort should in 1~65535,
however .Dashboard.Port is 0~65535 because 0 will use
default setting for .Dashboard.Port and there is no
such mechanism for .Gateway.Port/.Gateway.SecurePort

Closes: https://github.com/rook/rook/issues/4574
Signed-off-by: Yu Chih <secret104278@gmail.com>
2020-01-13 18:00:34 +08: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
Arnav Agarwal 11244925ed yugabytedb: added single rf container command test
adds test to verify container create command with RF=1

Signed-off-by: Arnav Agarwal <14933889+Arnav15@users.noreply.github.com>
2020-01-10 15:02:14 -08: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
Juan Miguel Olmo Martínez e27dcdd419 ceph: Remove ineffectual assignments
Description of your changes:
Fix security issues identified by TrailOfBits

Modifications in osd/status.go:
I opted by remove the offending variables because "c.checkNodesCompleted"
provides this variables always, so no need to initialize them.
var was not used, so i have replaced it by the blank identifier.

Modifications in machinelabel/add.go:
I have followed the same criteria used in other disruption packages,
and return the error if it is produced when we try to "watch" machines.

Closes: https://github.com/rook/rook/issues/4565

[test ceph]

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
2020-01-10 10:12:49 +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
Arnav Agarwal 17d5ab65a5 yugabytedb: fixed replication factor flag and the master addresses.
This PR fixes the replication factor flag for yugabytedb deployments.

Signed-off-by: Arnav Agarwal <14933889+Arnav15@users.noreply.github.com>
2020-01-07 19:49:41 -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