-
Epic
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
Foreman recurring timers
-
In Progress
-
SAT-23140 - Run Satellite's application services as containers
-
False
-
Satellite Rocket Sprint 2, Satellite Rocket Sprint 7, Satellite Rocket Sprint 8, Satellite Rocket Sprint 9, Satellite Rocket Sprint 10, Satellite Rocket Sprint 11, Satellite Rocket Sprint 13, Satellite Rocket Sprint 12, Satellite Rocket Sprint 14, Satellite Rocket Sprint 15, Satellite Rocket Sprint 16
-
sat-rocket
-
Enhancement
-
-
Proposed
Goal:
Foreman has various recurring tasks that today run via cron. Foremanctl should avoid cron and instead try to provide container native solutions where possible.
Foreman plugins that depend on foreman-tasks should use recurring logic because it plays nicely into complex multi-server deployments. For plugins that don't or foreman-tasks itself a simple mechanism should be provided. That way a sprawl of jobs is avoided.
The framework for this is a set of rake tasks in Foreman core. It will provide them with their based on the schedule:
- foreman-rake cron:hourly
- foreman-rake cron:daily
- foreman-rake cron:weekly
- foreman-rake cron:monthly
Then foremanctl implements systemd timers to run these are the scheduled interval. The timers may use RandomizedDelaySec= or FixedRandomDelay= to avoid all jobs on the server running at exactly the same time, but is not required.
Background on where it was initially suggested: https://github.com/theforeman/foremanctl/pull/288#pullrequestreview-3472321405.
An upstream RFC should be created for this to describe the design. This allows pointing plugin developers to how it's preferred.
This limits users on selecting the exact schedule, but that's a feature. When upgrading we won't make an effort to detect the existing schedule. A release note should cover this change in behavior.
Acceptance criteria:
- In upstream an RFC is created that describes the design
- Foreman is enhanced to implement the hourly, daily, weekly and monthly rake tasks
- Existing cronjobs in Foreman and Satellite are either converted to foreman-tasks or the new scheduled jobs
- For upstream users that don't use a containerized installation (yet) the cronjobs deployed by packaging are updated
- Upstream a release note about this is written
- depends on
-
SAT-39376 Add quadlet timer for foreman recurring task (reports:daily) by archanaserver · Pull Request #252 · theforeman/foremanctl · GitHub
-
- Closed
-
-
SAT-39830 Add Quadlet timer for Foreman recurring task (db:sessions:clear) by archanaserver · Pull Request #271 · theforeman/foremanctl · GitHub
-
- Closed
-
- is duplicated by
-
SAT-40686 Rework Foreman's recurring tasks in foremanctl
-
- Closed
-
- is triggering
-
SAT-40686 Rework Foreman's recurring tasks in foremanctl
-
- Closed
-