- name: Create volume openstack.cloud.volume: cloud: "{{ cloud }}" state: present size: 1 name: ansible_test 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: 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.volumes[0].keys())|length == 0 - 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 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