mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-07-26 17:54:28 +00:00
This will ensure proper cleanup when tests fail. Change-Id: Ia5758ffeab43d92f670d3e159fe4f3747491ec94
167 lines
3.8 KiB
YAML
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
|