178 lines
4.6 KiB
YAML
178 lines
4.6 KiB
YAML
|
---
|
||
|
- name: setup instance
|
||
|
cs_instance:
|
||
|
name: "{{ cs_resource_prefix }}-vm-snapshot-policy"
|
||
|
template: "{{ cs_common_template }}"
|
||
|
service_offering: "{{ cs_common_service_offering }}"
|
||
|
zone: "{{ cs_common_zone_adv }}"
|
||
|
register: instance
|
||
|
- name: verify setup instance
|
||
|
assert:
|
||
|
that:
|
||
|
- instance|success
|
||
|
|
||
|
- name: setup snapshot policy absent
|
||
|
cs_snapshot_policy:
|
||
|
vm: "{{ cs_resource_prefix }}-vm-snapshot-policy"
|
||
|
interval_type: hourly
|
||
|
state: absent
|
||
|
register: snapshot
|
||
|
- name: verify setup snapshot policy absent
|
||
|
assert:
|
||
|
that:
|
||
|
- snapshot|success
|
||
|
|
||
|
- name: create snapshot policy in check mode
|
||
|
cs_snapshot_policy:
|
||
|
vm: "{{ cs_resource_prefix }}-vm-snapshot-policy"
|
||
|
interval_type: hourly
|
||
|
schedule: 5
|
||
|
check_mode: true
|
||
|
register: snapshot
|
||
|
- name: verify create snapshot policy in check mode
|
||
|
assert:
|
||
|
that:
|
||
|
- snapshot|changed
|
||
|
|
||
|
- name: create snapshot policy
|
||
|
cs_snapshot_policy:
|
||
|
vm: "{{ cs_resource_prefix }}-vm-snapshot-policy"
|
||
|
interval_type: hourly
|
||
|
schedule: 5
|
||
|
register: snapshot
|
||
|
- name: verify create snapshot policy
|
||
|
assert:
|
||
|
that:
|
||
|
- snapshot|changed
|
||
|
- snapshot.schedule == "5"
|
||
|
- snapshot.interval_type == "hourly"
|
||
|
- snapshot.volume != ""
|
||
|
|
||
|
- name: create snapshot policy idempotence
|
||
|
cs_snapshot_policy:
|
||
|
vm: "{{ cs_resource_prefix }}-vm-snapshot-policy"
|
||
|
interval_type: hourly
|
||
|
schedule: 5
|
||
|
register: snapshot
|
||
|
- name: verify create snapshot policy idempotence
|
||
|
assert:
|
||
|
that:
|
||
|
- not snapshot|changed
|
||
|
- snapshot.schedule == "5"
|
||
|
- snapshot.interval_type == "hourly"
|
||
|
- snapshot.volume != ""
|
||
|
|
||
|
- name: update snapshot policy
|
||
|
cs_snapshot_policy:
|
||
|
vm: "{{ cs_resource_prefix }}-vm-snapshot-policy"
|
||
|
interval_type: hourly
|
||
|
schedule: 6
|
||
|
check_mode: true
|
||
|
register: snapshot
|
||
|
- name: verify update snapshot policy
|
||
|
assert:
|
||
|
that:
|
||
|
- snapshot|changed
|
||
|
- snapshot.schedule == "5"
|
||
|
- snapshot.interval_type == "hourly"
|
||
|
- snapshot.volume != ""
|
||
|
|
||
|
- name: update snapshot policy in check mode
|
||
|
cs_snapshot_policy:
|
||
|
vm: "{{ cs_resource_prefix }}-vm-snapshot-policy"
|
||
|
interval_type: hourly
|
||
|
schedule: 6
|
||
|
max_snaps: 3
|
||
|
time_zone: "Europe/Zurich"
|
||
|
check_mode: true
|
||
|
register: snapshot
|
||
|
- name: verify update snapshot policy in check mode
|
||
|
assert:
|
||
|
that:
|
||
|
- snapshot|changed
|
||
|
- snapshot.schedule == "5"
|
||
|
- snapshot.interval_type == "hourly"
|
||
|
- snapshot.volume != ""
|
||
|
- snapshot.max_snaps == 8
|
||
|
- snapshot.time_zone == "UTC"
|
||
|
|
||
|
- name: update snapshot policy
|
||
|
cs_snapshot_policy:
|
||
|
vm: "{{ cs_resource_prefix }}-vm-snapshot-policy"
|
||
|
interval_type: hourly
|
||
|
schedule: 6
|
||
|
max_snaps: 3
|
||
|
time_zone: "Europe/Zurich"
|
||
|
register: snapshot
|
||
|
- name: verify update snapshot policy
|
||
|
assert:
|
||
|
that:
|
||
|
- snapshot|changed
|
||
|
- snapshot.schedule == "6"
|
||
|
- snapshot.interval_type == "hourly"
|
||
|
- snapshot.volume != ""
|
||
|
- snapshot.max_snaps == 3
|
||
|
- snapshot.time_zone == "Europe/Zurich"
|
||
|
|
||
|
- name: update snapshot policy idempotence
|
||
|
cs_snapshot_policy:
|
||
|
vm: "{{ cs_resource_prefix }}-vm-snapshot-policy"
|
||
|
interval_type: hourly
|
||
|
schedule: 6
|
||
|
max_snaps: 3
|
||
|
time_zone: "Europe/Zurich"
|
||
|
register: snapshot
|
||
|
- name: verify update snapshot policy idempotence
|
||
|
assert:
|
||
|
that:
|
||
|
- not snapshot|changed
|
||
|
- snapshot.schedule == "6"
|
||
|
- snapshot.interval_type == "hourly"
|
||
|
- snapshot.volume != ""
|
||
|
- snapshot.max_snaps == 3
|
||
|
- snapshot.time_zone == "Europe/Zurich"
|
||
|
|
||
|
- name: remove snapshot policy in check mode
|
||
|
cs_snapshot_policy:
|
||
|
vm: "{{ cs_resource_prefix }}-vm-snapshot-policy"
|
||
|
interval_type: hourly
|
||
|
state: absent
|
||
|
check_mode: true
|
||
|
register: snapshot
|
||
|
- name: verify remove snapshot policy in check mode
|
||
|
assert:
|
||
|
that:
|
||
|
- snapshot|changed
|
||
|
- snapshot.schedule == "6"
|
||
|
- snapshot.interval_type == "hourly"
|
||
|
- snapshot.volume != ""
|
||
|
- snapshot.max_snaps == 3
|
||
|
- snapshot.time_zone == "Europe/Zurich"
|
||
|
|
||
|
- name: remove snapshot policy
|
||
|
cs_snapshot_policy:
|
||
|
vm: "{{ cs_resource_prefix }}-vm-snapshot-policy"
|
||
|
interval_type: hourly
|
||
|
state: absent
|
||
|
register: snapshot
|
||
|
- name: verify remove snapshot policy
|
||
|
assert:
|
||
|
that:
|
||
|
- snapshot|changed
|
||
|
- snapshot.schedule == "6"
|
||
|
- snapshot.interval_type == "hourly"
|
||
|
- snapshot.volume != ""
|
||
|
- snapshot.max_snaps == 3
|
||
|
- snapshot.time_zone == "Europe/Zurich"
|
||
|
|
||
|
- name: remove snapshot policy idempotence
|
||
|
cs_snapshot_policy:
|
||
|
vm: "{{ cs_resource_prefix }}-vm-snapshot-policy"
|
||
|
interval_type: hourly
|
||
|
state: absent
|
||
|
register: snapshot
|
||
|
- name: verify remove snapshot policy idempotence
|
||
|
assert:
|
||
|
that:
|
||
|
- not snapshot|changed
|