Bug 1798571 - lib-bucket-provisioner is labeled as a community operator - a problem for disconnected environments
Summary: lib-bucket-provisioner is labeled as a community operator - a problem for dis...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenShift Container Storage
Classification: Red Hat Storage
Component: ocs-operator
Version: 4.3
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: ---
: OCS 4.5.0
Assignee: Jacky Albo
QA Contact: Daniel Horák
URL:
Whiteboard:
: 1807301 1811653 (view as bug list)
Depends On:
Blocks: 1810693 1847943
TreeView+ depends on / blocked
 
Reported: 2020-02-05 15:30 UTC by Jason Montleon
Modified: 2023-09-14 05:51 UTC (History)
17 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-09-15 10:16:04 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift ocs-operator pull 424 0 None closed ob and obc will move to owned instead of required 2020-12-09 05:54:36 UTC
Github openshift ocs-operator pull 460 0 None closed Bug 1798571: [release-4.4] Make ObjectBucket & ObjectBucketClaim CRs owned and hide their APIs 2020-12-09 05:54:36 UTC
Github openshift ocs-operator pull 594 0 None closed Bug 1798571: Release 4.5: owning ob and obc crds 2020-12-09 05:54:08 UTC
Red Hat Bugzilla 1855706 1 None None None 2024-09-18 00:57:27 UTC
Red Hat Product Errata RHBA-2020:3754 0 None None None 2020-09-15 10:16:45 UTC

Description Jason Montleon 2020-02-05 15:30:37 UTC
Description of problem (please be detailed as possible and provide log
snippests):

lib-bucket-provisioner is labeled as a 'Community' operator but also states it is 'provided by Red Hat'. Further it is required by Red Hat OpenShift Container Storage Operator which is a Red Hat operator. It does not seem appropriate for a Red Hat operator to rely on a Community operator.

Version of all relevant components (if applicable):
OCS Operator 4.2.1
lib-bucket-provisioner 1.0.0
OpenShift 4.3.0

Does this issue impact your ability to continue to work with the product
(please explain in detail what is the user impact)?
No.

Is there any workaround available to the best of your knowledge?
No.

Rate from 1 - 5 the complexity of the scenario you performed that caused this
bug (1 - very simple, 5 - very complex)?
1

Is this issue reproducible?
Yes

Can this issue reproduce from the UI?
Yes

If this is a regression, please provide more details to justify this:


Steps to Reproduce:
1. View lib-bucket-provisioner in the UI. 

Actual results:
See that it is labeled Community. Attempt to install it and receive Community Operator prompt.

Expected results:
If it is provided by Red Hat and required by a Red Hat Operator it should not be labeled as a Community operator.

Additional info:
The ObjectBucket and ObjectBucketClaim CRD's that the OCS Operator requires are owned by lib-bucket-provisioner.

Comment 2 Nimrod Becker 2020-02-18 09:53:31 UTC
The lib-bucket-provisioner is indeed a community part, we don't have any "product" or DS build for it. And it's also being provided by red hat.

It was designed with the idea that more providers can use it and be OB/OBC provisioners. I don't think we want to build a DS version of it and ship it as part of OCS.

Comment 3 Jason Montleon 2020-02-18 14:06:54 UTC
Having this as a community operator means that when someone does a catalog build with the oc tool to mirror OCS, say for example:
oc adm catalog build --insecure --appregistry-endpoint https://quay.io/cnr --appregistry-org redhat-operators --to=<registry> --auth-token="$QUAY_TOKEN"

Means that OCS won't be able to install unless they also mirror community operators which exist in a separate org.

Comment 4 Yaniv Kaul 2020-02-19 14:49:39 UTC
We really wish to support disconnected environments in 4.3, so probably it needs some attention/decision.

Comment 5 Nimrod Becker 2020-02-20 07:46:58 UTC
As per the discussion with Erin Boyd's team, since the OBC KEP is going to change the CRDs anyway and they are marked (or should be) as deprecated in the github repos. We will "swallow" the CRDs by the ocs-operator, just like we did for OCS 4.2.

Once the KEP will be accepted and the new API will be available, we'll find a better solution for bringing the new API.

Comment 6 Nimrod Becker 2020-02-26 07:18:37 UTC
*** Bug 1807301 has been marked as a duplicate of this bug. ***

Comment 7 Jose A. Rivera 2020-02-27 16:20:12 UTC
I'd just like to jump in to say that I now have a better understanding of what's going on and what needs to be resolved. To summarize my understanding:

