--- - 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 is successful - 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 is successful - 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 is failed - 'snap.msg.startswith("missing required arguments: ")' - name: test create snapshot in check mode cs_vmsnapshot: name: "{{ cs_resource_prefix }}_snapshot" vm: "{{ cs_resource_prefix }}-vm-snapshot" snapshot_memory: yes register: snap check_mode: true - name: verify test create snapshot in check mode assert: that: - snap is changed - 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 is 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: - snap is not changed - snap.display_name == "{{ cs_resource_prefix }}_snapshot" - name: test revert snapshot in check mode cs_vmsnapshot: name: "{{ cs_resource_prefix }}_snapshot" vm: "{{ cs_resource_prefix }}-vm-snapshot" state: revert register: snap check_mode: true - name: verify test revert snapshot in check mode assert: that: - snap is changed - snap.display_name == "{{ cs_resource_prefix }}_snapshot" - name: test fail revert unknown snapshot cs_vmsnapshot: name: "{{ cs_resource_prefix }}_snapshot_unknown" vm: "{{ cs_resource_prefix }}-vm-snapshot" state: revert register: snap ignore_errors: true - name: verify test fail revert unknown snapshot assert: that: - snap is failed - snap.msg == "snapshot not found, could not revert VM" - 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 is changed - snap.display_name == "{{ cs_resource_prefix }}_snapshot" - name: test remove snapshot in check mode cs_vmsnapshot: name: "{{ cs_resource_prefix }}_snapshot" vm: "{{ cs_resource_prefix }}-vm-snapshot" state: absent register: snap check_mode: true - name: verify test remove snapshot in check mode assert: that: - snap is 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 is 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: - snap is not changed - name: cleanup instance cs_instance: name: "{{ cs_resource_prefix }}-vm-snapshot" state: expunged register: instance - name: verify destroy instance assert: that: - instance is successful