Skip to content
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

Improve Operator API Status #183

Closed
4 tasks done
pgodowski opened this issue Apr 25, 2023 · 3 comments
Closed
4 tasks done

Improve Operator API Status #183

pgodowski opened this issue Apr 25, 2023 · 3 comments

Comments

@pgodowski
Copy link

pgodowski commented Apr 25, 2023

Based on #162 there is introduced .spec.version in Operator API - but I think we also need to indicate what's the resolved version actually running.

So - I think we need to have some status fields indicating the actually resolved version and the actually running version of the operator.


We'll be using this ticket to track the associated work as we address it in 0.2.0

Demo Script

  1. To be continued

Related Issues:

@tlwu2013
Copy link
Contributor

tlwu2013 commented Apr 25, 2023

One additional/similar use case @anik120 brought up during the demo:
when resolve failed but the currently installed version is still running well from the previously resolved version.

In the demo, users would need to check BundleDeployment to tell this, it'll be better if this can be better surfaced to the Operator API.

@tlwu2013
Copy link
Contributor

@joelanford

I think I heard:

  1. Status.installedVersion
  2. Status.resolvedVersion
  3. Split Ready Condition into installation status and resolution status

@joelanford
Copy link
Member

I'd suggest splitting these into separate issues. Each of these sounds simple, but there's actually quite a bit of nuance.

For example, installed version is tricky:

  • What do we set installedVersion to if we are unable to progress far enough during reconciliation to see what exists in the BD? (This points to the fact that we probably need an observedGeneration associated with this particular value, somehow)
  • Even if we can see the BD, there's no guarantee that the information we see there will be something we can derive the version from.
    • A plain manifest bundle has no version metadata.
    • If we resolved that plain manifest bundle from a catalog that contained the version metadata, there's no guarantee that the catalog still contains the bundle such that we could do a reverse lookup.
  • The BD doesn't even have to map back to a lookup-able source. It could have somehow gotten a spec.template.spec.source containing config maps or manifests from an upload.

@awgreene awgreene changed the title Indicate the operator version status information into Operator API Improve Operator API Status May 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants