Commit Graph
13292 Commits
Author SHA1 Message Date
Travis Nielsen 4edcff04f7 monitoring: create prometheus rules with helm chart
The prometheus rules had been previously created if the cephcluster CR
setting monitoring.enabled was set to true. The rules were not customizable
and therefore not flexible enough. Now the rules are installed by the helm
chart. To customize the rules, a post-processor can be applied to the helm
chart.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-21 14:47:52 -06:00
Travis Nielsen 4f9a72c1db Merge pull request #9894 from yuvalman/resources
helm: enable resource defaults on rook components
2022-03-21 13:58:17 -06:00
Yuval Manor ff7a5c2d2d helm: enable resource defaults on rook components
This PR assign default values to the resources of all Rook and Ceph components

Closes: https://github.com/rook/rook/issues/9858
Signed-off-by: Yuval Manor <yuvalman958@gmail.com>
2022-03-21 21:23:35 +02:00
Yuval Manor d222ad65e3 core: fix GetLogCollectorResources to get the right resources
Fix GetLogCollectorResources to use the logcollector instead of the crashcollector key

Closes: https://github.com/rook/rook/issues/9897
Signed-off-by: Yuval Manor <yuvalman958@gmail.com>
2022-03-21 17:55:03 +02:00
Travis Nielsen 833c458f60 Merge pull request #9910 from subhamkrai/all-crs-printColumn
core: add `Phase` in `additionalPrinterColumns` for all CRs
2022-03-21 07:15:07 -06:00
subhamkrai dc488591e2 core: add Phase in additionalPrinterColumns for all CRs
this commit adding `Phase` in `additionalPrinterColumns` for
all the CRs.

this is how it looks now, example:

```
$ kc get cephfilesystem
NAME   ACTIVEMDS   AGE     PHASE
myfs   1           4m57s   Ready
srai@ ~
$ kc get cephblockpool
NAME                    PHASE
device-health-metrics   Ready
replicapool             Progressing
srai@ ~
$ kc get cephclient
NAME     PHASE
cinder   Ready
glance   Ready
```

Closes: https://github.com/rook/rook/issues/9883
Signed-off-by: subhamkrai <srai@redhat.com>
2022-03-21 09:13:26 +05:30
Travis Nielsen 2b2469cf1c Merge pull request #9926 from travisn/default-msgr1-port
mon: Set the msgr1 port by default for csi driver
2022-03-18 07:55:43 -06:00
Satoru Takeuchi eb88d01924 Merge pull request #9930 from cybozu-go/test-avoid-potential-data-inconsistency-on-zapping-disk
test: avoid potential data inconsistency on zapping disk
2022-03-18 22:34:04 +09:00
Satoru Takeuchi 3bbffd1e4d test: avoid potential data inconsistency on zapping disk
Data inconsistency might happen if the disk is accessed just after disk
zapping because direct I/O is not synchronous by itself.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2022-03-18 11:50:04 +00:00
Travis Nielsen 86eebc7486 mon: set the msgr1 port by default for csi driver
Older kernels still fail to connect for rbd/cephfs with
the msgr2 port due to a difference in http protocol expected.
For now, we keep the default port as msgr1 for the csi driver
and other client connections, unless msgr2 is strictly required
for encryption or compression.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-17 16:34:13 -06:00
Sébastien Han 18b19de639 Merge pull request #9687 from parth-gr/observedGeneration
core: add observedGeneration to CR status
2022-03-17 10:36:11 +01:00
Travis Nielsen b4a0ae39b0 Merge pull request #9890 from travisn/support-quincy-1.9
test: Support Ceph Quincy v17 and Rook v1.9 with updated integration tests
2022-03-16 15:20:01 -06:00
Travis Nielsen 48be000b4f core: add quincy to the supported versions
Ceph Quincy is now supported as of Rook v1.9.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-16 14:26:20 -06:00
Travis Nielsen ee1e17518d test: upgrade from 1.8 to master
The upgrade integration test had been testing from v1.7
to master. Now with the v1.8 release coming up we upgrade
from v1.8 to master.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-16 14:19:08 -06:00
Travis Nielsen 8ed9c5d480 test: add quincy to the integration test matrix
With Ceph Quincy v17 support added in Rook v1.9, Quincy
is now added as a target ceph version to test in the integration
tests. The smoke suite will test against Quincy, the upgrade
suite will upgrade from pacific to quincy, while other test
suites will run against octopus or pacific. The daily tests
will test other combinations as well.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-16 14:19:08 -06:00
Travis Nielsen ad99f9e205 pool: update the quincy default pool to .mgr
In Quincy, the device_health_metrics pool is renamed to .mgr.
In the example cluster-test.yaml, we therefore update the
example to create the pool with the new name.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-16 14:18:49 -06:00
parth-gr 2dfd64a97c core: add observedGeneration to CR status
adding observedGeneration field in the cephcluster cr
status for having better control on reconciling,
as observedGeneration field will be updated by the controller

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

