Commit Graph
7698 Commits
Author SHA1 Message Date
Travis Nielsen b4635f8b6b Merge pull request #8965 from Rakshith-R/add-affinity
ceph: add affinity to csi version check job
2021-10-13 07:42:41 -06:00
Sébastien Han 720a96e0cd Merge pull request #8166 from BlaineEXE/tidy-apply-multus
core: clean up ApplyMultus()
2021-10-13 11:58:34 +02:00
Rakshith R c1ef189b91 ceph: apply csi provisioner node-affinity to csi version check job
This commit makes sure csi provisioner node-affinity is applied
to the csi version check job as well, similar to the how
the existing csi provisioner toleration is applied to the job.

Fixes: #8323

Signed-off-by: Rakshith R <rar@redhat.com>
2021-10-13 15:18:23 +05:30
Sébastien Han e33d905b59 Merge pull request #8501 from josephsawaya/ceph-nfs-remove-rados
ceph: remove RADOS options from CephNFS and use .nfs pool
2021-10-13 10:41:49 +02:00
Sébastien Han 7590bf0957 Merge pull request #8963 from travisn/daily-arm-tests
tests: Run the daily arm tests against default tag instead of local-build
2021-10-13 10:30:30 +02:00
Sébastien Han 860e818512 Merge pull request #8947 from GowthamShanmugam/1970354
Handle empty ceph_version in ceph_mon_metadata to avoid raising misleading alert
2021-10-13 10:25:18 +02:00
Sébastien Han 58f85e0722 Merge pull request #8959 from renan-campos/issue_8958
ceph: csi controller to use constants to fetch operator configmap
2021-10-13 09:29:34 +02:00
Travis Nielsen 74dac725a4 test: run the daily arm tests against official builds
The daily arm test suite is failing due to the new local-build
image tag. Instead of waiting for the arm build to complete,
we can just pick up the latest tag from the same branch
that was already pushed to dockerhub and no need to build
again.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-10-12 15:26:18 -06:00
Travis Nielsen 7006b899c9 Merge pull request #8612 from subhamkrai/trigger-after-tag
ci: trigger push build action after tag creation
2021-10-12 11:38:04 -06:00
Blaine Gardner a1dd256d4b Merge pull request #8911 from BlaineEXE/rgw-commands-use-staging-flag
rgw: replace period update --commit with function
2021-10-12 08:22:41 -06:00
Renan Campos c4e70933f2 ceph: csi controller to use constants to fetch operator configmap
The CSI controller loop watches ConfigMaps and CephClusters. When a
CephCluster triggers the reconcile loop, the Get call for the ConfigMap
will fail since the name in the request object is that of the
CephCluster. Setting the name and namespace to the constants for the
ConfigMap name and the operator namespace resolves this.

Closes: https://github.com/rook/rook/issues/8958
Signed-off-by: Renan Campos <rcampos@redhat.com>
2021-10-12 09:30:49 -04:00
Gowtham Shanmugasundaram 4b76eb8993 ceph: handle empty ceph_version in ceph_mon_metadata
Signed-off-by: Gowtham Shanmugasundaram <gshanmug@redhat.com>
2021-10-12 15:02:49 +05:30
Sébastien Han ee0759b485 Merge pull request #8953 from BlaineEXE/offline-image-race-condition
build: fix offline image build race condition
2021-10-12 08:51:55 +02:00
subhamkrai c53304c3b4 ci: trigger push build action after tag creation
earlier push build action was not triggered due
to github action limitation.
```
An action in a workflow run can’t trigger a new workflow run.
```

so now, we'll use user personal toke to create tag so that push
build action pick the user not github action who created the tag.

Closes: https://github.com/rook/rook/issues/8580
Signed-off-by: subhamkrai <srai@redhat.com>
2021-10-12 10:22:38 +05:30
Blaine Gardner 221281cab3 build: fix offline image build race condition
When generating the offline image list, the threaded crossbuild can
try to generate the image list from muliple jobs at once, resulting in
undefined behavior (usually an empty file) for the output file. To fix
this, we can generate this file in the `build.common` step which is not
run in parallel.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-10-11 16:07:28 -06:00
Blaine Gardner 956430826c rgw: add integration test for committing period
Add to the RGW multisite integration test a verification that the RGW
period is committed on the first reconcile and not committed on the
second reconcile.

Do this in the multisite test so that we verify that this works for
both the primary and secondary multi-site cluster.

To add this test, the github-action-helper.sh script had to be modified
to
1. actually deploy the version of Rook under test
2. adjust how functions are called to not lose the `-e` in a subshell
3. fix wait_for_prepare_pod helper that had a failure in the middle
   of its operation that didn't cause failures in the past

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-10-11 15:24:59 -06:00
Blaine Gardner eadcd757b3 rgw: replace period update --commit with function
Replace calls to 'radosgw-admin period update --commit' with an
idempotent function.

Resolves #8879

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-10-11 14:45:39 -06:00
Sébastien Han 67fa72aaeb Merge pull request #8943 from leseb/fix-8942
ci: fix osd disk permission on provisioning
2021-10-11 17:19:20 +02:00
Sébastien Han abc5c635a6 ci: fix osd disk permission on provisioning
When the OSD is prepared, systemd-udev kicks in since the device has
been exclusively opened and thus reverts the permissions to root:disk.
We need a udev rule to force re-applying the correct ceph permission so
we can consume the disk.

Closes: https://github.com/rook/rook/issues/8942
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-10-11 16:50:28 +02:00
Sébastien Han 4f9c31fa8b ci: clarify the wait for csi to be ready
The wait is now more comprehensive.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-10-11 16:47:02 +02:00
Travis Nielsen c628edec85 Merge pull request #8939 from leseb/fix-8928
mon: run ceph commands to mon with timeout
2021-10-08 10:00:21 -06:00
Sébastien Han c45fee83c1 Merge pull request #8646 from parth-gr/mon-finalizer
ceph: add finalizers to rook-ceph-mon secrets and configmap
2021-10-08 15:10:31 +02:00
Sébastien Han 8da68bfb78 mon: run ceph commands to mon with timeout
If the mons are not in quorum yet the commands interacting with mon
config store will stale for a very long time.

Closes: https://github.com/rook/rook/issues/8928
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-10-08 11:57:16 +02:00
Sébastien Han 0e40d6d9a8 Merge pull request #8889 from parth-gr/logrotate-object
ceph: fixing ClientID of log-collector for RGW instance
2021-10-08 11:41:21 +02:00
Travis Nielsen 2ddf9c9498 Merge pull request #8877 from parth-gr/scc
ceph: modify rook scc in  operator-openshift cr
2021-10-07 13:51:09 -06:00
parth-gr 7c99858a77 ceph: add finalizers to rook-ceph-mon secrets and configmap
Adding finalizers to rook-ceph-mon secrets
and rook-ceph-mon-endpoints configmap
We don't want to delete this resources during disaster
because these details are needed during disaster recovery

Closes: https://github.com/rook/rook/issues/8369
Signed-off-by: parth-gr <paarora@redhat.com>
2021-10-07 19:44:17 +00:00
Travis Nielsen 084dc41045 Merge pull request #8884 from BlaineEXE/remove-unused-helm-content
helm: remove chart content not in common.yaml
2021-10-07 13:43:17 -06:00
Travis Nielsen b77e4fcc03 Merge pull request #8933 from leseb/do-not-hide-error
osd: do not hide errors
2021-10-07 13:29:05 -06:00
Sébastien Han 4471f3a92e osd: do not hide errors
The previous exit 32 check for loop device is 5 years old. Also, if the
device cannot be read it will be skipped anyway so let's report the
error and not hide it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-10-07 17:39:58 +02:00
parth-gr fc7905a7bd ceph: fixing ClientID of log-collector for RGW instance
The Client_ID generated by operator was
different from the log rotate file created
The Clinet_ID= rgwceph.client.rook.ceph.rgw.my.store.a
and log file name= ceph-client.rgw.my.store.a.log
So changed the CLient_ID to ceph-client.rgw.my.store.a for
correct working and this follow the patterns how other modules
Client_ID is generated

Closes: https://github.com/rook/rook/issues/8692
Signed-off-by: parth-gr <paarora@redhat.com>
2021-10-07 19:30:21 +05:30
parth-gr 59467e56ba ceph: modify rook scc in operator-openshift cr
Added allowHostNetwork and allowHostPorts fields
in operator-openshift cr as they are necessary
for validation

Closes: https://github.com/rook/rook/issues/8876
Signed-off-by: parth-gr <paarora@redhat.com>
2021-10-07 18:44:34 +05:30
Travis Nielsen 8e1a6ef07a Merge pull request #8845 from travisn/volume-replication-optional
csi: No longer install the VolumeReplication CRDs from Rook
2021-10-06 11:42:04 -06:00
Travis Nielsen c420f2309c csi: no longer install the volumereplication crds from rook
The volume replication CRDs are an external component, not owned by Rook.
Therefore, they should be installed as any other independent component
in case the admin will install other consumers of the volumereplication CRDs
in the future in addition to Rook and the CSI driver.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-10-06 16:27:44 +00:00
Sébastien Han c252e42a02 Merge pull request #8923 from Rakshith-R/add-rbdpool-init
ceph: initialize rbd block pool after creation
2021-10-06 17:29:57 +02:00
Rakshith R ab87e1d238 ceph: initialize rbd block pool after creation
This is done in order to prevent deadlock when parallel
PVC create requests are issued on a new uninitialized
rbd block pool due to https://tracker.ceph.com/issues/52537.

Fixes: #8696

Signed-off-by: Rakshith R <rar@redhat.com>
2021-10-06 19:54:51 +05:30
Travis Nielsen 87eee8afbc Merge pull request #8924 from leseb/rm-unused-client
core: remove unused clientset
2021-10-06 07:40:52 -06:00
Sébastien Han 0e0ccf8640 Merge pull request #8808 from BlaineEXE/add-trace-log-option
core: create TRACE_INSECURE log level
2021-10-06 11:35:32 +02:00
Sébastien Han 723f144452 core: remove unused clientset
Removing ancient clientset which was not used anywhere any more.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-10-06 11:34:06 +02:00
Blaine Gardner 507dfe11f6 helm: remove chart content not in common.yaml
Assume common.yaml is the right source of truth, and remove major
content from helm charts that does not exist in common.yaml.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-10-06 09:18:02 +00:00
Travis Nielsen 00cef458af Merge pull request #8917 from subhamkrai/close-stdout
core:  close stdoutPipe for the discovery daemon
2021-10-05 12:36:42 -06:00
subhamkrai 6387c7d063 core: close stdoutPipe for the discovery daemon
Closing stdoutPipe for the discovery daemon that
could possibly leaks memory due to unclosed resources.

Closes: https://github.com/rook/rook/issues/8914
Signed-off-by: subhamkrai <srai@redhat.com>
2021-10-05 18:10:59 +00:00
Travis Nielsen 086649c7f8 Merge pull request #8742 from subhamkrai/cant-mount-volume-nodelost
docs: add doc to recover from pod from lost node
2021-10-05 12:09:50 -06:00
subhamkrai 7587704743 docs: add doc to recover from pod from lost node
This commit adds the doc which has the manual
steps to recover from the specific scenario
like
`on the node lost, the new pod can't mount the
same volume`.

Closes: https://github.com/rook/rook/issues/1507
Signed-off-by: subhamkrai <srai@redhat.com>
2021-10-05 21:13:13 +05:30
Joseph Sawaya ee791b09fd ceph: update CephNFS to use ".nfs" pool in newer ceph versions
This commit updates the CephNFS CR to make the RADOS settings optional
for Ceph versions above 16.2.7 due to the NFS module changes in Ceph.
The changes in Ceph make it so the RADOS pool is always ".nfs" and the
RADOS namespace is always the name of the NFS cluster.

This commit also handles the changes in Ceph Pacific versions before 16.2.7
where the default pool name is "nfs-ganesha" instead of ".nfs".

Closes: https://github.com/rook/rook/issues/8450
Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
2021-10-04 17:39:47 +00:00
Travis Nielsen 078f648644 Merge pull request #8909 from aruniiird/revert-one-alert-interval-change
ceph: reverting the time delay of 'CephMonHighNumberOfLeaderChanges'
2021-10-04 08:58:54 -06:00
Arun Kumar Mohan 4d845425e6 ceph: reverting the time delay of 'CephMonHighNumberOfLeaderChanges'
As 'CephMonHighNumberOfLeaderChanges' means there is a
multiple monitor election and indicate some communication
issue between the monitors. Increasing interval timing for
this alert is not considered as safe. So reverting this
change back to 5m

Signed-off-by: Arun Kumar Mohan <amohan@redhat.com>
2021-10-04 10:37:34 +05:30
Blaine Gardner 7586cea049 core: create TRACE_INSECURE log level
Create a new log level for Rook that is hidden from users. This is the
most verbose log level, and it is the level developers would like to use
to get debug logs that are important for debugging but that could leak
senstivie information like credentials in production use.

If a user sets their debug level to "TRACE", they will merely get
"DEBUG" level logs. Only if they set "TRACE_INSECURE" will they get
trace logs, and those are likely to include insecure information. Rook
tries very hard not to leak sensitive information in logs even with
verbose "DEBUG" logs.

Resolves #8778

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-10-01 12:09:19 -06:00
Blaine Gardner 08cb6785a4 Merge pull request #8804 from jmolmo/fix_timeout
ceph: retry <ceph orch> commands when they fail
2021-10-01 10:55:32 -06:00
Sébastien Han 5f0cfb6829 Merge pull request #8896 from aruniiird/alert-interval-changes
ceph: increasing the auto-resolvable alerts' delay to 15m
2021-10-01 14:57:49 +02:00
Arun Kumar Mohan a7f16c912a ceph: increasing the auto-resolvable alerts' delay to 15m
The following alerts,

CephMonHighNumberOfLeaderChanges
CephOSDDiskNotResponding
CephClusterWarningState

, which are resolved automatically, in most cases,
are causing unnecessary admin events. So we are increasing the
alert delay time to '15m'.

Signed-off-by: Arun Kumar Mohan <amohan@redhat.com>
2021-10-01 11:44:43 +00:00