-
Notifications
You must be signed in to change notification settings - Fork 545
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
feat(resolver): take all subscriptions into account when resolving #638
Conversation
36876d8
to
ef2a134
Compare
@evan I don't think this is actually blocked on @alecmerdler removing inmem logic from packageserver. As I recall, packageserver has its own trimmed-down implementation of |
f75aa5c
to
55909e0
Compare
@@ -440,7 +440,10 @@ func (a *Operator) syncClusterServiceVersion(obj interface{}) (syncError error) | |||
outCSV, syncError := a.transitionCSVState(*clusterServiceVersion) | |||
|
|||
// no changes in status, don't update | |||
if outCSV.Status.Phase == clusterServiceVersion.Status.Phase && outCSV.Status.Reason == clusterServiceVersion.Status.Reason && outCSV.Status.Message == clusterServiceVersion.Status.Message { | |||
if outCSV.Status.LastUpdateTime == clusterServiceVersion.Status.LastUpdateTime && |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
d2f9714
to
77df5d6
Compare
/test unit |
8224b04
to
862dd89
Compare
this is a major change to the resolution algorithm but is backwards compatible in the API - the entire namespace of subscriptions is considered as a unit - a new generation of subscriptions / csvs is calculated - if the new generation of subscriptions will apply succesfully, an installplan is generated - if the installplan is approved, the update goes ahead this means that installplans can't be manually written (they need resolved steps to be useful)
aad7b88
to
1dca7d8
Compare
/retest |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dinhxuanvu, ecordell The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/skip gitlab-ci/pipeline |
feat(resolver): take all subscriptions into account when resolving
This is a major change to the resolution algorithm but is backwards compatible in the API:
This means that installplans can't be manually written (they need resolved steps to be useful). These changes should inform future versions of the API, but for now we're strictly backwards-compatible.
Things left to do:
InferGVK
parts)