Signed-off-by: parth-gr <paarora@redhat.com>
2022-03-16 19:58:35 +05:30
Blaine Gardner 1bbe39a81b Merge pull request #9710 from rexagod/9025
rgw: add unit tests for the external ceph object store reconciler
2022-03-15 16:23:49 -06:00
Travis Nielsen 016ad25537 Merge pull request #9913 from travisn/restart-osds-doc
docs: Add annotations to restart ceph daemons
2022-03-15 13:43:56 -06:00
Travis Nielsen 027477a890 docs: add annotations to restart ceph daemons
If the ceph daemons need to be restarted after applying the custom
ceph.conf, adding annotations or labels to the cluster CR is
perhaps the simplest way to automate the rolling update.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-15 11:52:16 -06:00
Blaine Gardner 1d0c79f8f0 Merge pull request #9908 from BlaineEXE/dependents-cephfilesystem
file: add events to filesystem reconcile
2022-03-15 09:12:30 -06:00
Pranshu Srivastava 5e414666cc rgw: add unit tests for the external ceph object store reconciler
Added few test cases to check for the following:
* creation of an external object store
* deletion of an external object store
* creation of an external object store with a missing secret
* creation of an external object store with ExternalRGWEndpoints set to
  nil.

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
2022-03-15 18:08:54 +05:30
Blaine Gardner 177ba1103d file: add events to filesystem reconcile
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-03-14 10:29:25 -06:00
Sébastien Han 00a4dc19f7 Merge pull request #9879 from subhamkrai/ci-pylint
ci: add pylint in ci
2022-03-14 17:22:27 +01:00
Blaine Gardner 992c1e620a Merge pull request #9800 from subhamkrai/events
core: add k8s events in blockpool reconciler
2022-03-14 09:51:46 -06:00
subhamkrai fd475575ff ci: add pylint in ci
adding pylint in ci.

Closes: https://github.com/rook/rook/issues/9866
Signed-off-by: subhamkrai <srai@redhat.com>
2022-03-14 18:58:20 +05:30
subhamkrai 6a9ff434d2 core: add k8s events in controller reconciler
adding k8s event in controller reconciler when
1. when reconciler starts
2. when deletion reconcile triggered.

Closes: https://github.com/rook/rook/issues/9462
Signed-off-by: subhamkrai <srai@redhat.com>
2022-03-14 18:55:26 +05:30
Sébastien Han 9fcc6891b6 Merge pull request #9706 from subhamkrai/use-webhook-placeholder-value
core: remove caBundle value from webhook
2022-03-14 08:59:15 +01:00
Sébastien Han c368c2a146 Merge pull request #9862 from vavuthu/fix_external_script_join_cmd
core: fix incorrect join command
2022-03-14 08:57:24 +01:00
subhamkrai 2115daa317 core: refactor webhook config and related script
This commit refactor webhook config by adding/removing
spaces. Also, moved the Issue and Certificate creation
from bash script to webhook config yaml.

