tripleo-quickstart-extras/roles/snapshot-libvirt
Sorin Sbarnea 72141b7fab Adopt yamllint strict linting
Upgrades yamllint to latest version and adots use of its strict
checking.

Fix all known problems reported by yamllint so we don't have to do
that while touching these files.

Change-Id: I4bdc520d9e2aff086c4b463718bc1e053261a4f5
Story: https://tree.taiga.io/project/tripleo-ci-board/task/381
2018-11-26 12:37:21 +00:00
..
defaults Adopt yamllint strict linting 2018-11-26 12:37:21 +00:00
tasks Add role to manage snapshots in a libvirt environment 2018-04-30 12:53:15 +00:00
README.md Adapt code to newer code style (linters) 2018-11-16 12:42:51 +00:00

README.md

snapshot-libvirt

An Ansible role for snapshotting a libvirt environment using external snapshots with backing files.

The role will shutdown all of the VMs specified in the overcloud_nodes list, then proceed with either creating or restoring a previous snapshot depending on the settings for snapshot_create and snapshot_restore. The default is to do nothing since both of these operations are potentially destructive.

When run with snapshot_create=true, the role will check if there is already a backing file. If one exists, it will commit all new changes to that backing file. If there is not already a backing file, the role will create one, and make an empty snapshot pointing to it.

When run with snapshot_restore=true, the role will delete the current snapshot and create an empty snapshot pointing to the backing file.

Limitations

  • This role does not currently support any "management" of snapshots, i.e. there is only one maintained.
  • The role uses qemu-img directly to create the snapshots, this means the snapshots will not show up with commands like virsh-snapshot
  • The role does not currently implement any method to remove the backing files. This means when starting over from scratch, these *.bak files will need to be manually deleted (if reusing the same libvirt_volume_path).

Example Usage

---
- name:  Create a snapshot (or update a snapshot)
  hosts: virthost
  gather_facts: true
  vars:
    - snapshot_create: true
    - libvirt_volume_path: /opt/vm_images
    - libvirt_uri: qemu:///system
    - overcloud_nodes:
      - name: subnode-0
      - name: subnode-1
  roles:
    - snapshot-libvirt
  become: true

- name:  Restore a snapshot
  hosts: virthost
  gather_facts: true
  vars:
    - snapshot_restore: true
    - libvirt_volume_path: /opt/vm_images
    - libvirt_uri: qemu:///system
    - overcloud_nodes:
      - name: subnode-0
      - name: subnode-1
  roles:
    - snapshot-libvirt
  become: true

License

Apache