The object bucket tests will now always check if the conditions being waited
upon for creating users and buckets were completed, instead of allowing
the test to continue even when they didn't succeed.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Previously we did not supported defining crushRoot in some of the CRDs. With this fix, we plan to fix this behaviour.
Signed-off-by: mridulv <mridulv09@gmail.com>
The object bucket check is sometimes not completed yet
that causes the integration test to fail intermittently.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
It's not necessary to use random string for mon directory.
In addition, current implementation leaves garbage under /var/lib/rook.
Signed-off-by: Takashi IIGUNI <iiguni.tks@gmail.com>
We can now encrypted OSD device that were provisioned via a storage
class using the PV interface.
The encryption works at the storageClassDeviceSets level, which means we
can have encrypted and non-encrypted sets.
Using the new key `encrypted` we can turn it on.
Signed-off-by: Sébastien Han <seb@redhat.com>
In the upgrade integration test we need to mirror what we expect
users to do during the upgrade by applying the new clusterroles.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The aggregate clusterrole were designed for the scenario where
the rules are not completely owned by one component. Since Rook
owns all of the RBAC for its components, the aggregate rules can
be removed and simplify certain issues around upgrades.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The upgrade guide is now updated for upgrades from v1.3 to v1.4.
The v1.2 upgrade yamls are removed and the docs are cleaned up from
1.3 upgrade steps that are no longer necessary.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Currently, rook CI is not logging Kubernetes Events, but it sometimes gives hints
for bugs.
Therefore, this PR adds a function to collect and log Kubernetes Events.
Signed-off-by: binoue <banji-inoue@cybozu.co.jp>
updated the clusterrole of the rook operator
to delete the csidrivers object when csi-drivers
are disabled, without the required access rook operator
cannot delete the csidrivers object.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
Somehow, the client.Update was not updating the cluster object, using
client.Status().Update actually fixed it.
Signed-off-by: Sébastien Han <seb@redhat.com>
Instead of setting the Phase of the CR once the reconcile is done, let's
actually set in from the healthcheck so it is more accurate.
Closes: https://github.com/rook/rook/issues/5249
Signed-off-by: Sébastien Han <seb@redhat.com>
This also updates the cassandra version in the tests.
This is to provide safe and secure defaults to users running Cassandra.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
metadatastore and mountcache are required for cephcsi v1.0.0
as rook doesnot used ceph-csi v1.+ version
we can remove this flag. Removing these flags doesnot
affect the functionality of anything.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
If we don't the mgr tests cannot verify the osd creation and will fail
with:
```
--- FAIL: TestCephMgrSuite (169.32s)
--- FAIL: TestCephMgrSuite/TestCreateOSD (1.65s)
ceph_mgr_test.go:217:
Error Trace: ceph_mgr_test.go:217
Error: Should not be: ""
Test: TestCephMgrSuite/TestCreateOSD
Messages: No devices available to create test OSD
ceph_mgr_test.go:218:
Error Trace: ceph_mgr_test.go:218
Error: Should not be: ""
Test: TestCephMgrSuite/TestCreateOSD
Messages: No nodes available to create test OSD
```
Signed-off-by: Sébastien Han <seb@redhat.com>
There is no point of asking for a cleanup when the cluster is external,
also the cleanup pod will never exist and the CI will fail waiting for
it.
Signed-off-by: Sébastien Han <seb@redhat.com>
Now, we can not only cleanup monitor data, logs and crashes but the
disks too. As part of the cleanupPolicy CR spec, we have a new setting
called sanitizeDisk which holds more details:
* method: indicates if the entire disk should be sanitized or simply ceph's metadata.
Possible choices are 'complete' or 'quick' (default)
* dataSource: indicate where to get random bytes from to write on the disk.
Possible choices are 'zero' (default) or 'random'
Using random sources will consume entropy from the system and will take much more time then the zero source
* iteration: overwrite N times instead of the default (1). Takes an integer value
See the documentation for more details.
Signed-off-by: Sébastien Han <seb@redhat.com>
Adds checks to see whether the k8s version is greater than v1.15 in integration tests.
when true, it will run the scripts for the admission controllers.
Closes: https://github.com/rook/rook/issues/5841
Signed-off-by: Vineet Badrinath <vbadrina@redhat.com>
We currently don't use the module, so let's speed up the bootstrap
progress as well as the reconcile by not always enabling it.
It can always be enabled via the spec mgr section.
Signed-off-by: Sébastien Han <seb@redhat.com>
To provide more context for executing commands in a ceph cluster,
the full clusterInfo is now passed to the ceph execution commands.
All information about the cluster will now be available throughout
all the areas of the operator. The namespace, ceph credentials,
mon endpoints, and other info is a core part of that cluster info.
Arguments passed through the controllers are also simplified for
mons, mgr, osds, and other daemons where the parameters had
become too complex.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Add the ability to provision Ceph OSDs with Drive Groups.
This adds Drive Groups to the CephCluster CRD, and it sets code
in place for propagating this config to the OSD provisioning pod.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
The version of Jenkins has changed such that setting the official build env
var is no longer comparing correctly. Now we will only assume the env
var is set by the PR to false, therefore the tests need to compare
against false instead of true.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The OSD creation has been fixed in Ceph master, therefore we can
reenable the Ceph mgr test that runs against master.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
moves the admission-controller server to use controller-runtime library for better support, maintainibility of code.
Signed-off-by: Vineet Badrinath <vbadrina@redhat.com>
This commit allows us to configure status check for each daemon:
* "mon": health check on the ceph monitors (quorum)
* "osd": health check on the ceph osds
* "status": ceph health status check
Each check is controlled by the following settings:
* disabled: whether to disable the check (default: false)
* internal: interval to run the check
* timeout: only valid for mons, is the timeout for unresponsive mon
before failling over.
Example to disable the status health check:
```yaml
healthCheck:
daemonHealth:
status:
disabled: true
```
As part of that, pod's livenessprobe can now be configured via the
following settings:
* disabled: whether to enable or not
* probe: override the current probe in place by a new one
```yaml
healthCheck:
livenessProbe:
mon:
disabled: true
```
Closes: https://github.com/rook/rook/issues/5772
Signed-off-by: Sébastien Han <seb@redhat.com>
Now, when an S3 user gets created, Rook will add the S3 endpoint to the
Secret along with the credentials.
Signed-off-by: Sébastien Han <seb@redhat.com>