mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-05-07 13:53:15 +00:00
Refactored volume_backup{,_info} modules
Change-Id: I523fd25a11f8f39a346afc17ae1e3a4dfcb8bae2
This commit is contained in:
@@ -46,35 +46,6 @@
|
||||
description: Test volume
|
||||
register: vol
|
||||
|
||||
- name: Create volume backup
|
||||
openstack.cloud.volume_backup:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: ansible_volume_backup
|
||||
volume: ansible_volume
|
||||
register: vol_backup
|
||||
|
||||
- name: Get backup info
|
||||
openstack.cloud.volume_backup_info:
|
||||
cloud: "{{ cloud }}"
|
||||
name: ansible_volume_backup
|
||||
register: backup_info
|
||||
|
||||
- debug: var=vol
|
||||
|
||||
- debug: var=vol_backup
|
||||
|
||||
- debug: var=backup_info
|
||||
|
||||
- debug: var=snap_info
|
||||
|
||||
- name: Delete volume backup
|
||||
openstack.cloud.volume_backup:
|
||||
cloud: "{{ cloud }}"
|
||||
name: ansible_volume_backup
|
||||
wait: false
|
||||
state: absent
|
||||
|
||||
- name: Delete volume snapshot
|
||||
openstack.cloud.volume_snapshot:
|
||||
cloud: "{{ cloud }}"
|
||||
|
||||
22
ci/roles/volume_backup/defaults/main.yml
Normal file
22
ci/roles/volume_backup/defaults/main.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
expected_fields:
|
||||
- availability_zone
|
||||
- container
|
||||
- created_at
|
||||
- data_timestamp
|
||||
- description
|
||||
- fail_reason
|
||||
- force
|
||||
- has_dependent_backups
|
||||
- id
|
||||
- is_incremental
|
||||
- links
|
||||
- metadata
|
||||
- name
|
||||
- object_count
|
||||
- project_id
|
||||
- size
|
||||
- snapshot_id
|
||||
- status
|
||||
- updated_at
|
||||
- user_id
|
||||
- volume_id
|
||||
89
ci/roles/volume_backup/tasks/main.yml
Normal file
89
ci/roles/volume_backup/tasks/main.yml
Normal file
@@ -0,0 +1,89 @@
|
||||
---
|
||||
- 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
|
||||
@@ -65,6 +65,7 @@
|
||||
- { role: user_group, tags: user_group }
|
||||
- { role: user_role, tags: user_role }
|
||||
- { role: volume, tags: volume }
|
||||
- { role: volume_backup, tags: volume_backup }
|
||||
- role: loadbalancer
|
||||
tags: loadbalancer
|
||||
- { role: quota, tags: quota }
|
||||
|
||||
Reference in New Issue
Block a user