|
|
|
---
|
|
|
|
- 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 facts
|
|
|
|
cs_instance_facts:
|
|
|
|
name: "{{ test_cs_instance_3 }}"
|
|
|
|
register: instance
|
|
|
|
- name: verify setup get instance facts
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- instance is successful
|
|
|
|
|
|
|
|
- name: test extract volume in check mode
|
|
|
|
cs_volume:
|
|
|
|
zone: "{{ cs_common_zone_adv }}"
|
|
|
|
state: extracted
|
|
|
|
name: "{{ instance.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.volumes[0].name }}"
|
|
|
|
- extracted_vol.url is not defined
|
|
|
|
|
|
|
|
- name: test extract volume
|
|
|
|
cs_volume:
|
|
|
|
zone: "{{ cs_common_zone_adv }}"
|
|
|
|
state: extracted
|
|
|
|
name: "{{ instance.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.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
|