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

Rework of the optional manifest enhancement proposal: #111

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

fgiloux
Copy link
Contributor

@fgiloux fgiloux commented Mar 31, 2022

  • to use group/kind/namespace/name for identifying manifests instead of filenames
  • adding graduation criteria
  • adding test strategy
  • clarifying the case of StatusReasonAlreadyExists

Signed-off-by: Frederic Giloux fgiloux@redhat.com

Comment on lines 64 to 65
- 'monitoring.coreos.com/PrometheusRule/mynamespace/myrule'
- 'authorization.openshift.io/ClusterRoleBinding//mycrbinding'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd prefer to see explicit group, version, kind, name, and namespace fields for each list item so that:

  • authors don't have to remember the correct order to provide them
  • there's no ambiguity when dealing with cluster-scoped APIs

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have updated the PR for the enhancement proposal and also the PR for the implementation in this sense

[maturity levels][maturity-levels].

##### Dev Preview -> Tech Preview
The optional manifest feature is currently scheduled to be available in the next release. It will first be provided as a tech-preview and begins to gather users' feedbacks.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tech preview features must follow a certain process (as defined here). Can you expand on this section a little bit to clarify the mechanisms we'll use for the feature gate?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am getting confused as you are pointing to downstream documentation. The main aspect there is the opt-in through a feature gate.
I did a quick search on the enhancement proposals and "generic constraint" is the only one I found for OLM that has this part covered. Looking at the code I see pkg/feature/feature.go but I have not found any use of it.
It is surely something I could look at but I am questioning the incentive for creating a precedent for a feature that does not introduce new CRDs and does not have any effect when not explicitly used. I understand that users can start depend on this feature without being aware of its maturity level and that is precisely the reason why I was proposing first to introduce it as a tech. preview. The API for this feature is "explicit bundle properties", which does not offer a standard way of versioning (following the CRD way I would have put it under "alpha" otherwise).
If that's the way to go I can just remove this part.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep. Sorry disregard downstream references.

Side note: I think we should remove this dev/tech preview nomenclature from our upstream EP template, and make this section geared more toward introducing features behind generic upstream feature gates.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@joelanford Thanks for the clarification. I have modified the verbiage and removed references to graduation, tech. preview and GA only keeping the fact that it won't be introduced behind a feature gate and that we will gather feedback on it.
Is it good to merge?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To clarify, I think we should consider adding this feature behind a feature gate. That way we can get some feedback on it before we fully commit to it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pushed a new version with the feature gate. I was not expecting that a feature with such a low radius would be subject to it when as far as I have seen feature gates have not been used much with OLM.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, IMO OLM's propensity for straight to GA has made things harder to maintain because we've delivered features under pressure in the past and have not had the time to collect feedback, which results in features we sometimes immediately regret. In the future, I think straight to GA should be the exception rather than the rule.

There are definitely some added maintenance burdens with feature gates, so its worth debating more. But my gut is that if we're able to do it:

  • Our upstream selves will be able to deliver new features without having to worry too much about their impact downstream.
  • Anyone maintaining OLM in downstreams can pick and choose features to enable and be less conservative when reviewing/proposing upstream features, knowing they can disable anything that they're unprepared to support.
  • We'll build a better community because downstream vendor-specific RFEs will be implemented (at worst) behind upstream feature flags.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@joelanford there are things we would need to discuss regarding feature gates, olm and personas but this is not the subject of this PR. As I have added the feature gate verbiage any other things you would like to see or is it now good to get merged from your point of view?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep. Looks good to me. Thanks!

@fgiloux fgiloux force-pushed the master branch 3 times, most recently from adcc813 to 26b11fb Compare April 7, 2022 04:39
- to use group, kind, namespace, name for identifying manifests instead of filenames
- adding graduation criteria
- adding test strategy
- clarifying the case of StatusReasonAlreadyExists

Signed-off-by: Frederic Giloux <fgiloux@redhat.com>
@fgiloux
Copy link
Contributor Author

fgiloux commented May 27, 2022

@joelanford @kevinrizza @perdasilva anything preventing this PR of getting merged?

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

Successfully merging this pull request may close these issues.

2 participants