-
Notifications
You must be signed in to change notification settings - Fork 545
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't recreate operator if the installplan exist in 4.4 #1570
Comments
Is there any update on this issue? I can reproduce this issue from both the OCP console and CLI. There are the steps to reproduce this issue from the OCP console:
From my understanding, this issue is caused by the PR 5938bf6 @ecordell Doesn't OLM recommend to deploy multiple operators into a namespace? Or is there any suggestions to avoid this issue? |
I've seen this as well when deleting an operator and trying to re-create it (using CSVs). The new CSV will get associated with the previous installPlan if it still exists, and then the operator will be stuck in pending because it does not create a new installPlan but instead is linked with one that was deemed successful already (even though its resources have since been cleaned up by the CSV delete). |
The current design is However if an existing |
Updates:
This issue should be fixed on master and select release branches. |
I'm going to close this out. Please re-open if you are still experiencing the issue on master. |
@njhale I can still reproduce this issue on OCP 4.5.6. Is your fix merged into this release branch yet? |
@njhale Thanks, I verified the fix in the with 4.6.0-0.nightly-2020-09-01-042030 |
Has this been backported to 4.4.x? I'm seeing it on 4.4.20 |
Yes. Backport to 4.4 is delivered in 4.4.21 Reference: |
Bug Report
Removing and adding an operator can get blocked by the previous installplan in OCP4.4
What did you do?
A clear and concise description of the steps you took (or insert a code snippet).
Deploy several operators into the namesapce.
Deploy an
ibm-licensing-operator
into the same namespace.a new installplan is created in the namespace.
We can see it has one CSV and take all the subscriptions as its owner.
ibm-licensing-operator
.We can see the ibm-licensing-operator is removed, and the
ibm-licensing-operator
subscription is removed as well from the created installplans, but the installplan is still there.ibm-licensing-operator
into the operandrequest again.The licensing operator will be blocked at upgradePending.
What did you expect to see?
A clear and concise description of what you expected to happen (or insert a code snippet).
The operator can be added back into the cluster as it happens in OCP4.3
What did you see instead? Under which circumstances?
A clear and concise description of what you expected to happen (or insert a code snippet).
The licensing operator will be blocked at upgradePending forever
No much error message returned from the catalog controller.
I only found the following error message when deleting the operator.
Environment
OCP 4.4.5
Possible Solution
Delete the remaining installplan and redeploy the operator.
Additional context
Add any other context about the problem here.
I didn't meet this error in the OCP4.3
I guess that is because the logic to check the existing install plan is updated in OLM 4.4.
In 4.3
https://github.com/operator-framework/operator-lifecycle-manager/blob/release-4.3/pkg/controller/operators/catalog/operator.go#L960-L1008
OLM 4.4 It will use the generation to check the existing operator
https://github.com/operator-framework/operator-lifecycle-manager/blob/release-4.4/pkg/controller/operators/catalog/operator.go#L1020-L1040
@gyliu513 @chenzhiwei @DanielXLee @taylormgeorge91
The text was updated successfully, but these errors were encountered: