mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-05-07 13:53:15 +00:00
156 lines
3.9 KiB
YAML
156 lines
3.9 KiB
YAML
- name: Get info about volumes and all projects for all SDK
|
|
openstack.cloud.volume_info:
|
|
cloud: "{{ cloud }}"
|
|
details: true
|
|
all_projects: true
|
|
register: all_sdk
|
|
ignore_errors: true
|
|
|
|
- name: Check info for all projects
|
|
assert:
|
|
that:
|
|
# Rocky SDK doesn't have all_projects attribute
|
|
- >-
|
|
(all_sdk is failed and sdk_version is version(0.19, '<')) or
|
|
all_sdk is success
|
|
|
|
- name: Get info about volumes for all SDK
|
|
openstack.cloud.volume_info:
|
|
cloud: "{{ cloud }}"
|
|
details: true
|
|
register: all_sdk1
|
|
ignore_errors: true
|
|
|
|
- name: Check info for all SDK
|
|
assert:
|
|
that:
|
|
- all_sdk1 is success
|
|
- all_sdk1.volumes is defined
|
|
|
|
- name: Run tests for SDK > 0.28 (from train)
|
|
when: sdk_version is version(0.28, '>')
|
|
block:
|
|
|
|
- name: Get info about volumes
|
|
openstack.cloud.volume_info:
|
|
cloud: "{{ cloud }}"
|
|
all_projects: true
|
|
register: delete
|
|
|
|
- name: Clean up volumes before the test
|
|
openstack.cloud.volume:
|
|
cloud: "{{ cloud }}"
|
|
state: absent
|
|
display_name: "{{ vol.name }}"
|
|
loop: "{{ delete.volumes }}"
|
|
loop_control:
|
|
loop_var: vol
|
|
|
|
- name: Create volume
|
|
openstack.cloud.volume:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
size: 1
|
|
display_name: ansible_test
|
|
display_description: testci
|
|
register: vol
|
|
|
|
- name: Get info about volumes
|
|
openstack.cloud.volume_info:
|
|
cloud: "{{ cloud }}"
|
|
details: true
|
|
all_projects: true
|
|
register: info
|
|
|
|
- name: Check info
|
|
assert:
|
|
that:
|
|
- info.volumes | selectattr("description", "equalto", "testci") | list | length == 1
|
|
- info.volumes.0.name == 'ansible_test'
|
|
- info.volumes.0.status == 'available'
|
|
|
|
- name: Get not detailed info about volumes
|
|
openstack.cloud.volume_info:
|
|
cloud: "{{ cloud }}"
|
|
details: false
|
|
all_projects: true
|
|
register: info1
|
|
|
|
- name: Check info
|
|
assert:
|
|
that:
|
|
- info1.volumes | selectattr("id", "equalto", info.volumes.0.id) | list | length == 1
|
|
- info1.volumes.0.name == 'ansible_test'
|
|
- info1.volumes.0.status == None
|
|
|
|
- name: Get info about volumes with name
|
|
openstack.cloud.volume_info:
|
|
cloud: "{{ cloud }}"
|
|
details: false
|
|
name: ansible_test
|
|
all_projects: true
|
|
register: info2
|
|
|
|
- name: Check info
|
|
assert:
|
|
that:
|
|
- info2.volumes | length == 1
|
|
- info2.volumes.0.name == 'ansible_test'
|
|
|
|
- name: Get info about volumes with non-existent name
|
|
openstack.cloud.volume_info:
|
|
cloud: "{{ cloud }}"
|
|
details: false
|
|
name: nothing_here
|
|
all_projects: true
|
|
register: info3
|
|
|
|
- name: Check info
|
|
assert:
|
|
that:
|
|
- info3.volumes | length == 0
|
|
|
|
- name: Get info about volumes
|
|
openstack.cloud.volume_info:
|
|
cloud: "{{ cloud }}"
|
|
details: false
|
|
name: ansible_test
|
|
all_projects: true
|
|
register: info4
|
|
|
|
- name: Check info
|
|
assert:
|
|
that:
|
|
- info4.volumes | length == 1
|
|
- info4.volumes.0.name == 'ansible_test'
|
|
|
|
- name: Get info about volumes not from all projects
|
|
openstack.cloud.volume_info:
|
|
cloud: "{{ cloud }}"
|
|
details: false
|
|
name: ansible_test
|
|
register: info4a
|
|
|
|
- name: Check info
|
|
assert:
|
|
that:
|
|
- info4a.volumes | length == 1
|
|
- info4a.volumes.0.name == 'ansible_test'
|
|
|
|
- name: Delete volume
|
|
openstack.cloud.volume:
|
|
cloud: "{{ cloud }}"
|
|
state: absent
|
|
display_name: ansible_test
|
|
|
|
- name: Get info when no volumes
|
|
openstack.cloud.volume_info:
|
|
cloud: "{{ cloud }}"
|
|
all_projects: true
|
|
register: info5
|
|
|
|
- name: Check info
|
|
assert:
|
|
that:
|
|
- info5.volumes | selectattr("name", "equalto", "ansible_test") | list | length == 0
|