You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »


Mistral workflows and schedulers

This section provides a guide for automating Cinder volume backups in OpenStack using Mistral workflows. Mistral allows you to define workflows to create full and incremental backups, manage backup rotation, and automate backup retention policies.


Available Mistral Workflows for Volume Backups

Three predefined Mistral workflows are available for automating Cinder volume backups:

1. cinder_volume_backup_full

  • Creates a full backup of a specified volume.
  • If a backup already exists, it will create a new independent full backup.

2. cinder_volume_backup_full_incremental

  • Creates a full backup if no existing backup is found.
  • If a full backup already exists, it will create an incremental backup instead.

3. cinder_volume_backup_rotation

  • Creates a full backup and incremental backups based on defined rotation policy.
  • Allows you to set limits on the number of full and incremental backups.
  • Automatically deletes all incremental backups and creates a new full backup when the incremental backup limit is reached.
  • Automatically deletes the oldest full backup when the full backup limit is reached.
  • To run workflow provide the following arguments:
    • volume_id – ID of the volume to back up.
    • backup_name – Name of the backup.
    • max_full_backups – Maximum number of full backups to keep.
    • max_incremental_backups – Maximum number of incremental backups to keep per full backup.


Running Mistral workflow using CLI

To use the openstack workflow command, you need to install the python-mistralclient library:


dnf/apt/pip install python-mistralclient

Running workflow examples:

openstack workflow execution create cinder_volume_backup_full \
  '{"volume_id":"<volume_id>", "backup_name":"<backup_name>"}'
openstack workflow execution create cinder_volume_backup_full_incremental \
  '{"volume_id":"<volume_id>", "backup_name":"<backup_name>"}'
openstack workflow execution create cinder_volume_backup_rotation \
  '{"volume_id":"<volume_id>", "backup_name":"bkp1", "max_full_backups":2, "max_incremental_backups":5}'


  • No labels