-
Notifications
You must be signed in to change notification settings - Fork 588
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
operators kong (0.9.0) #300
operators kong (0.9.0) #300
Conversation
Any idea what's causing the operator-framework/operator-registry#386 indicates a cause, but I'm not sure I'm interpreting the issue correctly. We have:
Looking at the apparent fix doesn't suggest what's broken in our bundle--in that case, there actually was a difference between one of the current channel CSV names in the package and CSV definition. In our case, we've only ever used https://github.com/operator-framework/operator-registry/blob/c426f78b97458fe5f25208e4ecee398bbc7ae065/pkg/lib/bundle/interpreter.go#L35-L46 doesn't immediately suggest any other causes that will break the check, as it is performing a basic string comparison and nothing else, though I didn't look into the source of those string arrays too closely, so I may be missing something there. |
c404ce4
to
fb00895
Compare
Signed-off-by: Travis Raines <[email protected]>
/merge possible |
Current PR can be merged automatically, but there is missing |
Alright, the original issue happens as a side effect of adding a version without replaces info. If the current CSVs of channels' replace graphs doesn't find some version via registry.getChannelNodes(), it won't have any associated channel and the "error interpreting channels, please manually input channels instead" error will occur. That could be indicated more clearly, though I don't know where in the code would be the best place to try and catch it. operator-framework/community-operators#1992 indicates that you were previously able to rename the existing channel to keep the current channel name (we still wanted it to indicate that it was alpha status), but that now causes a failure in orange / Deploy k8s latest.
|
/merge possible |
@rainest I'm noticing that 0.9.0 is not attached to the graph (via replaces, skips, or skipRange). This means that anyone installed on <= 0.8.0 will not be able to get to 0.9.0 without manually uninstalling the operator and re-installing on the alpha.1 channel. Is this something you intended to do? |
@gallettilance This was intentional. The reason was that Kubernetes 1.22 forced us to change the apigroup of the Therefore, the upgrade path for our users is to replace any Does this make sense? It seems that several other operators were affected by this upstream change (k8s 1.22 enforcing CRDs in the |
@mflendrich I'll take an action item to describe this in the OLM docs but basically we want to avoid you opting out of OLM (which is sort of what is happening when you have a detached graph) in order to achieve an API migration. You can use two versions to achieve this migration:
All existing installs will go through this "special migration only" kong version (0.9.0 above) and 0.10.0 becomes your supported 1.22+ version. I understand that the version 0.9.0 may be implying a certain version of Kong so you could use 0.9.0-1 (a pre-release) for the migration version and then 0.9.0 for the second release (instead of the above 0.9.0 and 0.10.0). Please let me know if you have questions. |
@mflendrich do you have a link to where Kubernetes 1.22 says you can't use *.k8s.io? |
@gallettilance kubernetes/enhancements#1111. There some mention of the change buried in the SDK change docs that does indicate this as well, and while I can no longer find that, IIRC guidance there was a bare-bones "you need to do this, figure out how". |
Version 0.9.0 of the Kong Operator intentionally does not indicate any
replaces
version. As we've migrated to a new CRD API group to comply with Kubernetes requirements, upgrading from prior versions requires manual work. The 0.9.0 CSV description calls this out and links to the manual upgrade steps.Updates to existing Operators
ci.yaml
file according to the update instructions?replaces
property if you chosereplaces-mode
via theupdateGraph
property inci.yaml
?package.yaml
orannotations.yaml
?Your submission should not
Operator Description must contain (in order)
Operator Metadata should contain
Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here