The ipa-epn.timer file is not a configuration file. As a result, changing the time at which EPN runs will not persist on upgrades. Making the timer file %config(noreplace) is the solution ; some (but not all) packages ship their timers in this fashion.
Metadata Update from @fcami: - Custom field changelog adjusted to The ipa-epn.timer file is now a configuration file from RPM's point of view. Customization of the time ipa-epn runs at will persist after an IPA upgrade. - Custom field on_review adjusted to https://github.com/freeipa/freeipa/pull/5151
The systemd files for ipa-epn are
/usr/lib/systemd/system/ipa-epn.service /usr/lib/systemd/system/ipa-epn.timer
These are global, package-owned files. Users must not modify these files. Instead users have to use systemd tools like systemctl edit, manually create a drop-in, or copy the files to to /etc/systemd/system to override the file.
systemctl edit
/etc/systemd/system
For example to run the timer at 2am instead of 1am:
# systemctl edit ipa-epn.timer [Timer] OnCalendar= OnCalendar=*-*-* 02:00:00
systemd automatically validates and reloads the file after editor is closed.
# systemctl cat ipa-epn.timer # /usr/lib/systemd/system/ipa-epn.timer [Unit] Description=Execute IPA Expiring Password Notification (EPN) every day at 1AM [Timer] OnCalendar=*-*-* 01:00:00 Unit=ipa-epn.service [Install] WantedBy=multi-user.target # /etc/systemd/system/ipa-epn.timer.d/override.conf [Timer] OnCalendar= OnCalendar=*-*-* 02:00:00
# systemctl show ipa-epn.timer | grep OnCalendar TimersCalendar={ OnCalendar=*-*-* 02:00:00 ; next_elapse=n/a }
Yes, thanks, this is exactly what's needed here, no need to modify anything in FreeIPA. Closing.
Metadata Update from @fcami: - Issue close_status updated to: wontfix - Issue status updated to: Closed (was: Open)