-
Notifications
You must be signed in to change notification settings - Fork 228
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
Ability to define schedule for bundles #450
base: main
Are you sure you want to change the base?
Conversation
@ibrokethecloud is there a concept of a maintenance window? If a user wants to specify that clusters can be updated between midnight and 5 AM for example? Could a combination of wild cards and a Window be used? Also, will the fleet yaml bundles allow for target overrides? |
Hi @cloudnautique there are two main items here.. The cron schedule, at which time the downstream cluster will try and process the bundle. Since the bundle deployment is processed by downstream cluster, there are cases where the cluster may be unable to reach the Rancher master for the bundle deployments. In that case the The user can specify the If there are no cluster specific |
Is there any possibility of this PR being reviewed? This functionality was originally scheduled to go into Rancher 2.6 (so, Fleet 0.3.6), but, that milestone was removed from the associated issue, and this PR hasn't had any movement in a few months. |
@@ -31,6 +31,8 @@ var ( | |||
} | |||
) | |||
|
|||
const DefaultWindow = "1h" |
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.
We should put this in the Helm chart.
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.
@nickgerace do you want to expose this default Window as an option for the agent controller? similar to checkin interval?
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.
Yes!
@StrongMonkey we should get this into next release. |
@ibrokethecloud it appears that we have conflicted based on merging your other PRs recently. |
@nickgerace i have rebased changes from master. May need a hand to kick off the failed CI step again. |
Any news on a timeline to merge this PR? |
return status, err | ||
} | ||
|
||
if err != nil { |
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.
Hi,
There is a duplicated error check here
The PR introduces
schedule
andscheduleWindow
fields in thecluster.fleet
andbundle
crd's.This allows users to define a cron based schedule and a schedule window at the bundle or cluster level.
If a schedule exists at the cluster level, then the schedule is applied to all bundles in scope for the said cluster. The cluster level schedule takes precedence of bundle level schedule if there is one.
The user can add a schedule and window to the cluster as follows:
Similarly a schedule and window can also be defined at the bundle level too.
Once the bundle has been processed by the fleet controller, the downstream cluster's fleet agent will honor the scheduling of the said bundle deployment and deploy the same.
The scheduleWindow allows us to handle use cases where the fleet agent may be disconnected for any reason.
This allows for the downstream cluster to still process the bundle as long as the reconnect time falls within the schedule + scheduleWindow.
If the cluster fails to reconnect, the bundle will get rescheduled.
Related to: #383