ansible/test/integration/targets/cs_volume/tasks/extract_upload.yml
Felix Fontein 0c592c8225
CloudStack modules: rename _facts -> _info (#61090)
* Rename cloudstack _facts -> _info

* Add changelog.

* Fix errors due to overloaded get_result having different parameter names.

* Fix examples.

* Change debug tasks.

* Remove unneeded code.

* Change from rename -> deprecate+new module.

* Make cs_zone_info return a list.

* Make cs_instance_info return a list.

* Fix return value docs.

* Fix typo.

* Improve tests.

* Fix cs_zone_info.

* Linting.

* Fix alias/option switch.

* Fix version numbers.

* Extend docs.
2019-08-29 16:14:51 +02:00

190 lines
4.8 KiB
YAML

---
- name: setup
cs_volume:
zone: "{{ cs_common_zone_adv }}"
name: "{{ cs_resource_prefix }}_upload"
state: absent
register: uploaded_vol
- name: verify setup
assert:
that:
- uploaded_vol is successful
- name: setup network
cs_network:
name: "cs_volume_network"
zone: "{{ cs_common_zone_adv }}"
network_offering: DefaultSharedNetworkOffering
vlan: 2435
start_ip: 10.100.129.11
end_ip: 10.100.129.250
gateway: 10.100.129.1
netmask: 255.255.255.0
register: net
- name: verify setup network
assert:
that:
- net is successful
- net.name == "cs_volume_network"
- name: setup instance
cs_instance:
zone: "{{ cs_common_zone_adv }}"
name: "{{ test_cs_instance_3 }}"
template: "{{ test_cs_instance_template }}"
service_offering: "{{ test_cs_instance_offering_1 }}"
network: cs_volume_network
register: instance
- name: verify setup instance
assert:
that:
- instance is successful
- name: setup stop instance
cs_instance:
zone: "{{ cs_common_zone_adv }}"
name: "{{ test_cs_instance_3 }}"
state: stopped
register: instance
- name: verify stop instance
assert:
that:
- instance is successful
- instance.state == 'Stopped'
- name: setup get instance info
cs_instance_info:
name: "{{ test_cs_instance_3 }}"
register: instance
- name: verify setup get instance info
assert:
that:
- instance is successful
- name: test extract volume in check mode
cs_volume:
zone: "{{ cs_common_zone_adv }}"
state: extracted
name: "{{ instance.instances[0].volumes[0].name }}"
check_mode: yes
register: extracted_vol
- name: verify test extract volume in check mode
assert:
that:
- extracted_vol is successful
- extracted_vol is changed
- extracted_vol.state == "Ready"
- extracted_vol.name == "{{ instance.instances[0].volumes[0].name }}"
- extracted_vol.url is not defined
- name: test extract volume
cs_volume:
zone: "{{ cs_common_zone_adv }}"
state: extracted
name: "{{ instance.instances[0].volumes[0].name }}"
register: extracted_vol
- name: verify test extract volume
assert:
that:
- extracted_vol is successful
- extracted_vol is changed
- extracted_vol.state == "DOWNLOAD_URL_CREATED"
- extracted_vol.name == "{{ instance.instances[0].volumes[0].name }}"
- extracted_vol.url is defined
- name: test upload volume with missing param
cs_volume:
zone: "{{ cs_common_zone_adv }}"
state: uploaded
name: "{{ cs_resource_prefix }}_upload"
url: "{{ test_cs_volume_to_upload }}"
ignore_errors: yes
register: uploaded_vol
- name: verify upload volume with missing param
assert:
that:
- uploaded_vol is failed
- uploaded_vol is not changed
- 'uploaded_vol.msg == "state is uploaded but all of the following are missing: format"'
- name: test upload volume in check mode
cs_volume:
zone: "{{ cs_common_zone_adv }}"
state: uploaded
name: "{{ cs_resource_prefix }}_upload"
format: VHD
url: "{{ test_cs_volume_to_upload }}"
check_mode: yes
register: uploaded_vol
- name: verify upload volume in check mode
assert:
that:
- uploaded_vol is successful
- uploaded_vol is changed
- uploaded_vol.name is not defined
- name: test upload volume
cs_volume:
zone: "{{ cs_common_zone_adv }}"
state: uploaded
name: "{{ cs_resource_prefix }}_upload"
format: VHD
url: "{{ test_cs_volume_to_upload }}"
register: uploaded_vol
- name: verify upload volume
assert:
that:
- uploaded_vol is successful
- uploaded_vol is changed
- uploaded_vol.name == "{{ cs_resource_prefix }}_upload"
- uploaded_vol.state == "Uploaded"
- name: test upload volume idempotence
cs_volume:
zone: "{{ cs_common_zone_adv }}"
state: uploaded
name: "{{ cs_resource_prefix }}_upload"
format: VHD
url: "{{ test_cs_volume_to_upload }}"
register: uploaded_vol
- name: verify upload volume idempotence
assert:
that:
- uploaded_vol is successful
- uploaded_vol is not changed
- uploaded_vol.name == "{{ cs_resource_prefix }}_upload"
- uploaded_vol.state == "Uploaded"
- name: delete volume
cs_volume:
zone: "{{ cs_common_zone_adv }}"
state: absent
name: "{{ cs_resource_prefix }}_upload"
register: uploaded_vol
- name: verify delete volume
assert:
that:
- uploaded_vol is successful
- uploaded_vol is changed
- name: destroy instance
cs_instance:
zone: "{{ cs_common_zone_adv }}"
name: "{{ test_cs_instance_3 }}"
state: expunged
register: instance
- name: verify destroy instance
assert:
that:
- instance is successful
- name: delete network
cs_network:
name: "cs_volume_network"
zone: "{{ cs_common_zone_adv }}"
state: absent
register: net
- name: verify delete network
assert:
that:
- net is successful