Files
Jakob Meng 764a8bff64 Refactored volume_backup{,_info} modules
Change-Id: I523fd25a11f8f39a346afc17ae1e3a4dfcb8bae2
2022-11-04 20:06:50 +01:00

90 lines
2.4 KiB
YAML

---
- name: Get existing backups
openstack.cloud.volume_backup_info:
cloud: "{{ cloud }}"
register: info
- name: Assert volume_backup_info
assert:
that:
- info.volume_backups|length == 0
- name: Get non-existing backup
openstack.cloud.volume_backup_info:
cloud: "{{ cloud }}"
name: non-existing-backup
register: info
- name: Assert volume_backup_info
assert:
that:
- info.volume_backups|length == 0
- name: Create volume
openstack.cloud.volume:
cloud: "{{ cloud }}"
state: present
size: 1
name: ansible_volume
register: volume
- name: Create volume backup
openstack.cloud.volume_backup:
cloud: "{{ cloud }}"
state: present
name: ansible_volume_backup
volume: ansible_volume
# TODO: Uncomment code when https://storyboard.openstack.org/#!/story/2010395 has been solved.
#metadata:
# key1: value1
# key2: value2
register: backup
- name: Assert volume_backup
assert:
that:
- backup.volume_backup.name == "ansible_volume_backup"
- backup.volume_backup.volume_id == volume.volume.id
# TODO: Uncomment code when https://storyboard.openstack.org/#!/story/2010395 has been solved.
#- backup.volume_backup.metadata.keys()|sort == ['key1', 'key2']
#- backup.volume_backup.metadata['key1'] == 'value1'
#- backup.volume_backup.metadata['key2'] == 'value2'
- name: Assert return values of volume_backup module
assert:
that:
# allow new fields to be introduced but prevent fields from being removed
- expected_fields|difference(backup.volume_backup.keys())|length == 0
- name: Get backup info
openstack.cloud.volume_backup_info:
cloud: "{{ cloud }}"
name: ansible_volume_backup
register: info
- name: Assert volume_backup_info
assert:
that:
- info.volume_backups|length == 1
- info.volume_backups[0].id == backup.backup.id
- info.volume_backups[0].volume_id == volume.volume.id
- name: Assert return values of volume_info module
assert:
that:
# allow new fields to be introduced but prevent fields from being removed
- expected_fields|difference(info.volume_backups[0].keys())|length == 0
- name: Delete volume backup
openstack.cloud.volume_backup:
cloud: "{{ cloud }}"
name: ansible_volume_backup
wait: false
state: absent
- name: Delete volume
openstack.cloud.volume:
cloud: "{{ cloud }}"
state: absent
name: ansible_volume