Signed-off-by: subhamkrai <srai@redhat.com>
2022-03-14 10:16:01 +05:30
Blaine Gardner afd38a57c5 Merge pull request #9873 from BlaineEXE/report-reconcile-rework
core: rework usage of ReportReconcileResult
2022-03-11 10:02:30 -07:00
Travis Nielsen c580e8f09c Merge pull request #9118 from travisn/network-encryption
mon: Options for enabling msgr2 encryption and compression
2022-03-11 09:49:55 -07:00
Travis Nielsen 360de78263 Merge pull request #9878 from travisn/csi-mon-config
csi: Populate mon endpoints even if driver not enabled
2022-03-11 07:36:20 -07:00
Blaine Gardner c92c6fbc36 core: rework usage of ReportReconcileResult
ReportReconcileResult should never be given an object that is nil. It is
impossible to force compile-time checking for this because the object's
type is an interface. We can't force this, but we can rework the
function definition to handle more cases where the object may not be
returned fully-complete, and we can rework callers to return structs
(not pointers-to-structs) so it is less likely a caller will pass nil
to the function.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-03-10 16:53:25 -07:00
Travis Nielsen a585a69843 Merge pull request #9891 from travisn/vol-repl-crds
build: Clean the olm dir for crd generation
2022-03-10 14:47:01 -07:00
Travis Nielsen c75f6ffd82 build: clean the olm dir for crd generation
The volume replication crds were being added to the generation directory
and causing subsequent builds to pick up those crds in the generation
of crds.yaml and the helm generation. To keep the volume replication
crds out of the generation, the directory needs to be cleaned
with each run.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-10 14:15:31 -07:00
Travis Nielsen 79e470787b Merge pull request #9888 from travisn/mon-startup-probe
mon: Disable startup probe on canary pods
2022-03-10 12:53:47 -07:00
Travis Nielsen 22dea0a1ef mon: disable startup probe on canary pods
The canary pods are very short-lived pods and are not
running ceph in any form. The startup probe was mistakenly
enabled for the canary pod, which could cause the pod
to fail unexpectedly if the startup probe was triggered
after the delay timeout.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-10 12:19:55 -07:00
Travis Nielsen 03c7164b15 mon: options for enabling msgr2 encryption and compression
msgr2 allows for encryption and/or compression across the wire.
Settings for enabling the encryption and compression are now
available in the cluster CR to that ceph will be automatically
configured with these settings when desired.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-10 11:50:42 -07:00
Travis Nielsen cec3942d72 test: run encrypted tests with nbd driver
The encryption on the wire requires either the 5.11 kernel
or the nbd driver. Until the kernel update is available in minikube
we use the rbd-nbd.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-10 11:48:48 -07:00
Travis Nielsen 9f6804515c mon: enable msgr2 by default for new mons
New mons all support msgr2, so there is no need to keep the default
msgr1 port for new mons.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-10 11:48:47 -07:00
Travis Nielsen 2b2231eb0c mon: no need to enable msgr2 since nautilus
Since Nautilus, mgr2 is already enabled by default. No longer
does the operator need to enable msgr2 after the mons are
configured or upgraded.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-10 11:48:47 -07:00
Travis Nielsen 5294678f05 Merge pull request #9884 from leseb/fix-2061657
osd: clarify vault auth error message
2022-03-10 10:25:06 -07:00
Travis Nielsen 8bce38fadb csi: populate mon endpoints even if driver not enabled
If the csi driver was enabled at a later time, the mon endpoints
would not be populated. The populate the csi config, either a new
cluster reconcile or restarting the operator would be necessary.
It is simpler just to update the csi configmap with every reconcile
even if the csi driver is not enabled.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-10 10:20:58 -07:00
Travis Nielsen 76b349d808 csi: log a warning if pod namespace env var not found
If the pod namespace was not found by the csi helper to update
the mon endpoints configmap, the reconcile was failing. To allow
for the update to continue in unit tests and ignore the env var,
we only log the warning instead of failing the reconcile.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-10 10:20:51 -07:00
Travis Nielsen 2e27ca883f Merge pull request #9851 from travisn/replication-csv
build: Add volume replication crds to csv ownership
2022-03-10 07:40:52 -07:00
Sébastien Han 74081d90d3 osd: clarify vault auth error message
When kube authentication is used, let's clarify the error message and
hopefully lead to a better understanding on where to look for.
It could be misleading to print "token auth" when using kube auth,
although internally a token is used (the JWT from the Service
Account).

Signed-off-by: Sébastien Han <seb@redhat.com>
2022-03-10 14:10:19 +01:00
vavuthu b9d8df9ec9 core: avoid creating json_out incase of dry-run
When using dry-run option with external script, out_map dictionary
doesn't contain keys ( ACCESS_KEY and SECRET_KEY ) which leads to KeyError.
This fix to avoid creating json_out incase of dry-run since we will not use
json_out for dry-run.

Signed-off-by: vavuthu <vavuthu@redhat.com>
2022-03-10 14:25:52 +05:30
vavuthu 149beedf20 core: assign ACCESS_KEY and SECRET_KEY values only in case of actual run
When using dry-run option with external script, function create_rgw_admin_ops_user
is not returning expected values which leads to TypeError. This fix is to append
values to out_map dictionary only in case of actual run.

Signed-off-by: vavuthu <vavuthu@redhat.com>
2022-03-10 14:16:13 +05:30
vavuthu ce98b17bf7 core: fix incorrect join command
Fixing typo in join command
joing -> join

Signed-off-by: vavuthu <vavuthu@redhat.com>
2022-03-10 13:56:37 +05:30