You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/cs_vmsnapshot/tasks/main.yml

153 lines
3.9 KiB
YAML

---
- 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