This repository has been archived by the owner on May 3, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 41
Installation controller should recreate resources on application clusters if they don't exist #110
Labels
Milestone
Comments
juliogreff
added a commit
that referenced
this issue
Jul 9, 2019
Closes #5. You can read all of the context there too. We want InstallationTarget objects to be self-contained, independent from releases and applications. We're making them so by applying a few changes: 1. The installation controller loses its smarts in regards to finding out if the InstallationTarget is part of an incumbent or contender release. This logic now belongs entiretly to the release controller. 2. The InstallationTarget becomes a richer object, by containing the chart and values specified by the Application object at the time of the creation of the release. This commit takes a slightly different approach than the one described in #5, though. Since we currently don't support installing different things (either different charts or different values) per cluster with the same InstallationTarget, we chose not to implement it here. That's mostly in case YAGNI, and the cost of doing so in the future is roughly the same as doing it now, so we took the call to punt it to future us. We also decided to continue completely skipping InstallationTargets that do not belong to a contender release (or that have CanOverride = false, now), because that would slow down the installation controller too much before #77 is closed. We captured that requirement in #110 though.
juliogreff
added a commit
that referenced
this issue
Jul 10, 2019
Closes #5. You can read all of the context there too. We want InstallationTarget objects to be self-contained, independent from releases and applications. We're making them so by applying a few changes: 1. The installation controller loses its smarts in regards to finding out if the InstallationTarget is part of an incumbent or contender release. This logic now belongs entiretly to the release controller. 2. The InstallationTarget becomes a richer object, by containing the chart and values specified by the Application object at the time of the creation of the release. This commit takes a slightly different approach than the one described in #5, though. Since we currently don't support installing different things (either different charts or different values) per cluster with the same InstallationTarget, we chose not to implement it here. That's mostly in case YAGNI, and the cost of doing so in the future is roughly the same as doing it now, so we took the call to punt it to future us. We also decided to continue completely skipping InstallationTargets that do not belong to a contender release (or that have CanOverride = false, now), because that would slow down the installation controller too much before #77 is closed. We captured that requirement in #110 though.
juliogreff
added a commit
that referenced
this issue
Jul 11, 2019
Closes #5. You can read all of the context there too. We want InstallationTarget objects to be self-contained, independent from releases and applications. We're making them so by applying a few changes: 1. The installation controller loses its smarts in regards to finding out if the InstallationTarget is part of an incumbent or contender release. This logic now belongs entiretly to the release controller. 2. The InstallationTarget becomes a richer object, by containing the chart and values specified by the Application object at the time of the creation of the release. This commit takes a slightly different approach than the one described in #5, though. Since we currently don't support installing different things (either different charts or different values) per cluster with the same InstallationTarget, we chose not to implement it here. That's mostly in case YAGNI, and the cost of doing so in the future is roughly the same as doing it now, so we took the call to punt it to future us. We also decided to continue completely skipping InstallationTargets that do not belong to a contender release (or that have CanOverride = false, now), because that would slow down the installation controller too much before #77 is closed. We captured that requirement in #110 though.
juliogreff
added a commit
that referenced
this issue
Jul 23, 2019
Closes #5. You can read all of the context there too. We want InstallationTarget objects to be self-contained, independent from releases and applications. We're making them so by applying a few changes: 1. The installation controller loses its smarts in regards to finding out if the InstallationTarget is part of an incumbent or contender release. This logic now belongs entiretly to the release controller. 2. The InstallationTarget becomes a richer object, by containing the chart and values specified by the Application object at the time of the creation of the release. This commit takes a slightly different approach than the one described in #5, though. Since we currently don't support installing different things (either different charts or different values) per cluster with the same InstallationTarget, we chose not to implement it here. That's mostly in case YAGNI, and the cost of doing so in the future is roughly the same as doing it now, so we took the call to punt it to future us. We also decided to continue completely skipping InstallationTargets that do not belong to a contender release (or that have CanOverride = false, now), because that would slow down the installation controller too much before #77 is closed. We captured that requirement in #110 though.
parhamdoustdar
pushed a commit
that referenced
this issue
Aug 28, 2019
Closes #5. You can read all of the context there too. We want InstallationTarget objects to be self-contained, independent from releases and applications. We're making them so by applying a few changes: 1. The installation controller loses its smarts in regards to finding out if the InstallationTarget is part of an incumbent or contender release. This logic now belongs entiretly to the release controller. 2. The InstallationTarget becomes a richer object, by containing the chart and values specified by the Application object at the time of the creation of the release. This commit takes a slightly different approach than the one described in #5, though. Since we currently don't support installing different things (either different charts or different values) per cluster with the same InstallationTarget, we chose not to implement it here. That's mostly in case YAGNI, and the cost of doing so in the future is roughly the same as doing it now, so we took the call to punt it to future us. We also decided to continue completely skipping InstallationTargets that do not belong to a contender release (or that have CanOverride = false, now), because that would slow down the installation controller too much before #77 is closed. We captured that requirement in #110 though.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Right now, we only recreate resources for the last release in the release history. We should do this for all releases.
Here are the steps to reproduce a scenario we've seen in production:
incumbentAchievedCapacity
turn tofalse
, because when Shipper is looking for the deployment for it, there isn't any.The way this should work is that when a resource belonging to a release is deleted, it should be put back the way it was.
The text was updated successfully, but these errors were encountered: