diff --git a/doc/source/command-objects/backup.rst b/doc/source/command-objects/backup.rst index ee100b1b2d..4abc155fe8 100644 --- a/doc/source/command-objects/backup.rst +++ b/doc/source/command-objects/backup.rst @@ -18,6 +18,7 @@ Create new backup [--description ] [--snapshot ] [--force] + [--incremental] .. option:: --container @@ -44,6 +45,12 @@ Create new backup *Volume version 2 only* +.. option:: --incremental + + Perform an incremental backup + + *Volume version 2 only* + .. _backup_create-backup: .. describe:: diff --git a/openstackclient/tests/volume/v2/test_backup.py b/openstackclient/tests/volume/v2/test_backup.py index ce26a2d6f0..31bfa64cab 100644 --- a/openstackclient/tests/volume/v2/test_backup.py +++ b/openstackclient/tests/volume/v2/test_backup.py @@ -79,6 +79,7 @@ class TestBackupCreate(TestBackup): "--description", self.new_backup.description, "--container", self.new_backup.container, "--force", + "--incremental", "--snapshot", self.new_backup.snapshot_id, self.new_backup.volume_id, ] @@ -87,6 +88,7 @@ class TestBackupCreate(TestBackup): ("description", self.new_backup.description), ("container", self.new_backup.container), ("force", True), + ("incremental", True), ("snapshot", self.new_backup.snapshot_id), ("volume", self.new_backup.volume_id), ] @@ -100,6 +102,7 @@ class TestBackupCreate(TestBackup): name=self.new_backup.name, description=self.new_backup.description, force=True, + incremental=True, snapshot_id=self.new_backup.snapshot_id, ) self.assertEqual(self.columns, columns) @@ -126,6 +129,7 @@ class TestBackupCreate(TestBackup): name=None, description=self.new_backup.description, force=False, + incremental=False, snapshot_id=None, ) self.assertEqual(self.columns, columns) diff --git a/openstackclient/volume/v2/backup.py b/openstackclient/volume/v2/backup.py index fed5f09e2d..49226bccca 100644 --- a/openstackclient/volume/v2/backup.py +++ b/openstackclient/volume/v2/backup.py @@ -59,6 +59,12 @@ class CreateBackup(command.ShowOne): default=False, help=_("Allow to back up an in-use volume") ) + parser.add_argument( + '--incremental', + action='store_true', + default=False, + help=_("Perform an incremental backup") + ) return parser def take_action(self, parsed_args): @@ -75,6 +81,7 @@ class CreateBackup(command.ShowOne): name=parsed_args.name, description=parsed_args.description, force=parsed_args.force, + incremental=parsed_args.incremental, snapshot_id=snapshot_id, ) backup._info.pop("links", None) diff --git a/releasenotes/notes/bug-1600196-6a733dd4e3371df7.yaml b/releasenotes/notes/bug-1600196-6a733dd4e3371df7.yaml new file mode 100644 index 0000000000..16c125fb5c --- /dev/null +++ b/releasenotes/notes/bug-1600196-6a733dd4e3371df7.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + Add ``--incremental`` option to ``backup create`` command to allow users to + create incremental backups. + [Bug `1600196 `_]