Sync Plans Foreman-tasks conversion
Motivations:
- PulpV3 will not support sync plans
- Current pulp-driven sync plans are problematic and difficult to debug
Proposal:
- Maintain api/cli compatibility
- Translate interval + time into cron-syntax at the model level, converting to system timezone. Create and update a recurring logic for each sync plan.
- Store recurring logic id on each sync plan.
- Enabled/disable:
- Add support for enabling or disabling a recurring logic
- Provide new interval in addition to ‘hourly, weekly’ called ‘cron entry’ and provide a cron field for direct entering.
- Plan out and design combined recurring logic UI, that would eventually replace the sync plans UI
Upgrade Migration:
- Remove all schedules from pulp
- Create recurring logics in foreman-tasks
Tasks:
- Bug #22961: re-vamp upgrade proccess to not require installer updates - Katello - Foreman (upgrade revamp)
- Feature #23888: support enable/disable recurring logics - foreman-tasks - Foreman (enable/disable recurring logics)
- Conversion to use recurring logics
- Migration rake task
- Integrate migration rake task with upgrade revamp
- Expose direct cron syntax to users in api/cli/ui.
- Plan out enhanced recurring logics UI
Possible Future Enhancements
- Concurrent Repo-sync limit
- Repository schedules (instead of or in addition to product schedules)