mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-05-07 22:03:09 +00:00
Refactored volume_snapshot{,_info} modules
Change-Id: I70fc744f786a9de654592c97188af48ddbe8751d
This commit is contained in:
@@ -20,38 +20,12 @@
|
||||
volume: "{{ vol.volume.id }}"
|
||||
name: ansible_volume1
|
||||
description: Test volume
|
||||
register: vol
|
||||
|
||||
- name: Create volume snapshot
|
||||
openstack.cloud.volume_snapshot:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: ansible_volume_snapshot
|
||||
volume: ansible_volume
|
||||
register: vol_snap
|
||||
|
||||
- name: Get snapshot info
|
||||
openstack.cloud.volume_snapshot_info:
|
||||
cloud: "{{ cloud }}"
|
||||
name: ansible_volume_snapshot
|
||||
register: snap_info
|
||||
|
||||
- name: Create volume from snapshot
|
||||
- name: Delete volume
|
||||
openstack.cloud.volume:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
size: 1
|
||||
snapshot: ansible_volume_snapshot
|
||||
name: ansible_volume2
|
||||
description: Test volume
|
||||
register: vol
|
||||
|
||||
- name: Delete volume snapshot
|
||||
openstack.cloud.volume_snapshot:
|
||||
cloud: "{{ cloud }}"
|
||||
name: ansible_volume_snapshot
|
||||
volume: ansible_volume
|
||||
state: absent
|
||||
state: absent
|
||||
name: ansible_volume1
|
||||
|
||||
- name: Delete volume
|
||||
openstack.cloud.volume:
|
||||
@@ -59,15 +33,6 @@
|
||||
state: absent
|
||||
name: ansible_volume
|
||||
|
||||
- name: Clean up
|
||||
openstack.cloud.volume:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: "{{ item }}"
|
||||
loop:
|
||||
- ansible_volume1
|
||||
- ansible_volume2
|
||||
|
||||
- name: Test images
|
||||
block:
|
||||
- name: Ensure clean environment
|
||||
|
||||
13
ci/roles/volume_snapshot/defaults/main.yml
Normal file
13
ci/roles/volume_snapshot/defaults/main.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
expected_fields:
|
||||
- created_at
|
||||
- description
|
||||
- id
|
||||
- is_forced
|
||||
- metadata
|
||||
- name
|
||||
- progress
|
||||
- project_id
|
||||
- size
|
||||
- status
|
||||
- updated_at
|
||||
- volume_id
|
||||
96
ci/roles/volume_snapshot/tasks/main.yml
Normal file
96
ci/roles/volume_snapshot/tasks/main.yml
Normal file
@@ -0,0 +1,96 @@
|
||||
---
|
||||
- name: Get existing snapshots
|
||||
openstack.cloud.volume_snapshot_info:
|
||||
cloud: "{{ cloud }}"
|
||||
register: info
|
||||
|
||||
- name: Assert volume_snapshot_info
|
||||
assert:
|
||||
that:
|
||||
- info.volume_snapshots|length == 0
|
||||
|
||||
- name: Get non-existing snapshot
|
||||
openstack.cloud.volume_snapshot_info:
|
||||
cloud: "{{ cloud }}"
|
||||
name: non-existing-snapshot
|
||||
register: info
|
||||
|
||||
- name: Assert volume_snapshot_info
|
||||
assert:
|
||||
that:
|
||||
- info.volume_snapshots|length == 0
|
||||
|
||||
- name: Create volume
|
||||
openstack.cloud.volume:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
size: 1
|
||||
name: ansible_volume
|
||||
description: Test volume
|
||||
register: volume
|
||||
|
||||
- name: Create volume snapshot
|
||||
openstack.cloud.volume_snapshot:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: ansible_volume_snapshot
|
||||
volume: ansible_volume
|
||||
register: snapshot
|
||||
|
||||
- name: Assert volume_snapshot
|
||||
assert:
|
||||
that:
|
||||
- snapshot.volume_snapshot.name == "ansible_volume_snapshot"
|
||||
|
||||
- name: Assert return values of volume_snapshot module
|
||||
assert:
|
||||
that:
|
||||
# allow new fields to be introduced but prevent fields from being removed
|
||||
- expected_fields|difference(snapshot.volume_snapshot.keys())|length == 0
|
||||
|
||||
- name: Get snapshot info
|
||||
openstack.cloud.volume_snapshot_info:
|
||||
cloud: "{{ cloud }}"
|
||||
name: ansible_volume_snapshot
|
||||
register: info
|
||||
|
||||
- name: Assert volume_snapshot_info
|
||||
assert:
|
||||
that:
|
||||
- info.volume_snapshots|length == 1
|
||||
- info.volume_snapshots[0].id == snapshot.volume_snapshot.id
|
||||
- info.volume_snapshots[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_snapshots[0].keys())|length == 0
|
||||
|
||||
- name: Create volume from snapshot
|
||||
openstack.cloud.volume:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
size: 1
|
||||
snapshot: ansible_volume_snapshot
|
||||
name: ansible_volume2
|
||||
description: Test volume
|
||||
|
||||
- name: Delete volume snapshot
|
||||
openstack.cloud.volume_snapshot:
|
||||
cloud: "{{ cloud }}"
|
||||
name: ansible_volume_snapshot
|
||||
volume: ansible_volume
|
||||
state: absent
|
||||
|
||||
- name: Delete volume
|
||||
openstack.cloud.volume:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: ansible_volume2
|
||||
|
||||
- name: Delete volume
|
||||
openstack.cloud.volume:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: ansible_volume
|
||||
@@ -66,6 +66,7 @@
|
||||
- { role: user_role, tags: user_role }
|
||||
- { role: volume, tags: volume }
|
||||
- { role: volume_backup, tags: volume_backup }
|
||||
- { role: volume_snapshot, tags: volume_snapshot }
|
||||
- role: loadbalancer
|
||||
tags: loadbalancer
|
||||
- { role: quota, tags: quota }
|
||||
|
||||
Reference in New Issue
Block a user