The previous client loader routine assumed KUBECONFIG would be set in
CLI environments. Instead, now take this approach:
1. If KUBECONFIG is set, that is the de-facto override that informs the
tool it is being run in a CLI environment.
2. Otherwise, try creating a client from the default kube config file.
3. If that fails, assume the tool is running in a Kubernetes Pod.
This will continue supporting dev/test environments so that building the
rook container is not necessary for development. It also allows support
for highly opinionated environments (like deployed by OpenShift CSVs)
where it's not possible to install the Rook operator without also
deploying a CephCluster.
Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
0a151e913 results in a bug which causes null pointer dereference when
Kerberos is not setup. This causes a failure in Unit test
TestReconcileCephNFS_addSecurityConfigsToPod
Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
when node fencing is triggered and a negative case where
one deployment pod consuming pv not provisioned by csi
and another deployment pod with rbd rwo are on the same
node and node fencing is triggered.
In this case rook operator panics since it is trigger to get
field `pv.Spec.CSI.Driver` which will be nil.
Also, skip static pv as there is no `imageName` in the spec
rbd status command will fail.
Signed-off-by: subhamkrai <srai@redhat.com>
the upgrade suite for version 1.27.x is failing
due
```
debug 2023-07-24T19:11:20.264+0000 7f3395a82c80 -1 error: monitor data filesystem reached concerning levels of available storage space (available: 5% 4.4 GiB)
you may adjust 'mon data avail crit' to a lower value to make this go away (default: 5%)
```
so adding mon setting to start on `compact` also adding
other setting present in cluster-test.yaml.
Signed-off-by: subhamkrai <srai@redhat.com>
with detached mode, we don't need to wait for the
tests to complete. Now, we can get inside tmate before
the tests start and we can monitor the tests.
By default, this mode will wait at the end of the job for
a user to connect and then to terminate the tmate session.
If no user has connected within 10 minutes after the post-job step started,
it will terminate the tmate session and quit gracefully.
Signed-off-by: subhamkrai <srai@redhat.com>
Update the ceph cosi driver image to v0.1.1, so that it can
work on both amd and arm platforms.
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
Gateways that do not run the sync threads should not be accessible from one of
the Zone endpoint. If this is the case, the synchronization might stop working.
When the CephObjectStore has the option
`spec.gateway.disableMultisiteSyncTraffic` set to `true`, we must ensure that
the objectstore endpoint is not present in the Zone endpoint.
Signed-off-by: Lucas Henry <polyedre@disroot.org>
The controller was attempting to delete the cosi driver
again and again, always failing the reconcile when the
driver did not exist. Since the desired state is for the
driver not to exist when disabled, return a successful
reconcile.
Signed-off-by: travisn <tnielsen@redhat.com>
Add steps for enabling the cosi driver that is disabled
by default. Also add an introduction to the COSI driver
and a section for prerequisites.
Signed-off-by: travisn <tnielsen@redhat.com>
We need to create the namespace with the import script,
As per the documentation
The import script creates the secrets and
cm which is later used by the operator for cluster creation.
Signed-off-by: parth-gr <paarora@redhat.com>
Adding CephCOSIDriver CRD and controller. The controller will bring up
the ceph cosi driver when first object store is created in the rook
operator namespace. Then admin can defined COSI CRDs like BucketClass
and BucketAccessClass for different object stores deployed via Rook.
Using the BucketClass and BucketAccessClass, user can define
BucketAccess for backend bucket in the RGW. The CephCOSIDriver CRD
defines configuration options for ceph cosi driver. In the first version
its usability is minimal. Even if it is not defined Rook will bring up
the ceph cosi driver with default values.
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
When the ceph.conf is not in a well-known location, it is typical
for a custom ceph.keyring to be required as well. Currently, the
create-external-cluster-resources.py only tries to load the keyring
from well-known paths, and fails.
This commit adds a new optional argument `--keyring` to help in this
situation. When specified, create-external-cluster-resources.py will
attempt to use this as the keyring to authenticate with Ceph.
Signed-off-by: Angelos Kolaitis <neoaggelos@gmail.com>
Following with the latest efforts to improve Rook docs, convert the
health verification doc to use imperative language and avoid use of "you".
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
Following with the latest efforts to improve Rook docs, convert the Rook
and Ceph upgrade docs to use imperative language and avoid use of "you".
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>