Description of problem (please be detailed as possible and provide log snippests): ---------------------------------------------------------------------- OCS 4.5 + OCP 4.5+ External Mode deployment : Using below command to gather RHCS information in json format: >> python ceph-external-cluster-details-exporter.py --rgw-endpoint <rgw-endpoint IP:port> --rbd-data-pool-name <rbd block pool name> Some RHCS customers might not have RGW. Hence, requesting the param "--rgw-endpoint" to be optional. Impact on OCS deployment: AFAIU, this should ensure the following(there might be other impacts, but some of the following are:) 1. The json would not have RGW endpoint, hence ocs-operator should not create the RGW storageclass 2. The cephObjectstoreUser CRD should not be deployed. Then noobaa backingstore would fall-back to using local-PV Version of all relevant components (if applicable): ---------------------------------------------------------------------- OCP = 4.5.0-0.nightly-2020-07-06-211538 OCS = ocs-operator.v4.5.0-487.ci Does this issue impact your ability to continue to work with the product (please explain in detail what is the user impact)? ---------------------------------------------------------------------- Yes. In current implementation, For clusters not having an RGW configured, we pass a dummy IP. The Storagecluster gets created with an incorrect RGW endpoint, and the CSV stays in Installing state forever (doesnt reach Succeeded state) Is there any workaround available to the best of your knowledge? ---------------------------------------------------------------------- Not sure Rate from 1 - 5 the complexity of the scenario you performed that caused this bug (1 - very simple, 5 - very complex)? ---------------------------------------------------------------------- 4 Can this issue reproducible? ---------------------------------------------------------------------- Yes Can this issue reproduce from the UI? ---------------------------------------------------------------------- Yes If this is a regression, please provide more details to justify this: ---------------------------------------------------------------------- No.. External Mode is a new feature of OCS in OCS 4.5 Steps to Reproduce: ---------------------------------------------------------------------- 1. Create an RHCS cluster (probably without an RGW endpoint configured) 2. Run the script but without passing --rgw-endpoint i.e. >> python ceph-external-cluster-details-exporter.py --rbd-data-pool-name <rbd block pool name> Current Output -------------------- # python3 ceph-external.py --rbd-data-pool-name ocs-cephblockpool-dc8 usage: ceph-external.py [-h] [--verbose] [--ceph-conf CEPH_CONF] [--run-as-user RUN_AS_USER] [--format {json,bash}] [--cluster-name CLUSTER_NAME] [--output OUTPUT] [--cephfs-filesystem-name CEPHFS_FILESYSTEM_NAME] [--cephfs-data-pool-name CEPHFS_DATA_POOL_NAME] --rbd-data-pool-name RBD_DATA_POOL_NAME [--namespace NAMESPACE] [--rgw-pool-prefix RGW_POOL_PREFIX] --rgw-endpoint RGW_ENDPOINT >> Ceph-external.py: error: the following arguments are required: --rgw-endpoint Actual results: ---------------------------------------------------------------------- If we run the script without --rgw-endpoint, following error is thrown: "Ceph-external.py: error: the following arguments are required: --rgw-endpoint" Expected results: ---------------------------------------------------------------------- Customers might have an RHCS cluster without RGW. Hence, --rgw-endpoint should be optional parameter. Additional info: ---------------------------------------------------------------------- We have one more BZ for having correct check for --rgw-endpoint(in case one uses the param but with a wrong input) - https://bugzilla.redhat.com/show_bug.cgi?id=1850704
Proposing as a blocker as it would be a good user experience to not have this field mandatory.
@arun wi
Neha, I don't think there is such use case as rgw not being deployed, unless we run on the Cloud but independent mode won't be supported then (until we support ocs to ocs). Eran, please confirm. Thanks
(In reply to leseb from comment #4) > Neha, I don't think there is such use case as rgw not being deployed, unless > we run on the Cloud but independent mode won't be supported then (until we > support ocs to ocs). > Eran, please confirm. Thanks @Sebastien, I tried to confirm the same in this chat thread (https://chat.google.com/room/AAAAqKX_vdQ/vmxr_zlAOg4) and it seems -------------------------------------------------------------------------------------------------------- About 80% of core Ceph customer base (non openstack) uses RGW . ------------------------------------------------------------------------------------------------------- So there can be customers without RGW.. AFAIU.. Either we have to strongly enforce presence of RGW in External cluster OR we have to let OCS install succeed even in the absence of RGW Will Wait for Eran's confirmation too.
If it's simple, let's make it optional, as we have fallback in place with NooBaa.
Thanks Eran, now that I think about it I'm not sure if the UI will fail to validate the JSON if the endpoint is not present. Bipul, can you help on this? Thanks!
Will send a PR on OCS Operator to make rgw optional as the UI validation is based on the anootation provided by the OCS Operator.
We don't have any acks on this bug but the downstream PR seems to be merged. We should have merged it after getting all the acks. @Seb, please provide the dev ack. Also, is some work still required in this or can it be moved to ON_QA once we have all the acks?
Acked. This can be moved to ON_QA.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Red Hat OpenShift Container Storage 4.5.0 bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:3754