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

Clarify replaces chain requirement for building channels #223

Open
joelanford opened this issue Jan 21, 2022 · 0 comments
Open

Clarify replaces chain requirement for building channels #223

joelanford opened this issue Jan 21, 2022 · 0 comments

Comments

@joelanford
Copy link
Member

joelanford commented Jan 21, 2022

Originally posted by @amisevsk in operator-framework/operator-registry#822 (comment)

The entry specifying the skipRange will be presented as a direct (one hop) update to any version from that package within that range. The versions in this range do not need to be in the catalog in order for bundle addition to be successful.

(i.e. "but could be" -- nothing is mentioned about still requiring a linear replaces chain)

It would be useful if the documentation mentioned that replaces is still required with skipRange when there is more than one version. Compare this to the example used for the "Skips" section, which includes the replaces field even though the catalog does not contain myoperator.v1.0.0:

  - name: myoperator.v1.0.3
    replaces: myoperator.v1.0.0
    skips:
      - myoperator.v1.0.1
      - myoperator.v1.0.2

Perhaps the "SkipRange" example should be

  - name: myoperator.v1.0.3
    replaces: myoperator.v1.0.0
    skipRange: ">=1.0.0 <1.0.3"

to match.

@joelanford 's response

Thanks for re-iterating the gaps in the documentation. I agree.

I think we need to add something to that doc (perhaps at the top, outside of the Replaces, Skips and SkipRange sections), that states:

  1. There must be exactly one linear acyclic replaces chain
  2. All entries in the channel must either:
    a) be reachable from the channel head via the replaces chain, OR
    b) be one-hop via a skip edge from an entry on the replaces chain.
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

1 participant