Files
ansible-collections-openstack/ci/roles/volume/tasks/main.yml
Jakob Meng 2f87448567 Always remove temporary files in volume's integration test
This will ensure proper cleanup when tests fail.

Change-Id: Ia5758ffeab43d92f670d3e159fe4f3747491ec94
2022-10-27 11:10:10 +02:00

167 lines
3.8 KiB
YAML

---
- name: Create volume
openstack.cloud.volume:
cloud: "{{ cloud }}"
state: present
size: 1
name: ansible_volume
description: Test volume
register: vol
- assert:
that: item in vol.volume
loop: "{{ expected_fields }}"
- name: Create volume from existing volume
openstack.cloud.volume:
cloud: "{{ cloud }}"
state: present
size: 1
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
openstack.cloud.volume:
cloud: "{{ cloud }}"
state: present
size: 1
snapshot: ansible_volume_snapshot
name: ansible_volume2
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 }}"
name: ansible_volume_snapshot
volume: ansible_volume
state: absent
- name: Delete volume
openstack.cloud.volume:
cloud: "{{ cloud }}"
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
ansible.builtin.set_fact:
tmp_file: !!null
- name: Create a test image file
ansible.builtin.tempfile:
register: tmp_file
- name: Fill test image file to 1MB
community.general.filesize:
path: '{{ tmp_file.path }}'
size: 1M
- name: Create test image
openstack.cloud.image:
cloud: "{{ cloud }}"
state: present
name: "{{ test_volume_image }}"
filename: "{{ tmp_file.path }}"
disk_format: raw
tags: "{{ image_tags }}"
- name: Create volume from image
openstack.cloud.volume:
cloud: "{{ cloud }}"
state: present
size: 1
image: "{{ test_volume_image }}"
name: ansible_volume2
description: Test volume
- name: Delete volume from image
openstack.cloud.volume:
cloud: "{{ cloud }}"
name: ansible_volume2
state: absent
- name: Create test shared image
openstack.cloud.image:
cloud: "{{ cloud }}"
state: present
name: "{{ image_name }}"
filename: "{{ tmp_file.path }}"
is_public: true
disk_format: raw
tags: "{{ image_tags }}"
- name: Delete test shared image
openstack.cloud.image:
cloud: "{{ cloud }}"
state: absent
name: "{{ image_name }}"
filename: "{{ tmp_file.path }}"
is_public: true
disk_format: raw
tags: "{{ image_tags }}"
always:
- name: Remove temporary image file
ansible.builtin.file:
path: "{{ tmp_file.path }}"
state: absent
when: tmp_file is defined and 'path' in tmp_file
- include_tasks: volume_info.yml