-
Notifications
You must be signed in to change notification settings - Fork 38
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
Support upgrades from Pravega Operator with BK to Operator without BK #343
Comments
Note that using a conversion webhook requires K8s server version to be ideally 1.16+ or atleast 1.15+ so that CustomResourceWebhookConversion feature is enabled. |
Version upgrade for Custom Resource objects can be done in 2 ways :
|
Current Pravega CR version (with bookkeeper) is "v1alpha1". Based on api maturity levels defined here, this can be changed to "v1beta1" now (without bookkeeper) |
Supporting upgrade from Pravega operator version 0.4 to 0.5 will require the following changes:
|
Read, Write, Store multiple versions of CRs in K8s: |
Writing a conversion webhook requires using the "conversion" package in controller-runtime. How to wire up the webhook: |
I have tried to do manual migration of ownership of bk from pravega operator to bookkeeper operator as part of the 1st point of the upgrade process mentioned above and have tested the following and it's working:-
|
Looks like we would need to add a structural schema to the Pravega CRD to be able to support Conversion Webhooks. As per K8s documentation:
|
The upgrade from pravega-operator version 0.4.x to 0.5.x will be a 2 step process. The script should do the following:
Once upgrade to operator version 0.5.x is complete, if the existing PravegaCluster CR belongs to version v1alpha1, the conversion webhook will be triggered to convert this CR into version v1beta1.
|
Description
Till pravega-operator version 0.4.4, Bookkeeper was part of Pravega CRD. But starting operator version 0.5.0, bookkeeper would be a pre-requisite for Pravega and not part of the Pravega CRD. Starting operator version 0.5.0, BK would be a new custom resource managed by the Bookkeeper Operator.
This issue tracks changes required to support upgrading pravega-operator from version 0.4.4 to 0.5.0.
Importance
must-have
Suggestions for an improvement
The text was updated successfully, but these errors were encountered: