--- - 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: Create a test image file shell: mktemp register: tmp_file - name: Fill test image file to 1MB shell: truncate -s 1048576 {{ tmp_file.stdout }} - name: Create test image openstack.cloud.image: cloud: "{{ cloud }}" state: present name: "{{ test_volume_image }}" filename: "{{ tmp_file.stdout }}" disk_format: raw tags: "{{ image_tags }}" register: returned_image - name: Create volume from image openstack.cloud.volume: cloud: "{{ cloud }}" state: present size: 1 image: "{{ test_volume_image }}" name: ansible_volume2 description: Test volume register: vol - name: Delete volume from image openstack.cloud.volume: cloud: "{{ cloud }}" name: ansible_volume2 state: absent register: vol - name: Create test shared image openstack.cloud.image: cloud: "{{ cloud }}" state: present name: "{{ image_name }}" filename: "{{ tmp_file.stdout }}" is_public: true disk_format: raw tags: "{{ image_tags }}" register: returned_image - name: Delete test shared image openstack.cloud.image: cloud: "{{ cloud }}" state: absent name: "{{ image_name }}" filename: "{{ tmp_file.stdout }}" is_public: true disk_format: raw tags: "{{ image_tags }}" register: returned_image - include_tasks: volume_info.yml