1--- 2- name: setup 3 cs_volume: 4 zone: "{{ cs_common_zone_adv }}" 5 name: "{{ cs_resource_prefix }}_upload" 6 state: absent 7 register: uploaded_vol 8- name: verify setup 9 assert: 10 that: 11 - uploaded_vol is successful 12 13- name: setup network 14 cs_network: 15 name: "cs_volume_network" 16 zone: "{{ cs_common_zone_adv }}" 17 network_offering: DefaultSharedNetworkOffering 18 vlan: 2435 19 start_ip: 10.100.129.11 20 end_ip: 10.100.129.250 21 gateway: 10.100.129.1 22 netmask: 255.255.255.0 23 register: net 24- name: verify setup network 25 assert: 26 that: 27 - net is successful 28 - net.name == "cs_volume_network" 29 30- name: setup instance 31 cs_instance: 32 zone: "{{ cs_common_zone_adv }}" 33 name: "{{ test_cs_instance_3 }}" 34 template: "{{ test_cs_instance_template }}" 35 service_offering: "{{ test_cs_instance_offering_1 }}" 36 network: cs_volume_network 37 register: instance 38- name: verify setup instance 39 assert: 40 that: 41 - instance is successful 42 43- name: setup stop instance 44 cs_instance: 45 zone: "{{ cs_common_zone_adv }}" 46 name: "{{ test_cs_instance_3 }}" 47 state: stopped 48 register: instance 49- name: verify stop instance 50 assert: 51 that: 52 - instance is successful 53 - instance.state == 'Stopped' 54 55- name: setup get instance info 56 cs_instance_info: 57 name: "{{ test_cs_instance_3 }}" 58 register: instance 59- name: verify setup get instance info 60 assert: 61 that: 62 - instance is successful 63 64- name: test extract volume in check mode 65 cs_volume: 66 zone: "{{ cs_common_zone_adv }}" 67 state: extracted 68 name: "{{ instance.instances[0].volumes[0].name }}" 69 check_mode: yes 70 register: extracted_vol 71- name: verify test extract volume in check mode 72 assert: 73 that: 74 - extracted_vol is successful 75 - extracted_vol is changed 76 - extracted_vol.state == "Ready" 77 - extracted_vol.name == "{{ instance.instances[0].volumes[0].name }}" 78 - extracted_vol.url is not defined 79 80- name: test extract volume 81 cs_volume: 82 zone: "{{ cs_common_zone_adv }}" 83 state: extracted 84 name: "{{ instance.instances[0].volumes[0].name }}" 85 register: extracted_vol 86- name: verify test extract volume 87 assert: 88 that: 89 - extracted_vol is successful 90 - extracted_vol is changed 91 - extracted_vol.state == "DOWNLOAD_URL_CREATED" 92 - extracted_vol.name == "{{ instance.instances[0].volumes[0].name }}" 93 - extracted_vol.url is defined 94 95- name: test upload volume with missing param 96 cs_volume: 97 zone: "{{ cs_common_zone_adv }}" 98 state: uploaded 99 name: "{{ cs_resource_prefix }}_upload" 100 url: "{{ test_cs_volume_to_upload }}" 101 ignore_errors: yes 102 register: uploaded_vol 103- name: verify upload volume with missing param 104 assert: 105 that: 106 - uploaded_vol is failed 107 - uploaded_vol is not changed 108 - 'uploaded_vol.msg == "state is uploaded but all of the following are missing: format"' 109 110- name: test upload volume in check mode 111 cs_volume: 112 zone: "{{ cs_common_zone_adv }}" 113 state: uploaded 114 name: "{{ cs_resource_prefix }}_upload" 115 format: VHD 116 url: "{{ test_cs_volume_to_upload }}" 117 check_mode: yes 118 register: uploaded_vol 119- name: verify upload volume in check mode 120 assert: 121 that: 122 - uploaded_vol is successful 123 - uploaded_vol is changed 124 - uploaded_vol.name is not defined 125 126- name: test upload volume 127 cs_volume: 128 zone: "{{ cs_common_zone_adv }}" 129 state: uploaded 130 name: "{{ cs_resource_prefix }}_upload" 131 format: VHD 132 url: "{{ test_cs_volume_to_upload }}" 133 register: uploaded_vol 134- name: verify upload volume 135 assert: 136 that: 137 - uploaded_vol is successful 138 - uploaded_vol is changed 139 - uploaded_vol.name == "{{ cs_resource_prefix }}_upload" 140 - uploaded_vol.state == "Uploaded" 141 142- name: test upload volume idempotence 143 cs_volume: 144 zone: "{{ cs_common_zone_adv }}" 145 state: uploaded 146 name: "{{ cs_resource_prefix }}_upload" 147 format: VHD 148 url: "{{ test_cs_volume_to_upload }}" 149 register: uploaded_vol 150- name: verify upload volume idempotence 151 assert: 152 that: 153 - uploaded_vol is successful 154 - uploaded_vol is not changed 155 - uploaded_vol.name == "{{ cs_resource_prefix }}_upload" 156 - uploaded_vol.state == "Uploaded" 157 158- name: delete volume 159 cs_volume: 160 zone: "{{ cs_common_zone_adv }}" 161 state: absent 162 name: "{{ cs_resource_prefix }}_upload" 163 register: uploaded_vol 164- name: verify delete volume 165 assert: 166 that: 167 - uploaded_vol is successful 168 - uploaded_vol is changed 169 170- name: destroy instance 171 cs_instance: 172 zone: "{{ cs_common_zone_adv }}" 173 name: "{{ test_cs_instance_3 }}" 174 state: expunged 175 register: instance 176- name: verify destroy instance 177 assert: 178 that: 179 - instance is successful 180 181- name: delete network 182 cs_network: 183 name: "cs_volume_network" 184 zone: "{{ cs_common_zone_adv }}" 185 state: absent 186 register: net 187- name: verify delete network 188 assert: 189 that: 190 - net is successful 191