mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-23 13:20:23 -07:00
Initial commit
This commit is contained in:
commit
aebc1b03fd
4861 changed files with 812621 additions and 0 deletions
115
tests/integration/targets/cs_instance/tasks/absent.yml
Normal file
115
tests/integration/targets/cs_instance/tasks/absent.yml
Normal file
|
@ -0,0 +1,115 @@
|
|||
---
|
||||
- name: test destroy instance in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: absent
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify destroy instance in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.state != "Destroyed"
|
||||
|
||||
- name: test destroy instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: absent
|
||||
register: instance
|
||||
- name: verify destroy instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.state == "Destroyed"
|
||||
|
||||
- name: test destroy instance idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: absent
|
||||
register: instance
|
||||
- name: verify destroy instance idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
|
||||
- name: test recover to stopped state and update a deleted instance in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
state: stopped
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify test recover to stopped state and update a deleted instance in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
|
||||
- name: test recover to stopped state and update a deleted instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
state: stopped
|
||||
register: instance
|
||||
- name: verify test recover to stopped state and update a deleted instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.state == "Stopped"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
|
||||
- name: test recover to stopped state and update a deleted instance idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
state: stopped
|
||||
register: instance
|
||||
- name: verify test recover to stopped state and update a deleted instance idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.state == "Stopped"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
|
||||
- name: test expunge instance in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: expunged
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify test expunge instance in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.state == "Stopped"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
|
||||
- name: test expunge instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: expunged
|
||||
register: instance
|
||||
- name: verify test expunge instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.state == "Stopped"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
|
||||
- name: test expunge instance idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: expunged
|
||||
register: instance
|
||||
- name: verify test expunge instance idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
- name: test destroy instance with display_name
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: absent
|
||||
register: instance
|
||||
- name: verify destroy instance with display_name
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.state == "Destroyed"
|
||||
|
||||
- name: test destroy instance with display_name idempotence
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: absent
|
||||
register: instance
|
||||
- name: verify destroy instance with display_name idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
|
||||
- name: test recover to stopped state and update a deleted instance with display_name
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
state: stopped
|
||||
register: instance
|
||||
- name: verify test recover to stopped state and update a deleted instance with display_name
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.state == "Stopped"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
|
||||
# force expunge, only works with admin permissions
|
||||
- cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: expunged
|
||||
failed_when: false
|
30
tests/integration/targets/cs_instance/tasks/cleanup.yml
Normal file
30
tests/integration/targets/cs_instance/tasks/cleanup.yml
Normal file
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
- name: cleanup ssh key
|
||||
cs_sshkeypair: name={{ cs_resource_prefix }}-sshkey state=absent
|
||||
register: sshkey
|
||||
- name: verify cleanup ssh key
|
||||
assert:
|
||||
that:
|
||||
- sshkey is successful
|
||||
|
||||
- name: cleanup affinity group
|
||||
cs_affinitygroup: name={{ cs_resource_prefix }}-ag state=absent
|
||||
register: ag
|
||||
until: ag is successful
|
||||
retries: 20
|
||||
delay: 5
|
||||
- name: verify cleanup affinity group
|
||||
assert:
|
||||
that:
|
||||
- ag is successful
|
||||
|
||||
- name: cleanup security group ...take a while unless instance is expunged
|
||||
cs_securitygroup: name={{ cs_resource_prefix }}-sg state=absent
|
||||
register: sg
|
||||
until: sg is successful
|
||||
retries: 100
|
||||
delay: 10
|
||||
- name: verify cleanup security group
|
||||
assert:
|
||||
that:
|
||||
- sg is successful
|
135
tests/integration/targets/cs_instance/tasks/host.yml
Normal file
135
tests/integration/targets/cs_instance/tasks/host.yml
Normal file
|
@ -0,0 +1,135 @@
|
|||
---
|
||||
- name: setup ensure running instance to get host infos
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
state: started
|
||||
register: running_instance
|
||||
|
||||
- name: setup ensure stopped instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: stopped
|
||||
|
||||
- name: setup zone facts
|
||||
cs_zone_info:
|
||||
name: "{{ cs_common_zone_basic }}"
|
||||
register: zone_info
|
||||
|
||||
- name: setup find the host name
|
||||
shell: cs listHosts type=routing zoneid="{{ zone_info.zones[0].id }}"
|
||||
args:
|
||||
chdir: "{{ playbook_dir }}"
|
||||
register: host
|
||||
|
||||
- name: host convert from json
|
||||
set_fact:
|
||||
host_json: "{{ host.stdout | from_json }}"
|
||||
|
||||
- name: select a host on which the instance was not running on
|
||||
set_fact:
|
||||
host: "{{ host_json | json_query('host[?name!=`' + running_instance.host + '`] | [0]') }}"
|
||||
|
||||
- debug:
|
||||
msg: "from current host {{ running_instance.host }} to new host {{ host.name }}"
|
||||
|
||||
- name: test starting instance on new host in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
host: "{{ host.name }}"
|
||||
state: started
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify test starting instance on new host in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.host is not defined
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test starting instance on new host
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
host: "{{ host.name }}"
|
||||
state: started
|
||||
register: instance
|
||||
- name: verify test starting instance on new host
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.host == "{{ host.name }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test starting instance on new host idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
host: "{{ host.name }}"
|
||||
state: started
|
||||
register: instance
|
||||
- name: verify test starting instance on new host idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.host == "{{ host.name }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: select a host on which the instance is not running on
|
||||
set_fact:
|
||||
host: "{{ host_json | json_query('host[?name!=`' + instance.host + '`] | [0]') }}"
|
||||
|
||||
- debug:
|
||||
msg: "from current host {{ instance.host }} to new host {{ host.name }}"
|
||||
|
||||
- name: test force update running instance in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
host: "{{ host.name }}"
|
||||
force: true
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify force update running instance in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.host != "{{ host.name }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test force update running instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
host: "{{ host.name }}"
|
||||
force: true
|
||||
register: instance
|
||||
- name: verify force update running instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.host == "{{ host.name }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test force update running instance idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
host: "{{ host.name }}"
|
||||
force: true
|
||||
register: instance
|
||||
- name: verify force update running instance idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.host == "{{ host.name }}"
|
||||
- instance.state == "Running"
|
19
tests/integration/targets/cs_instance/tasks/main.yml
Normal file
19
tests/integration/targets/cs_instance/tasks/main.yml
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
- include_tasks: setup.yml
|
||||
|
||||
- include_tasks: present.yml
|
||||
- include_tasks: tags.yml
|
||||
- include_tasks: absent.yml
|
||||
|
||||
- include_tasks: present_display_name.yml
|
||||
- include_tasks: absent_display_name.yml
|
||||
|
||||
# TODO: These tests randomly fail in all kinds of unexpected states.
|
||||
# This needs to be verified by the cloudstack community.
|
||||
# - include_tasks: host.yml
|
||||
|
||||
- include_tasks: sshkeys.yml
|
||||
|
||||
- include_tasks: project.yml
|
||||
|
||||
- include_tasks: cleanup.yml
|
323
tests/integration/targets/cs_instance/tasks/present.yml
Normal file
323
tests/integration/targets/cs_instance/tasks/present.yml
Normal file
|
@ -0,0 +1,323 @@
|
|||
---
|
||||
- name: setup instance to be absent
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: expunged
|
||||
register: instance
|
||||
- name: verify instance to be absent
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
|
||||
- name: test create instance in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
affinity_group: "{{ cs_resource_prefix }}-ag"
|
||||
security_group: "{{ cs_resource_prefix }}-sg"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey"
|
||||
user_data: |
|
||||
#cloud-config
|
||||
package_upgrade: true
|
||||
packages:
|
||||
- tmux
|
||||
tags: []
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify create instance in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
|
||||
- name: test create instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
affinity_group: "{{ cs_resource_prefix }}-ag"
|
||||
security_group: "{{ cs_resource_prefix }}-sg"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey"
|
||||
user_data: |
|
||||
#cloud-config
|
||||
package_upgrade: true
|
||||
packages:
|
||||
- tmux
|
||||
tags: []
|
||||
register: instance
|
||||
- name: verify create instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
- instance.ssh_key == "{{ cs_resource_prefix }}-sshkey"
|
||||
- not instance.tags
|
||||
|
||||
- name: test create instance idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
affinity_group: "{{ cs_resource_prefix }}-ag"
|
||||
security_group: "{{ cs_resource_prefix }}-sg"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey"
|
||||
user_data: |
|
||||
#cloud-config
|
||||
package_upgrade: true
|
||||
packages:
|
||||
- tmux
|
||||
tags: []
|
||||
register: instance
|
||||
- name: verify create instance idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
- instance.ssh_key == "{{ cs_resource_prefix }}-sshkey"
|
||||
- not instance.tags
|
||||
|
||||
- name: gather host infos of running instance
|
||||
cs_instance_info:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
|
||||
- name: test running instance not updated in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_2 }}"
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify running instance not updated in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test running instance not updated
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_2 }}"
|
||||
register: instance
|
||||
- name: verify running instance not updated
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test stopping instance in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: stopped
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify stopping instance in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test stopping instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: stopped
|
||||
register: instance
|
||||
- name: verify stopping instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test stopping instance idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: stopped
|
||||
register: instance
|
||||
- name: verify stopping instance idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test updating stopped instance in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
display_name: "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_2 }}"
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify updating stopped instance in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test updating stopped instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
display_name: "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_2 }}"
|
||||
register: instance
|
||||
- name: verify updating stopped instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test updating stopped instance idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
display_name: "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_2 }}"
|
||||
register: instance
|
||||
- name: verify updating stopped instance idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test starting instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: started
|
||||
register: instance
|
||||
- name: verify starting instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test starting instance idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: started
|
||||
register: instance
|
||||
- name: verify starting instance idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test force update running instance in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
force: true
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify force update running instance in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test force update running instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
force: true
|
||||
register: instance
|
||||
- name: verify force update running instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test force update running instance idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
force: true
|
||||
register: instance
|
||||
- name: verify force update running instance idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test restore instance in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
state: restored
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify restore instance in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
|
||||
- name: test restore instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
state: restored
|
||||
register: instance
|
||||
- name: verify restore instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
|
@ -0,0 +1,178 @@
|
|||
---
|
||||
- name: setup instance with display_name to be absent
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: expunged
|
||||
register: instance
|
||||
- name: verify instance with display_name to be absent
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
|
||||
- name: test create instance with display_name
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
affinity_group: "{{ cs_resource_prefix }}-ag"
|
||||
security_group: "{{ cs_resource_prefix }}-sg"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey"
|
||||
tags: []
|
||||
register: instance
|
||||
- name: verify create instance with display_name
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
- instance.ssh_key == "{{ cs_resource_prefix }}-sshkey"
|
||||
- not instance.tags
|
||||
|
||||
- name: test create instance with display_name idempotence
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
affinity_group: "{{ cs_resource_prefix }}-ag"
|
||||
security_group: "{{ cs_resource_prefix }}-sg"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey"
|
||||
tags: []
|
||||
register: instance
|
||||
- name: verify create instance with display_name idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
- instance.ssh_key == "{{ cs_resource_prefix }}-sshkey"
|
||||
- not instance.tags
|
||||
|
||||
- name: test running instance with display_name not updated
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_2 }}"
|
||||
register: instance
|
||||
- name: verify running instance with display_name not updated
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test stopping instance with display_name
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: stopped
|
||||
register: instance
|
||||
- name: verify stopping instance with display_name
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test stopping instance with display_name idempotence
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: stopped
|
||||
register: instance
|
||||
- name: verify stopping instance idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test updating stopped instance with display_name
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_2 }}"
|
||||
register: instance
|
||||
- name: verify updating stopped instance with display_name
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test starting instance with display_name
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: started
|
||||
register: instance
|
||||
- name: verify starting instance with display_name
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test starting instance with display_name idempotence
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
state: started
|
||||
register: instance
|
||||
- name: verify starting instance with display_name idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test force update running instance with display_name
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
force: true
|
||||
register: instance
|
||||
- name: verify force update running instance with display_name
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test force update running instance with display_name idempotence
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
force: true
|
||||
register: instance
|
||||
- name: verify force update running instance with display_name idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test restore instance with display_name
|
||||
cs_instance:
|
||||
display_name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
state: restored
|
||||
register: instance
|
||||
- name: verify restore instance with display_name
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
560
tests/integration/targets/cs_instance/tasks/project.yml
Normal file
560
tests/integration/targets/cs_instance/tasks/project.yml
Normal file
|
@ -0,0 +1,560 @@
|
|||
---
|
||||
- name: setup create project
|
||||
cs_project:
|
||||
name: "{{ cs_resource_prefix }}-prj"
|
||||
register: prj
|
||||
- name: verify test create project
|
||||
assert:
|
||||
that:
|
||||
- prj is successful
|
||||
|
||||
- name: setup instance in project to be absent
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: absent
|
||||
register: instance
|
||||
- name: verify instance in project to be absent
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
|
||||
- name: setup ssh key in project
|
||||
cs_sshkeypair:
|
||||
name: "{{ cs_resource_prefix }}-sshkey-prj"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
register: sshkey
|
||||
- name: verify setup ssh key in project
|
||||
assert:
|
||||
that:
|
||||
- sshkey is successful
|
||||
|
||||
- name: setup affinity group in project
|
||||
cs_affinitygroup:
|
||||
name: "{{ cs_resource_prefix }}-ag-prj"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
register: ag
|
||||
- name: verify setup affinity group in project
|
||||
assert:
|
||||
that:
|
||||
- ag is successful
|
||||
|
||||
- name: setup security group in project
|
||||
cs_securitygroup:
|
||||
name: "{{ cs_resource_prefix }}-sg-prj"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
register: sg
|
||||
- name: verify setup security group in project
|
||||
assert:
|
||||
that:
|
||||
- sg is successful
|
||||
|
||||
- name: test create instance in project in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
affinity_group: "{{ cs_resource_prefix }}-ag-prj"
|
||||
security_group: "{{ cs_resource_prefix }}-sg-prj"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey-prj"
|
||||
tags: []
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify create instance in project in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
|
||||
- name: test create instance in project
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
affinity_group: "{{ cs_resource_prefix }}-ag-prj"
|
||||
security_group: "{{ cs_resource_prefix }}-sg-prj"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey-prj"
|
||||
tags: []
|
||||
register: instance
|
||||
- name: verify create instance in project
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
- instance.ssh_key == "{{ cs_resource_prefix }}-sshkey-prj"
|
||||
- not instance.tags
|
||||
|
||||
- name: test create instance in project idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
affinity_group: "{{ cs_resource_prefix }}-ag-prj"
|
||||
security_group: "{{ cs_resource_prefix }}-sg-prj"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey-prj"
|
||||
tags: []
|
||||
register: instance
|
||||
- name: verify create instance in project idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
- instance.ssh_key == "{{ cs_resource_prefix }}-sshkey-prj"
|
||||
- not instance.tags
|
||||
|
||||
- name: test running instance in project not updated in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_2 }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify running instance in project not updated in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
|
||||
- name: test running instance in project not updated
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_2 }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
register: instance
|
||||
- name: verify running instance in project not updated
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test stopping instance in project in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: stopped
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify stopping instance in project in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test stopping instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: stopped
|
||||
register: instance
|
||||
- name: verify stopping instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test stopping instance in project idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: stopped
|
||||
register: instance
|
||||
- name: verify stopping instance in project idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test updating stopped instance in project in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
display_name: "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
service_offering: "{{ test_cs_instance_offering_2 }}"
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify updating stopped instance in project in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test updating stopped instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
display_name: "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
service_offering: "{{ test_cs_instance_offering_2 }}"
|
||||
register: instance
|
||||
- name: verify updating stopped instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test updating stopped instance in project idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
display_name: "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
service_offering: "{{ test_cs_instance_offering_2 }}"
|
||||
register: instance
|
||||
- name: verify updating stopped instance in project idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test starting instance in project in check mdoe
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: started
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify starting instance in project in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Stopped"
|
||||
|
||||
- name: test starting instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: started
|
||||
register: instance
|
||||
- name: verify starting instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test starting instance in project idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: started
|
||||
register: instance
|
||||
- name: verify starting instance in project idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test force update running instance in project in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
force: true
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify force update running instance in project in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_2 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test force update running instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
force: true
|
||||
register: instance
|
||||
- name: verify force update running instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test force update running instance in project idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
force: true
|
||||
register: instance
|
||||
- name: verify force update running instance in project idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
- instance.state == "Running"
|
||||
|
||||
- name: test restore instance in project in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: restored
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify restore instance in project in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
|
||||
- name: test restore instance in project
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: restored
|
||||
register: instance
|
||||
- name: verify restore instance in project
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.name == "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
- instance.project == "{{ cs_resource_prefix }}-prj"
|
||||
- instance.display_name == "{{ cs_resource_prefix }}-display-{{ instance_number }}"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
|
||||
- name: test destroy instance in project in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: absent
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify destroy instance in project in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.state != "Destroyed"
|
||||
|
||||
- name: test destroy instance in project
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: absent
|
||||
register: instance
|
||||
- name: verify destroy instance in project
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.state == "Destroyed"
|
||||
|
||||
- name: test destroy instance in project idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: absent
|
||||
register: instance
|
||||
- name: verify destroy instance in project idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
|
||||
- name: test recover in project to stopped state and update a deleted instance in project in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
state: stopped
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify test recover to stopped state and update a deleted instance in project in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
|
||||
- name: test recover to stopped state and update a deleted instance in project
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
state: stopped
|
||||
register: instance
|
||||
- name: verify test recover to stopped state and update a deleted instance in project
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.state == "Stopped"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
|
||||
- name: test recover to stopped state and update a deleted instance in project idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
state: stopped
|
||||
register: instance
|
||||
- name: verify test recover to stopped state and update a deleted instance in project idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.state == "Stopped"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
|
||||
- name: test expunge instance in project in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: expunged
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify test expunge instance in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.state == "Stopped"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
|
||||
- name: test expunge instance in project
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: expunged
|
||||
register: instance
|
||||
- name: verify test expunge instance in project
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.state == "Stopped"
|
||||
- instance.service_offering == "{{ test_cs_instance_offering_1 }}"
|
||||
|
||||
- name: test expunge instance in project idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: expunged
|
||||
register: instance
|
||||
- name: verify test expunge instance in project idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
|
||||
- name: cleanup ssh key in project
|
||||
cs_sshkeypair:
|
||||
name: "{{ cs_resource_prefix }}-sshkey-prj"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: absent
|
||||
register: sshkey
|
||||
- name: verify cleanup ssh key in project
|
||||
assert:
|
||||
that:
|
||||
- sshkey is successful
|
||||
|
||||
- name: cleanup affinity group in project
|
||||
cs_affinitygroup:
|
||||
name: "{{ cs_resource_prefix }}-ag-prj"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: absent
|
||||
register: ag
|
||||
until: ag is successful
|
||||
retries: 20
|
||||
delay: 5
|
||||
- name: verify cleanup affinity group in project
|
||||
assert:
|
||||
that:
|
||||
- ag is successful
|
||||
|
||||
- name: cleanup security group in project ...take a while unless instance in project is expunged
|
||||
cs_securitygroup:
|
||||
name: "{{ cs_resource_prefix }}-sg-prj"
|
||||
project: "{{ cs_resource_prefix }}-prj"
|
||||
state: absent
|
||||
register: sg
|
||||
until: sg is successful
|
||||
retries: 100
|
||||
delay: 10
|
||||
- name: verify cleanup security group in project
|
||||
assert:
|
||||
that:
|
||||
- sg is successful
|
24
tests/integration/targets/cs_instance/tasks/setup.yml
Normal file
24
tests/integration/targets/cs_instance/tasks/setup.yml
Normal file
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
- name: setup ssh key
|
||||
cs_sshkeypair: name={{ cs_resource_prefix }}-sshkey
|
||||
register: sshkey
|
||||
- name: verify setup ssh key
|
||||
assert:
|
||||
that:
|
||||
- sshkey is successful
|
||||
|
||||
- name: setup affinity group
|
||||
cs_affinitygroup: name={{ cs_resource_prefix }}-ag
|
||||
register: ag
|
||||
- name: verify setup affinity group
|
||||
assert:
|
||||
that:
|
||||
- ag is successful
|
||||
|
||||
- name: setup security group
|
||||
cs_securitygroup: name={{ cs_resource_prefix }}-sg
|
||||
register: sg
|
||||
- name: verify setup security group
|
||||
assert:
|
||||
that:
|
||||
- sg is successful
|
168
tests/integration/targets/cs_instance/tasks/sshkeys.yml
Normal file
168
tests/integration/targets/cs_instance/tasks/sshkeys.yml
Normal file
|
@ -0,0 +1,168 @@
|
|||
---
|
||||
- name: test update instance ssh key non existent
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-sshkey"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey2"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
force: true
|
||||
register: instance
|
||||
ignore_errors: true
|
||||
- name: verify update instance ssh key non existent
|
||||
assert:
|
||||
that:
|
||||
- instance is failed
|
||||
- 'instance.msg == "SSH key not found: {{ cs_resource_prefix }}-sshkey2"'
|
||||
|
||||
- name: test create instance without keypair in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-sshkey"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
check_mode: true
|
||||
register: instance
|
||||
- name: verify create instance without keypair in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
|
||||
- name: test create instance without keypair
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-sshkey"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
register: instance
|
||||
- name: verify create instance without keypair
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.ssh_key is not defined
|
||||
|
||||
- name: test create instance without keypair idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-sshkey"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
register: instance
|
||||
- name: verify create instance without keypair idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.ssh_key is not defined
|
||||
|
||||
- name: setup ssh key2
|
||||
cs_sshkeypair: name={{ cs_resource_prefix }}-sshkey2
|
||||
register: sshkey
|
||||
- name: verify setup ssh key2
|
||||
assert:
|
||||
that:
|
||||
- sshkey is successful
|
||||
|
||||
- name: test update instance ssh key2 in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-sshkey"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey2"
|
||||
force: true
|
||||
check_mode: true
|
||||
register: instance
|
||||
- name: verify update instance ssh key2 in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is changed
|
||||
- instance.ssh_key is not defined
|
||||
|
||||
- name: test update instance ssh key2
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-sshkey"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey2"
|
||||
force: true
|
||||
register: instance
|
||||
- name: verify update instance ssh key2
|
||||
assert:
|
||||
that:
|
||||
- instance is changed
|
||||
- instance.ssh_key == "{{ cs_resource_prefix }}-sshkey2"
|
||||
|
||||
- name: test update instance ssh key2 idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-sshkey"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey2"
|
||||
force: true
|
||||
register: instance
|
||||
- name: verify update instance ssh key2 idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is not changed
|
||||
- instance.ssh_key == "{{ cs_resource_prefix }}-sshkey2"
|
||||
|
||||
- name: cleanup ssh key2
|
||||
cs_sshkeypair:
|
||||
name: "{{ cs_resource_prefix }}-sshkey2"
|
||||
state: absent
|
||||
register: sshkey2
|
||||
- name: verify cleanup ssh key2
|
||||
assert:
|
||||
that:
|
||||
- sshkey2 is successful
|
||||
|
||||
- name: test update instance ssh key2 idempotence2
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-sshkey"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey2"
|
||||
force: true
|
||||
register: instance
|
||||
ignore_errors: true
|
||||
- name: verify update instance ssh key2 idempotence2
|
||||
assert:
|
||||
that:
|
||||
- instance is failed
|
||||
- 'instance.msg == "SSH key not found: {{ cs_resource_prefix }}-sshkey2"'
|
||||
|
||||
- name: test update instance ssh key in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-sshkey"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey"
|
||||
force: true
|
||||
check_mode: true
|
||||
register: instance
|
||||
- name: verify update instance ssh key in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is changed
|
||||
- instance.ssh_key is not defined
|
||||
|
||||
- name: test update instance ssh key
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-sshkey"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey"
|
||||
force: true
|
||||
register: instance
|
||||
- name: verify update instance ssh key
|
||||
assert:
|
||||
that:
|
||||
- instance is changed
|
||||
- instance.ssh_key == "{{ cs_resource_prefix }}-sshkey"
|
||||
|
||||
- name: test update instance ssh key idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-sshkey"
|
||||
ssh_key: "{{ cs_resource_prefix }}-sshkey"
|
||||
force: true
|
||||
register: instance
|
||||
- name: verify update instance ssh key idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is not changed
|
||||
- instance.ssh_key == "{{ cs_resource_prefix }}-sshkey"
|
||||
|
||||
- name: cleanup expunge instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-sshkey"
|
||||
state: expunged
|
||||
register: instance
|
||||
- name: verify cleanup expunge instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
132
tests/integration/targets/cs_instance/tasks/tags.yml
Normal file
132
tests/integration/targets/cs_instance/tasks/tags.yml
Normal file
|
@ -0,0 +1,132 @@
|
|||
---
|
||||
- name: test add tags to instance in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
tags:
|
||||
- { key: "{{ cs_resource_prefix }}-tag1", value: "{{ cs_resource_prefix }}-value1" }
|
||||
- { key: "{{ cs_resource_prefix }}-tag2", value: "{{ cs_resource_prefix }}-value2" }
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify add tags to instance in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- not instance.tags
|
||||
|
||||
- name: test add tags to instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
template: "{{ test_cs_instance_template }}"
|
||||
service_offering: "{{ test_cs_instance_offering_1 }}"
|
||||
tags:
|
||||
- { key: "{{ cs_resource_prefix }}-tag1", value: "{{ cs_resource_prefix }}-value1" }
|
||||
- { key: "{{ cs_resource_prefix }}-tag2", value: "{{ cs_resource_prefix }}-value2" }
|
||||
register: instance
|
||||
- name: verify add tags to instance
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.tags|length == 2
|
||||
- "instance.tags[0]['key'] in [ '{{ cs_resource_prefix }}-tag2', '{{ cs_resource_prefix }}-tag1' ]"
|
||||
- "instance.tags[1]['key'] in [ '{{ cs_resource_prefix }}-tag2', '{{ cs_resource_prefix }}-tag1' ]"
|
||||
- "instance.tags[0]['value'] in [ '{{ cs_resource_prefix }}-value2', '{{ cs_resource_prefix }}-value1' ]"
|
||||
- "instance.tags[1]['value'] in [ '{{ cs_resource_prefix }}-value2', '{{ cs_resource_prefix }}-value1' ]"
|
||||
|
||||
- name: test tags to instance idempotence
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
tags:
|
||||
- { key: "{{ cs_resource_prefix }}-tag1", value: "{{ cs_resource_prefix }}-value1" }
|
||||
- { key: "{{ cs_resource_prefix }}-tag2", value: "{{ cs_resource_prefix }}-value2" }
|
||||
register: instance
|
||||
- name: verify tags to instance idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.tags|length == 2
|
||||
- "instance.tags[0]['key'] in [ '{{ cs_resource_prefix }}-tag2', '{{ cs_resource_prefix }}-tag1' ]"
|
||||
- "instance.tags[1]['key'] in [ '{{ cs_resource_prefix }}-tag2', '{{ cs_resource_prefix }}-tag1' ]"
|
||||
- "instance.tags[0]['value'] in [ '{{ cs_resource_prefix }}-value2', '{{ cs_resource_prefix }}-value1' ]"
|
||||
- "instance.tags[1]['value'] in [ '{{ cs_resource_prefix }}-value2', '{{ cs_resource_prefix }}-value1' ]"
|
||||
|
||||
- name: test change tags of instance in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
tags:
|
||||
- { key: "{{ cs_resource_prefix }}-tag2", value: "{{ cs_resource_prefix }}-value2" }
|
||||
- { key: "{{ cs_resource_prefix }}-tag3", value: "{{ cs_resource_prefix }}-value3" }
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify tags to instance idempotence in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.tags|length == 2
|
||||
- "instance.tags[0]['key'] in [ '{{ cs_resource_prefix }}-tag2', '{{ cs_resource_prefix }}-tag1' ]"
|
||||
- "instance.tags[1]['key'] in [ '{{ cs_resource_prefix }}-tag2', '{{ cs_resource_prefix }}-tag1' ]"
|
||||
- "instance.tags[0]['value'] in [ '{{ cs_resource_prefix }}-value2', '{{ cs_resource_prefix }}-value1' ]"
|
||||
- "instance.tags[1]['value'] in [ '{{ cs_resource_prefix }}-value2', '{{ cs_resource_prefix }}-value1' ]"
|
||||
|
||||
- name: test change tags of instance
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
tags:
|
||||
- { key: "{{ cs_resource_prefix }}-tag2", value: "{{ cs_resource_prefix }}-value2" }
|
||||
- { key: "{{ cs_resource_prefix }}-tag3", value: "{{ cs_resource_prefix }}-value3" }
|
||||
register: instance
|
||||
- name: verify tags to instance idempotence
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.tags|length == 2
|
||||
- "instance.tags[0]['key'] in [ '{{ cs_resource_prefix }}-tag2', '{{ cs_resource_prefix }}-tag3' ]"
|
||||
- "instance.tags[1]['key'] in [ '{{ cs_resource_prefix }}-tag2', '{{ cs_resource_prefix }}-tag3' ]"
|
||||
- "instance.tags[0]['value'] in [ '{{ cs_resource_prefix }}-value2', '{{ cs_resource_prefix }}-value3' ]"
|
||||
- "instance.tags[1]['value'] in [ '{{ cs_resource_prefix }}-value2', '{{ cs_resource_prefix }}-value3' ]"
|
||||
|
||||
- name: test not touch tags of instance if no param tags
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
register: instance
|
||||
- name: verify not touch tags of instance if no param tags
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is not changed
|
||||
- instance.tags|length == 2
|
||||
- "instance.tags[0]['key'] in [ '{{ cs_resource_prefix }}-tag2', '{{ cs_resource_prefix }}-tag3' ]"
|
||||
- "instance.tags[1]['key'] in [ '{{ cs_resource_prefix }}-tag2', '{{ cs_resource_prefix }}-tag3' ]"
|
||||
- "instance.tags[0]['value'] in [ '{{ cs_resource_prefix }}-value2', '{{ cs_resource_prefix }}-value3' ]"
|
||||
- "instance.tags[1]['value'] in [ '{{ cs_resource_prefix }}-value2', '{{ cs_resource_prefix }}-value3' ]"
|
||||
|
||||
- name: test remove tags in check mode
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
tags: []
|
||||
register: instance
|
||||
check_mode: true
|
||||
- name: verify remove tags in check mode
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.tags|length != 0
|
||||
|
||||
- name: test remove tags
|
||||
cs_instance:
|
||||
name: "{{ cs_resource_prefix }}-vm-{{ instance_number }}"
|
||||
tags: []
|
||||
register: instance
|
||||
- name: verify remove tags
|
||||
assert:
|
||||
that:
|
||||
- instance is successful
|
||||
- instance is changed
|
||||
- instance.tags|length == 0
|
Loading…
Add table
Add a link
Reference in a new issue