WIP: FBC data model migrations #1679
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Signed-off-by: Joe Lanford [email protected]<!--
Before making a PR, please read our contributing guidelines https://github.com/operator-framework/operator-lifecycle-manager/blob/master/CONTRIBUTING.md
Note: Make sure your branch is rebased to the latest upstream master.
-->
WIP: This is an implementation with no tests. Before merge, we need to add some tests to ensure migrations work as expected and GRPC compatibility is maintained.
Description of the change:
For all of these, the
opm serve
implementation is updated to correctly plumb the new fields into the GRPC API.Motivation for the change:
olm.package
property, where both the package name and version are required. The bundle schema already has the package name, and the bundle version is a key piece of information when dealing with bundles. Promoting the bundle version to a first class field and eliminating theolm.package
property from FBCs reduces duplication of package name and improves performance and ergonomics for clients that need to know the bundle version (which is virtually all clients).Open questions:
olm.package
's.icon
field when we migrate toolm.icon
? Clients that don't know about the newolm.icon
will think there is no icon. If we don't remove the.icon
field. The benefit of separating it out is completely eliminated and we might as well not separate it because then we'd just duplicate the icon unecessarily.olm.bundle
'solm.package
property when we promote the version to a first-class field? Same sort of problem as above, In this case, we could probably keep both the property and the version field, but then we would need extra validation to ensure they match and we'd be using slightly more space per bundle.Reviewer Checklist
/docs