Currently OCS 4.2 "requires" the OB and OBC CRDs which are "owned" by lib-bucket-provisioner in the upstream community-operators catalog. This is also the (current) case for our internal OCS 4.3 builds. Since lib-bucket-provisioner has been deprecated and the new solution (initial KEP here: https://github.com/kubernetes/enhancements/pull/1383) won't be available in OpenShift for several months, maybe even a year or more, we want to change things so that OCS now "owns" the OB and OBC CRDs. This would temporarily introduce a dependency conflict in the OLM, since we'd have two owners of the same CRDs, but the OLM dependency resolution algorithm does make an exception: if one of the conflicting owners is in the same catalog as the requirement, that owner will be selected. Thus, we could release OCS 4.3 as owning OBs and OBCs, release a new version of OCS 4.2.x that does the same, and THEN remove lib-bucket-provisioner from the community-operators repo.

With all that said, I'm comfortable moving forward with the proposed changes to the OCS 4.3 ocs-operator.

Comment 10 Michael Adam 2020-03-04 22:26:38 UTC
disconnected env has been moved out of 4.3.

Should we move it to 4.4?

Comment 12 umanga 2020-03-11 15:37:31 UTC
*** Bug 1811653 has been marked as a duplicate of this bug. ***

Comment 13 Michael Adam 2020-03-11 18:44:59 UTC
*** Bug 1811653 has been marked as a duplicate of this bug. ***

Comment 14 Raz Tamir 2020-03-12 07:33:58 UTC
after clarification from Jose, merging this into OCS 4.3.0 is too risky for the entire release.
Removing the exception flag and moving to a z release

Comment 17 Michael Adam 2020-03-18 18:28:18 UTC
*** Bug 1810693 has been marked as a duplicate of this bug. ***

Comment 20 Michael Adam 2020-03-25 23:39:53 UTC
wrong component. fixing...

Comment 21 Michael Adam 2020-03-25 23:40:31 UTC
re-establishing lost acks

Comment 22 Michael Adam 2020-03-26 01:11:49 UTC
backport PR is waiting for CI and merge

Comment 25 Martin Bukatovic 2020-05-04 18:22:56 UTC
Could we have a quick description of intended solution listed here? It would help Daniel with verifying this bug, and me to evaluate whether what I see is enough to have related BZ 1810693 verified as well.

Comment 26 Nimrod Becker 2020-05-04 18:25:43 UTC
we no longer require the lib-bucket-provosioner and the OB/OBC CRDs would be owned by the ocs-operaror.

Comment 27 Daniel Horák 2020-05-13 10:13:47 UTC
Installation of OCS 4.4 on disconnected OCP cluster passed without mirroring Community operators, lib-bucket-provosioner is not required anymore.

Version: ocs-operator.v4.4.0-420.ci

>> VERIFIED

Comment 28 Martin Bukatovic 2020-05-18 12:42:28 UTC
Based on recent decision https://bugzilla.redhat.com/show_bug.cgi?id=1823937#c26 removal of lib bucket provisioner was reverted to unblock upgrade problems.

Based on this, I'm moving this BZ back to NEW state, and asking dev team to update it's state.

Comment 29 Michael Adam 2020-05-18 16:03:18 UTC
Now that we removed owning the CRs from ocs-operator, this needs to wait for the next release. As discussed with Raz and Elad earlier today - moving to 4.5.

Comment 30 Michael Adam 2020-05-18 16:04:18 UTC
resetting acks for 4.5

Comment 34 Jose A. Rivera 2020-06-26 13:58:11 UTC
We believe there was a fix in OLM to allow us to reintroduce the CRD ownership change, but that work is still WIP. We propose removing this from the blocker list and pushing it out to OCS 4.6 and maybe a 4.5 z-stream.

Any objections?

Comment 36 Petr Balogh 2020-06-26 15:39:27 UTC
You mean disconnected John? 

https://issues.redhat.com/browse/KNIP-1225

I think there are some workarounds, but what I understand that in 4.5 there should be again removed dependency on LBP. So if that's true than this will fix this issue and should be still be part of 4.5.

Or do I miss something?

Comment 38 Yaniv Kaul 2020-06-26 18:54:49 UTC
Per comment 37, I think we need this one.

Comment 39 Nimrod Becker 2020-06-28 05:39:19 UTC
@Jose, what is missing ? 
We saw that the BZ was fixed and backported. We provided a DS build with the ownership change and Petr has done some testing on it, so far looks promising.

I've talked to Raz, and we think we should merge the ownership change in Tue (after 4.4.1 GA). Do you see a reason not to ?

Comment 40 Jose A. Rivera 2020-06-29 15:06:14 UTC
I see no reason to backport it. What's the incentive? Even so, I don't know if the OLM fix that is required is in OCP 4.4.

Even so, this BZ is targeting OCS 4.5, so moving this to ON_QA. A new bug should be opened for the 4.4 backport, if it is appropriate.

Comment 41 Nimrod Becker 2020-06-29 15:16:02 UTC
This BZ is on 4.5 ...
we don't want to backport to OCS 4.4, but we want to fix it on OCS 4.5

Regarding OCP, according to BZ, the backport bug was VERIFIED on OCP 4.4.z

Why ON_QE ? is it on the 4.5 branch?

Comment 42 Michael Adam 2020-06-30 12:11:47 UTC
(In reply to Jose A. Rivera from comment #34)
> We believe there was a fix in OLM to allow us to reintroduce the CRD
> ownership change, but that work is still WIP. 

If I am not mistaken, this work is complete. This is what Nimrod was referencing here:

(In reply to Nimrod Becker from comment #39)
> We saw that the BZ was fixed and backported.

I think it was backported to 4.4 and lower.
AI: Need to find the BZ / PR references...

> We provided a DS build with the ownership change and Petr has done some testing on it, so far looks promising.

To be very explicit, this is a custom, inofficial D/S build of OCS, with the ownership change re-applied to ocs-operator.

@Petr, What version of OCP have been tested?
- 4.4.z latest update? Or nightly?
- 4.5 nightly?
 
> I've talked to Raz, and we think we should merge the ownership change in Tue
> (after 4.4.1 GA). Do you see a reason not to ?

(In reply to Jose A. Rivera from comment #40)
> I see no reason to backport it.

First we need to have it back in master (ocs-operator).

> What's the incentive?

The motivation is to get rid of the workarounds needed for disconnected and eventually get rid of libbucket-provisioner a bit faster.

> Even so, I don't know if the OLM fix that is required is in OCP 4.4.

I think it is. Petr can confirm versions tested, and we need to provide the BZs.
 
> Even so, this BZ is targeting OCS 4.5, so moving this to ON_QA.

It can't be ON_QA since the patch needs to be done for master and 4.5. (moving back to assigned)

> A new bug should be opened for the 4.4 backport, if it is appropriate.

We are not intending to backport the owning patch to 4.4. Just to 4.5.

Comment 43 Michael Adam 2020-06-30 13:45:48 UTC
https://github.com/openshift/ocs-operator/pull/593

master PR to re-do the change

Comment 44 Michael Adam 2020-06-30 14:34:59 UTC
https://github.com/openshift/ocs-operator/pull/594

4.5 backport PR

Comment 45 Michael Adam 2020-06-30 17:22:41 UTC
This is merged.

Comment 46 Eran Tamir 2020-07-06 08:03:24 UTC
no info is needed from me

Comment 47 Petr Balogh 2020-07-09 22:00:58 UTC
Sorry to be late here Michael, I did just upgrade testing on nightly OCP 4.3, 4.4, 4.5 IIRC.

From history of the jobs I sent to Nimord I see those job links:

with OCP 4.4 : https://ocs4-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/qe-deploy-ocs-cluster/8907/
with OCP 4.5 : https://ocs4-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/qe-deploy-ocs-cluster/8946/
with OCP 4.3: https://ocs4-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/qe-deploy-ocs-cluster/8947/


And upgrade was tested from 4.4.0 live to this build  quay.io/rhceph-dev/ocs-olm-operator:4.4.1-obc_fix provided by Nimord/Boris that time.

Comment 50 Daniel Horák 2020-08-10 10:44:48 UTC
Installation of OCS 4.5 on disconnected OCP cluster passed without mirroring
Community operators, lib-bucket-provosioner is not required anymore.

Version: ocs-operator.v4.5.0-518.ci

>> VERIFIED

Comment 52 errata-xmlrpc 2020-09-15 10:16:04 UTC
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

Comment 53 Red Hat Bugzilla 2023-09-14 05:51:10 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days


Note You need to log in before you can comment on or make changes to this bug.