-
Notifications
You must be signed in to change notification settings - Fork 54
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
Honoring an optional spec.version
field in the Operator
API
#162
Comments
spec.version
field in the Operator
APIspec.version
field in the Operator
API
Behavior counterpoint:
One could posit that with no The behavior would be "latest unless already installed". |
Alternatively, if no |
Yes, I agree, and that's actually how it works today. It's any version that meets the constraints of the global resolution, with preference given to higher semver versions. It just so happens today that we have not yet implemented any other APIs that would cause the resolver to look beyond the most preferred version.
Theoretically, in this model it would also need to change if some other constraint needs the next version. What this would likely boil down to is that when we generate the resolver input, we list the currently installed version as the highest priority, and then proceed with the remaining versions sorted by semver descending.
Yes, but in this case, it would be a poor UX for the system to even accept an object that doesn't specify the version. Which is why we'd mark it as required in the OpenAPI schema of the CRD. |
@tmshort Can we take this convo to a separate issue or discussion? I don't want to distract or confuse the scope of this particular iteration. |
Demo added to slack channel: https://kubernetes.slack.com/archives/C0181L6JYQ2/p1682347015950669 |
I think we can call this one finished. In addition to the slack channel post, we demoed this at yesterday's WG meeting. Thanks to all involved! |
This issue should be closed when a demo recording is posted to the #olm-dev kubernetes slack channel that follows the below script:
Demo Script:
main
branch or its most recently tagged release using operator-controller's standard install script and manifest.Catalog
object referencingquay.io/operatorhubio/catalog:latest
Operator
object referencing packageprometheus
with version0.32.0
BundleDeployment
gets created and references the bundle imagequay.io/operatorhubio/prometheus@sha256:14f75077f01feab351f7a046ccfcff6ad357bed2393048d0f6a41f6e64c63278
Operator
object and change the version to0.37.0
BundleDeployment
is updated to reflect a new bundle image reference withquay.io/operatorhubio/prometheus@sha256:3e281e587de3d03011440685fc4fb782672beab044c1ebadc42788ce05a21c35
Operator
object and remove the version specification.BundleDeployment
is updated to reflect a new bundle image reference with the highest semver bundle defined in the package (as of 4/5/23, that version is 0.47.0):quay.io/operatorhubio/prometheus@sha256:5b04c49d8d3eff6a338b56ec90bdf491d501fe301c9cdfb740e5bff6769a21ed
Operator
object and set the version to3.0.0
.Operator
object has its status updated to reflect that the specified version is not available. Also show that theBundleDeployment
is still present and remains at version 0.47.0.Operator
objects.Related Issues:
The text was updated successfully, but these errors were encountered: