--- - name: setup instance cs_instance: name: "{{ cs_resource_prefix }}-vm-snapshot" template: "{{ test_cs_instance_template }}" service_offering: "{{ test_cs_instance_offering_1 }}" register: instance - name: verify create instance assert: that: - instance|success - name: ensure no snapshot exists cs_vmsnapshot: name: "{{ cs_resource_prefix }}_snapshot" vm: "{{ cs_resource_prefix }}-vm-snapshot" state: absent register: snap - name: verify setup assert: that: - snap|success - name: test fail if missing name action: cs_vmsnapshot register: snap ignore_errors: true - name: verify results of fail if missing params assert: that: - snap|failed - 'snap.msg.startswith("missing required arguments: ")' - name: test create snapshot cs_vmsnapshot: name: "{{ cs_resource_prefix }}_snapshot" vm: "{{ cs_resource_prefix }}-vm-snapshot" snapshot_memory: yes register: snap - name: verify test create snapshot assert: that: - snap|changed - snap.display_name == "{{ cs_resource_prefix }}_snapshot" - name: test create snapshot idempotence cs_vmsnapshot: name: "{{ cs_resource_prefix }}_snapshot" vm: "{{ cs_resource_prefix }}-vm-snapshot" snapshot_memory: yes register: snap - name: verify test create snapshot idempotence assert: that: - not snap|changed - snap.display_name == "{{ cs_resource_prefix }}_snapshot" - name: test revert snapshot cs_vmsnapshot: name: "{{ cs_resource_prefix }}_snapshot" vm: "{{ cs_resource_prefix }}-vm-snapshot" state: revert register: snap - name: verify test revert snapshot assert: that: - snap|changed - snap.display_name == "{{ cs_resource_prefix }}_snapshot" - name: test remove snapshot cs_vmsnapshot: name: "{{ cs_resource_prefix }}_snapshot" vm: "{{ cs_resource_prefix }}-vm-snapshot" state: absent register: snap - name: verify test remove snapshot assert: that: - snap|changed - snap.display_name == "{{ cs_resource_prefix }}_snapshot" - name: test remove snapshot idempotence cs_vmsnapshot: name: "{{ cs_resource_prefix }}_snapshot" vm: "{{ cs_resource_prefix }}-vm-snapshot" state: absent register: snap - name: verify test remove snapshot idempotence assert: that: - not snap|changed - name: cleanup instance cs_instance: name: "{{ cs_resource_prefix }}-vm-snapshot" state: expunged register: instance - name: verify destroy instance assert: that: - instance|success