From ae0e53a9be47dfbf990c346faf821238c9713f91 Mon Sep 17 00:00:00 2001 From: Christian Rohmann Date: Thu, 1 Sep 2022 10:13:25 +0200 Subject: [PATCH] Allow setting of RandomizedDelaySec for backup systemd timers By allowing for a random delay for the OnCalendar timers it's possible to run backups on multiple nodes without having them happen at the exact same time. By omitting the option by default the current behavior remains unchanged. Change-Id: I005cf8ba94ab043d7075039975d5f0bc250f9187 --- defaults/main.yml | 2 ++ .../notes/randomDelayBackups-500ba778cc178e28.yaml | 7 +++++++ tasks/galera_server_backups.yml | 2 ++ 3 files changed, 11 insertions(+) create mode 100644 releasenotes/notes/randomDelayBackups-500ba778cc178e28.yaml diff --git a/defaults/main.yml b/defaults/main.yml index 09d68846..b2836d6f 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -299,10 +299,12 @@ galera_mariadb_backups_group_name: backups galera_mariadb_backups_path: "/var/backup/mariadb_backups" galera_mariadb_backups_full_copies: 2 galera_mariadb_backups_full_on_calendar: "*-*-* 00:00:00" +#galera_mariadb_backups_full_randomized_delay_sec: galera_mariadb_backups_increment_on_calendar: - "*-*-* 06:00:00" - "*-*-* 12:00:00" - "*-*-* 18:00:00" +#galera_mariadb_backups_incremental_randomized_delay_sec: #galera_mariadb_backups_user is the name of the mariadb database user galera_mariadb_backups_user: galera_mariadb_backup galera_mariadb_backups_suffix: "{{ inventory_hostname }}" diff --git a/releasenotes/notes/randomDelayBackups-500ba778cc178e28.yaml b/releasenotes/notes/randomDelayBackups-500ba778cc178e28.yaml new file mode 100644 index 00000000..f42dfa3b --- /dev/null +++ b/releasenotes/notes/randomDelayBackups-500ba778cc178e28.yaml @@ -0,0 +1,7 @@ +--- +features: + - Add parameters ``galera_mariadb_backups_full_randomized_delay_sec`` and + ``galera_mariadb_backups_incremental_randomized_delay_sec`` to run the + systemd timers for mariabackup with a randomized delay. This is useful if + backups are done of more than one node to avoid running it at the exact + same time. diff --git a/tasks/galera_server_backups.yml b/tasks/galera_server_backups.yml index da75620a..108ee7d1 100644 --- a/tasks/galera_server_backups.yml +++ b/tasks/galera_server_backups.yml @@ -48,6 +48,7 @@ state: "started" options: OnCalendar: "{{ galera_mariadb_backups_full_on_calendar }}" + RandomizedDelaySec: "{{ galera_mariadb_backups_full_randomized_delay_sec | default(omit) }}" Persistent: true Unit: "mariabackup-full.service" @@ -74,6 +75,7 @@ state: "started" options: OnCalendar: "{{ galera_mariadb_backups_increment_on_calendar }}" + RandomizedDelaySec: "{{ galera_mariadb_backups_increment_randomized_delay_sec | default(omit) }}" Persistent: true Unit: "mariabackup-increment.service" when: galera_mariadb_backups_increment_on_calendar is defined