Allow for cron programming of backups

Normally, backups are not done interactively, but during nights or
weekends. This patch introduces the capacity of introducing in an easy
way cron programming that will execute backups in predictable intervals.

Closes-Bug: #1935675

Depends-on: I86b3fb2c3d846bcd56859e0d572f1fe4d5e148fa
Change-Id: I28219759922b7407121a3fa4d2f49ee1f4b8a3cd
(cherry picked from commit c5347fbac3)
This commit is contained in:
Juan Larriba 2021-07-14 13:01:13 +02:00
parent f7e4cdaa63
commit a4534128f8
2 changed files with 43 additions and 0 deletions

View File

@ -71,6 +71,16 @@ class BackupOvercloud(command.Command):
"install and configure ReaR.")
)
parser.add_argument(
'--cron',
default=False,
action='store_true',
help=_("Sets up a new cron job that by default will "
"execute a weekly backup at Sundays midnight, "
"but that can be customized by using the "
"tripleo_backup_and_restore_cron extra-var.")
)
parser.add_argument(
'--inventory',
default='/home/stack/tripleo-inventory.yaml',
@ -165,8 +175,20 @@ class BackupOvercloud(command.Command):
extra_vars=extra_vars
)
if parsed_args.cron is True:
LOG.debug(_('Programming cron backup'))
self._run_ansible_playbook(
playbook='cli-overcloud-backup-cron.yaml',
inventory=parsed_args.inventory,
tags=None,
skip_tags=None,
extra_vars=extra_vars
)
if (parsed_args.setup_nfs is False and
parsed_args.setup_rear is False and
parsed_args.cron is False and
parsed_args.init is None):
LOG.debug(_('Starting Overcloud Backup'))

View File

@ -73,6 +73,16 @@ class BackupUndercloud(command.Command):
"install and configure ReaR.")
)
parser.add_argument(
'--cron',
default=False,
action='store_true',
help=_("Sets up a new cron job that by default will "
"execute a weekly backup at Sundays midnight, "
"but that can be customized by using the "
"tripleo_backup_and_restore_cron extra-var.")
)
parser.add_argument(
'--db-only',
default=False,
@ -200,8 +210,19 @@ class BackupUndercloud(command.Command):
extra_vars=extra_vars
)
if parsed_args.cron is True:
self._run_ansible_playbook(
playbook='cli-undercloud-backup-cron.yaml',
inventory=parsed_args.inventory,
tags=None,
skip_tags=None,
extra_vars=extra_vars
)
if (parsed_args.setup_nfs is False and
parsed_args.setup_rear is False and
parsed_args.cron is False and
parsed_args.init is None):
self._run_ansible_playbook(