rancher / fleet

Deploy workloads from Git to large fleets of Kubernetes clusters
https://fleet.rancher.io/
Apache License 2.0
1.51k stars 228 forks source link

support schedule based rollout #383

Open ibrokethecloud opened 3 years ago

ibrokethecloud commented 3 years ago

Users should be able to rollout update to downstream clusters based on a predefined schedule.

This is useful for users running a large number of clusters, but would prefer to have the rollout perform during a specific window.

Also related to: https://github.com/rancher/rancher/issues/30266

shane-davidson commented 3 years ago

Our use case for this would include the option for a global schedule or a targeted schedule per cluster. With the targeted option overriding the global value.

defaultNamespace: test
  schedule:
    # global schedule details
    range: '03:00 - 04:00'
    weekday: saturday

targetCustomizations:
- name: cluster1
  clusterSelector:
    matchLabels:
      management.cattle.io/cluster-display-name: cluster1
  schedule:
    # cluster specific schedule
    range: '03:00 - 04:00'
    period: daily  ( or weekly or monthly etc )

- name: cluster2
  clusterSelector:
    matchLabels:
      management.cattle.io/cluster-display-name: cluster2
  schedule:
    # cluster specific schedule
    weekday: wednesday
    period: monthly
philomory commented 3 years ago

This would be huge for us.

I'd like to at least advance the idea that this could potentially be something worth controlling on a cluster or cluster-group level, separate from the per-git-repo or per-bundle settings in fleet.yaml. That said, even if the schedule has to be repeated in every repo's fleet.yaml, that'd still be a huge improvement over not having scheduling control at all.

(Also, as long as we can specify schedules in fleet.yaml, we could use the range: global.fleet.clusterAnnotations.schedule.example.com/range pattern to pull the range from annotations regardless if that was desirable).

philomory commented 3 years ago

@deniseschannon This was removed from the 2.6 milestone, is there any chance that this could be added back as part of the 2.6.1, 2.6.2 or 2.6.x milestones?

hyunsun commented 3 years ago

@deniseschannon @ibrokethecloud Will this be available in the future release?

Athosone commented 2 years ago

Hi guys !

Are you still aiming at implementing this feature for the 2.6.X release ?

CiraciNicolo commented 6 months ago

It seems that the feature has been postponed many times, there are any news? Do you accept contributions? I would be happy to implement this feature.

A PR is already proposed.