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

Add support for honoring upgrade edges defined in the catalog #231

Closed
2 tasks
awgreene opened this issue May 24, 2023 · 2 comments
Closed
2 tasks

Add support for honoring upgrade edges defined in the catalog #231

awgreene opened this issue May 24, 2023 · 2 comments
Assignees
Milestone

Comments

@awgreene
Copy link
Member

awgreene commented May 24, 2023

Background
OLM V0 had a concept of an upgrade graph, which defined linear upgrade graphs that users had to proceed through, learn more here: https://olm.operatorframework.io/docs/concepts/olm-architecture/operator-catalog/creating-an-update-graph/

Story

  • As an OLM V1 user, I would like to respect upgrade edges defined by operator authors.

Demo Script:

  1. Install OLM v1.
  2. Create an Operator CR that uses the spec.Version field to install operator Foo at version n.
  3. Wait for the operator Foo to install
  4. Attempt to change the spec.Version to version m, which is not a supported upgrade edge
  5. Check that the upgrade fails because it isn't a valid upgrade edge
  6. Update the spec.Version field to n+1, which is a supported upgrade edge.
  7. Check that the upgrade proceeds as expected.

Out of Scope

  • If operator foo is installed at version n, we will not proceed if the user updates the spec.Version field to a value that could be reached after a series of upgrades. IE: Fail if operator foo is installed at version n and then the user updates the spec.Version field to n+2.
  • There is no expectation of reporting available upgrade edges in the operator CR Status.

Things to consider:

  • How can we map installed content to catalog content
  • How can we respect bundle replaces fields
  • How can we respect bundle skips fields
  • How can Variable source that considers installed content

Proposed issues:

Follow Ups:

  • Update the demo script to reference an actual operator and version.
  • Create an issue to consider skipRange
@awgreene awgreene assigned m1kola and jmprusi and unassigned m1kola May 24, 2023
@awgreene
Copy link
Member Author

Considering that @m1kola is currently assigned to #206, I've reassigned this ticket to @jmprusi

@jmprusi
Copy link
Member

jmprusi commented Jun 20, 2023

I can't edit the body of the issue, please add as tasks:

#268
#267

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

4 participants