There are the following problems in the cluster health check.
- If the cluster is healthy: Unnecessary long time before exiting from
the health check loop. The test succeeds thanks to the succeeding
assertion by luck.
- If the cluster is unhealthy: Exit from the health check loop immediately.
The test fails in the succeeding assertion by luck too.
It's a regression that is introduced in the following commit.
https://github.com/rook/rook/commit/c0c0dc4ed977a6b373b1884c5b76c9588f0be077
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
The crash collector was missing the security context to properly run on
OCP, thus crashing when trying to post a crash dump.
Signed-off-by: Sébastien Han <seb@redhat.com>
This commit rename nfs object kind with actually implemented name `NFSServer`
instead of `NetworkFileSystem`. This commit also fix some bad url.
Signed-off-by: Ahmad Nurus S <prksu.sh@gmail.com>
Currently, Helm v2.5.1 is used, but this version is released in 2017
and a little outdated.
To use the latest version of helm v2.x.x would be beneficial
as we can use more useful Helm commands like `helm template`.
This commit updates Helm version and stop using `helm lint`
with `--strict` option because Helm v2.16.7 does not allow
to use undefined values in values.yaml and
the Helm upstream is now stopping using the `--strict` option.
Signed-off-by: binoue <banji-inoue@cybozu.co.jp>
x ClusterSpec
x RackSpec
The lack of the json tag required manifests to use 'Annotations' rather than 'annotations' to propogate annotations to the stateful set pods. This change will allow the software to function as documented.
Closes: https://github.com/rook/rook/issues/5097
Signed-off-by: Ryan Thompson <ryan@zengyant.com>
That rule posts a comment as soon as a pull request is in conflict, notifying the pull request author that they need to intervene!
Signed-off-by: Sébastien Han <seb@redhat.com>
As of Nautilus Ceph auto-tunes its osd_memory_target on the fly so we don't need to force it.
ROok does not support Mimic anymore so this can be removed.
Signed-off-by: Sébastien Han <seb@redhat.com>
In 1.3 we added support for the metadata pvcs, thus requiring the name
to be set on the templates to differentiate between data and metadata.
For backward compatibility we need to assume the template is for data
if it is not set.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
In Octopus 15.2.2 there is an rbd change that causes the rbd ls command
to hang if there are not sufficient OSDs to meet the replica requirement.
The smoke suite just started hanging today since the 15.2.2 image was
released with this change. Therefore, the test that resizes the pool
to replica 3 must resize back to 1 before cleaning up.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
During cluster delection, the finalizer will not be removed until
all the PVCs are removed. Since this could wait for a long time,
as long as the deletion event is re-queued, we need to cancel
the goroutine that is watching for cluster deletion so it can
avoid running multiple goroutines as the event runs again
and again.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
When a cluster is requested for deletion there is no longer
a reason to monitor the cluster health such as whether mons
are in quorum, osds are up and in, or monitor the ceph status.
The cluster will wait potentially for a long time if the
PVCs are not deleted by the admin, therefore we stop monitoring
the cluster even before the finalizer is removed.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
If the admin key is available, set the external creds struct
to use that admin username and key instead of requiring the
callers to check every time if they should use the admin
key or the external key.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The Ceph version information is not needed to be passed
to the osd health checker since mimic support was dropped.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The ceph username is all that needs to be passed to the goroutines
that are monitoring the health of Ceph. This simplifies the
initialization of the goroutines.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The monitoring goroutines that check for mon and osd health,
the ceph cluster status, and the bucket provisioner should
only be started once for each cluster. Previous to this change
and since the controller runtime conversion the goroutines were
being started again every time a reconcile was run. This means
you could potentially have many goroutines monitoring the same
thing.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
This PR is for rebasing #4683 with master. With new controller runtime changes most the changes with #4683 got redundant.
Only valid change is waiting for all the object buckets to be cleaned up before removing the finalizer.
Co-authored-by: Elise Gafford <egafford@redhat.com>
Signed-off-by: Santosh Pillai <sapillai@redhat.com>
The operator continues to run even though the controller-runtime
failed to start. Since the controller-runtime is essential, the operator
is non-functional after that. It makes troubleshooting more difficult.
Closes: https://github.com/rook/rook/issues/5434
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
makefile items such as "check test", "mod.update", "mod.check" were
missing from help menu.
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
pg_num_min needs to be set on all new and existing rgw
metadata pools so the autoscaler won't immediately
increase the pg count. The pg_num_min was only being set
on existing pools and not on new pools.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
During cluster deletion, we currently only retry for a couple minutes
to wait for the pvcs to be deleted. After the timeout, we proceed
with the cluster deletion. To properly protect the pvcs for proper
cleanup, the finalizer should not be removed until the pvcs
are all confirmed to be deleted. In order to not block other cluster
events, we re-queue the deletion event to run again every 10s
until the pvcs are deleted or the finalizer is manually removed.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The controller setting for requeuing an event moved to the
opcontroller package and was no longer needed in the main
controller package.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
updated deployment strategy of provisioner
deployment to Recreate to avoid issue during
update, Recreate strategy will Kill all existing
pods before creating new ones.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
sometimes the kube schedular will schedule the
provisioner pod on the same node. it doesnot make
sense to have both provisioner pod running on the same
node, we need to set the pod anti affinity to make
sure that no provisioner pods runnings on the same
node.
Fixes: #5271
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
The PVCs for OSD on PVC test is prepared before running the integration test.
In addition, users are forced to run this script for this by themselves.
To avoid this problem, running this script inside the integration test.
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
On Octopus cluster, we don't use the host PID anymore to run OSD so
adding a reminder to remove it later.
Signed-off-by: Sébastien Han <seb@redhat.com>
Because the secret is mounted and owned by root and the rgw is running
under the 'ceph' user then it cannot access it. So moving from 0400 to
0444 fixes the issue.
Closes: https://github.com/rook/rook/issues/5265
Signed-off-by: Sébastien Han <seb@redhat.com>