--- - name: setup cs_volume: name={{ cs_resource_prefix }}_vol state=absent register: vol - name: verify setup assert: that: - vol is successful - name: setup instance 1 cs_instance: name: "{{ test_cs_instance_1 }}" template: "{{ test_cs_instance_template }}" service_offering: "{{ test_cs_instance_offering_1 }}" register: instance - name: verify create instance assert: that: - instance is successful - name: setup instance 2 cs_instance: name: "{{ test_cs_instance_2 }}" template: "{{ test_cs_instance_template }}" service_offering: "{{ test_cs_instance_offering_1 }}" register: instance - name: verify create instance assert: that: - instance is successful - name: test fail if missing name action: cs_volume register: vol ignore_errors: true - name: verify results of fail if missing name assert: that: - vol is failed - "vol.msg == 'missing required arguments: name'" - name: test create volume in check mode cs_volume: name: "{{ cs_resource_prefix }}_vol" disk_offering: "{{ test_cs_disk_offering_1 }}" size: 20 register: vol check_mode: true - name: verify results test create volume in check mode assert: that: - vol is changed - name: test create volume cs_volume: name: "{{ cs_resource_prefix }}_vol" disk_offering: "{{ test_cs_disk_offering_1 }}" size: 20 register: vol - name: verify results test create volume assert: that: - vol is changed - vol.size == 20 * 1024 ** 3 - vol.name == "{{ cs_resource_prefix }}_vol" - name: test create volume idempotence cs_volume: name: "{{ cs_resource_prefix }}_vol" disk_offering: "{{ test_cs_disk_offering_1 }}" size: 20 register: vol - name: verify results test create volume idempotence assert: that: - vol is not changed - vol.size == 20 * 1024 ** 3 - vol.name == "{{ cs_resource_prefix }}_vol" - name: test shrink volume in check mode cs_volume: name: "{{ cs_resource_prefix }}_vol" disk_offering: "{{ test_cs_disk_offering_1 }}" size: 10 shrink_ok: yes register: vol check_mode: true - name: verify results test create volume in check mode assert: that: - vol is changed - vol.size == 20 * 1024 ** 3 - vol.name == "{{ cs_resource_prefix }}_vol" - name: test shrink volume cs_volume: name: "{{ cs_resource_prefix }}_vol" disk_offering: "{{ test_cs_disk_offering_1 }}" size: 10 shrink_ok: yes register: vol - name: verify results test create volume assert: that: - vol is changed - vol.size == 10 * 1024 ** 3 - vol.name == "{{ cs_resource_prefix }}_vol" - name: test shrink volume idempotence cs_volume: name: "{{ cs_resource_prefix }}_vol" disk_offering: "{{ test_cs_disk_offering_1 }}" size: 10 shrink_ok: yes register: vol - name: verify results test create volume assert: that: - vol is not changed - vol.size == 10 * 1024 ** 3 - vol.name == "{{ cs_resource_prefix }}_vol" - name: test attach volume in check mode cs_volume: name: "{{ cs_resource_prefix }}_vol" vm: "{{ test_cs_instance_1 }}" state: attached register: vol check_mode: true - name: verify results test attach volume in check mode assert: that: - vol is changed - vol.name == "{{ cs_resource_prefix }}_vol" - vol.attached is not defined - name: test attach volume cs_volume: name: "{{ cs_resource_prefix }}_vol" vm: "{{ test_cs_instance_1 }}" state: attached register: vol - name: verify results test attach volume assert: that: - vol is changed - vol.name == "{{ cs_resource_prefix }}_vol" - vol.vm == "{{ test_cs_instance_1 }}" - vol.attached is defined - name: test attach volume idempotence cs_volume: name: "{{ cs_resource_prefix }}_vol" vm: "{{ test_cs_instance_1 }}" state: attached register: vol - name: verify results test attach volume idempotence assert: that: - vol is not changed - vol.name == "{{ cs_resource_prefix }}_vol" - vol.vm == "{{ test_cs_instance_1 }}" - vol.attached is defined - name: test attach attached volume to another vm in check mdoe cs_volume: name: "{{ cs_resource_prefix }}_vol" vm: "{{ test_cs_instance_2 }}" state: attached register: vol check_mode: true - name: verify results test attach attached volume to another vm in check mode assert: that: - vol is changed - vol.name == "{{ cs_resource_prefix }}_vol" - vol.vm == "{{ test_cs_instance_1 }}" - vol.attached is defined - name: test attach attached volume to another vm cs_volume: name: "{{ cs_resource_prefix }}_vol" vm: "{{ test_cs_instance_2 }}" state: attached register: vol - name: verify results test attach attached volume to another vm assert: that: - vol is changed - vol.name == "{{ cs_resource_prefix }}_vol" - vol.vm == "{{ test_cs_instance_2 }}" - vol.attached is defined - name: test attach attached volume to another vm idempotence cs_volume: name: "{{ cs_resource_prefix }}_vol" vm: "{{ test_cs_instance_2 }}" state: attached register: vol - name: verify results test attach attached volume to another vm idempotence assert: that: - vol is not changed - vol.name == "{{ cs_resource_prefix }}_vol" - vol.vm == "{{ test_cs_instance_2 }}" - vol.attached is defined - name: test detach volume in check mode cs_volume: name: "{{ cs_resource_prefix }}_vol" state: detached register: vol check_mode: true - name: verify results test detach volume in check mdoe assert: that: - vol is changed - vol.name == "{{ cs_resource_prefix }}_vol" - vol.attached is defined - name: test detach volume cs_volume: name: "{{ cs_resource_prefix }}_vol" state: detached register: vol - name: verify results test detach volume assert: that: - vol is changed - vol.name == "{{ cs_resource_prefix }}_vol" - vol.attached is undefined - name: test detach volume idempotence cs_volume: name: "{{ cs_resource_prefix }}_vol" state: detached register: vol - name: verify results test detach volume idempotence assert: that: - vol is not changed - vol.name == "{{ cs_resource_prefix }}_vol" - vol.attached is undefined - name: test delete volume in check mode cs_volume: name: "{{ cs_resource_prefix }}_vol" state: absent register: vol check_mode: true - name: verify results test create volume in check mode assert: that: - vol is changed - vol.name == "{{ cs_resource_prefix }}_vol" - name: test delete volume cs_volume: name: "{{ cs_resource_prefix }}_vol" state: absent register: vol - name: verify results test create volume assert: that: - vol is changed - vol.name == "{{ cs_resource_prefix }}_vol" - name: test delete volume idempotence cs_volume: name: "{{ cs_resource_prefix }}_vol" state: absent register: vol - name: verify results test delete volume idempotence assert: that: - vol is not changed - name: cleanup instance 1 cs_instance: name: "{{ test_cs_instance_1 }}" state: absent register: instance - name: verify create instance assert: that: - instance is successful - name: cleanup instance 2 cs_instance: name: "{{ test_cs_instance_2 }}" state: absent register: instance - name: verify create instance assert: that: - instance is successful