cloudstack: cs_host: add integration tests
This commit is contained in:
parent
1f5839777b
commit
3fe5de907f
3 changed files with 301 additions and 0 deletions
2
test/integration/targets/cs_host/aliases
Normal file
2
test/integration/targets/cs_host/aliases
Normal file
|
@ -0,0 +1,2 @@
|
|||
cloud/cs
|
||||
posix/ci/cloud/cs
|
3
test/integration/targets/cs_host/meta/main.yml
Normal file
3
test/integration/targets/cs_host/meta/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
dependencies:
|
||||
- cs_common
|
296
test/integration/targets/cs_host/tasks/main.yml
Normal file
296
test/integration/targets/cs_host/tasks/main.yml
Normal file
|
@ -0,0 +1,296 @@
|
|||
---
|
||||
- name: test fail missing params
|
||||
cs_host:
|
||||
register: host
|
||||
ignore_errors: true
|
||||
- name: verify test fail missing url if host is not existent
|
||||
assert:
|
||||
that:
|
||||
- host|failed
|
||||
- 'host.msg == "missing required arguments: name"'
|
||||
|
||||
- name: test fail missing params if host is not existent
|
||||
cs_host:
|
||||
name: sim
|
||||
register: host
|
||||
ignore_errors: true
|
||||
- name: verify test fail missing params if host is not existent
|
||||
assert:
|
||||
that:
|
||||
- host|failed
|
||||
- 'host.msg == "missing required arguments: password,username,hypervisor,pod"'
|
||||
|
||||
- name: test create a host in check mode
|
||||
cs_host:
|
||||
name: sim
|
||||
url: "http://sim/c0-basic/h2"
|
||||
cluster: C0-basic
|
||||
pod: POD0-basic
|
||||
username: root
|
||||
password: password
|
||||
hypervisor: Simulator
|
||||
allocation_state: enabled
|
||||
host_tags:
|
||||
- perf
|
||||
- gpu
|
||||
register: host
|
||||
check_mode: true
|
||||
- name: verify test create a host in check mode
|
||||
assert:
|
||||
that:
|
||||
- host|changed
|
||||
|
||||
- name: test create a host
|
||||
cs_host:
|
||||
name: sim
|
||||
url: "http://sim/c0-basic/h2"
|
||||
cluster: C0-basic
|
||||
pod: POD0-basic
|
||||
username: root
|
||||
password: password
|
||||
hypervisor: Simulator
|
||||
allocation_state: enabled
|
||||
host_tags:
|
||||
- perf
|
||||
- gpu
|
||||
register: host
|
||||
- name: verify test create a host
|
||||
assert:
|
||||
that:
|
||||
- host|changed
|
||||
- host.cluster == 'C0-basic'
|
||||
- host.pod == 'POD0-basic'
|
||||
- host.hypervisor == 'Simulator'
|
||||
- host.allocation_state == 'enabled'
|
||||
- host.zone == 'Sandbox-simulator-basic'
|
||||
- host.state == 'Up'
|
||||
- "host.name.startswith('SimulatedAgent.')"
|
||||
- host.host_tags == ['perf', 'gpu']
|
||||
|
||||
# This is special in simulator mode, we can not predict the full hostname.
|
||||
# That is why we gather the infos from the returns and use a fact.
|
||||
- name: assume the sim would resolve to the IP address
|
||||
set_fact:
|
||||
host_hostname: "{{ host.name }}"
|
||||
host_ip_address: "{{ host.ip_address }}"
|
||||
|
||||
- name: test create a host idempotence
|
||||
cs_host:
|
||||
name: "{{ host_hostname }}"
|
||||
url: "http://sim/c0-basic/h2"
|
||||
cluster: C0-basic
|
||||
pod: POD0-basic
|
||||
username: admin
|
||||
password: password
|
||||
hypervisor: Simulator
|
||||
allocation_state: enabled
|
||||
host_tags:
|
||||
- perf
|
||||
- gpu
|
||||
register: host
|
||||
- name: verify test create a host idempotence
|
||||
assert:
|
||||
that:
|
||||
- not host|changed
|
||||
- host.cluster == 'C0-basic'
|
||||
- host.pod == 'POD0-basic'
|
||||
- host.hypervisor == 'Simulator'
|
||||
- host.allocation_state == 'enabled'
|
||||
- host.zone == 'Sandbox-simulator-basic'
|
||||
- host.state == 'Up'
|
||||
- host.name == '{{ host_hostname }}'
|
||||
- host.host_tags == ['perf', 'gpu']
|
||||
|
||||
- name: test update host in check mode
|
||||
cs_host:
|
||||
name: "{{ host_hostname }}"
|
||||
url: "http://sim/c0-basic/h2"
|
||||
cluster: C0-basic
|
||||
pod: POD0-basic
|
||||
username: admin
|
||||
password: password
|
||||
hypervisor: Simulator
|
||||
allocation_state: enabled
|
||||
host_tags:
|
||||
- perf
|
||||
- gpu
|
||||
- x2
|
||||
register: host
|
||||
check_mode: true
|
||||
- name: verify test update a host in check mode
|
||||
assert:
|
||||
that:
|
||||
- host|changed
|
||||
- host.cluster == 'C0-basic'
|
||||
- host.pod == 'POD0-basic'
|
||||
- host.hypervisor == 'Simulator'
|
||||
- host.allocation_state == 'enabled'
|
||||
- host.zone == 'Sandbox-simulator-basic'
|
||||
- host.state == 'Up'
|
||||
- host.name == '{{ host_hostname }}'
|
||||
- host.host_tags == ['perf', 'gpu']
|
||||
|
||||
- name: test update host
|
||||
cs_host:
|
||||
name: "{{ host_hostname }}"
|
||||
url: "http://sim/c0-basic/h2"
|
||||
cluster: C0-basic
|
||||
pod: POD0-basic
|
||||
username: admin
|
||||
password: password
|
||||
hypervisor: Simulator
|
||||
allocation_state: enabled
|
||||
host_tags:
|
||||
- perf
|
||||
- gpu
|
||||
- x2
|
||||
register: host
|
||||
- name: verify test update a host in check mode
|
||||
assert:
|
||||
that:
|
||||
- host|changed
|
||||
- host.cluster == 'C0-basic'
|
||||
- host.pod == 'POD0-basic'
|
||||
- host.hypervisor == 'Simulator'
|
||||
- host.allocation_state == 'enabled'
|
||||
- host.zone == 'Sandbox-simulator-basic'
|
||||
- host.state == 'Up'
|
||||
- host.name == '{{ host_hostname }}'
|
||||
- host.host_tags == ['perf', 'gpu', 'x2']
|
||||
|
||||
- name: test update host idempotence
|
||||
cs_host:
|
||||
name: "{{ host_hostname }}"
|
||||
url: "http://sim/c0-basic/h2"
|
||||
cluster: C0-basic
|
||||
pod: POD0-basic
|
||||
username: admin
|
||||
password: password
|
||||
hypervisor: Simulator
|
||||
allocation_state: enabled
|
||||
host_tags:
|
||||
- perf
|
||||
- gpu
|
||||
- x2
|
||||
register: host
|
||||
- name: verify test update a host idempotence
|
||||
assert:
|
||||
that:
|
||||
- not host|changed
|
||||
- host.cluster == 'C0-basic'
|
||||
- host.pod == 'POD0-basic'
|
||||
- host.hypervisor == 'Simulator'
|
||||
- host.allocation_state == 'enabled'
|
||||
- host.zone == 'Sandbox-simulator-basic'
|
||||
- host.state == 'Up'
|
||||
- host.name == '{{ host_hostname }}'
|
||||
- host.host_tags == ['perf', 'gpu', 'x2']
|
||||
|
||||
# FIXME: Removing by empty list seems to be an issue in the used lib cs underneath, disabled
|
||||
- name: test update host remove host_tags
|
||||
cs_host:
|
||||
name: "{{ host_hostname }}"
|
||||
url: "http://sim/c0-basic/h2"
|
||||
cluster: C0-basic
|
||||
pod: POD0-basic
|
||||
username: admin
|
||||
password: password
|
||||
hypervisor: Simulator
|
||||
allocation_state: enabled
|
||||
host_tags: []
|
||||
register: host
|
||||
when: false
|
||||
- name: verify test update host remove host_tags
|
||||
assert:
|
||||
that:
|
||||
- host|changed
|
||||
- host.host_tags|length == 0
|
||||
- host.cluster == 'C0-basic'
|
||||
- host.pod == 'POD0-basic'
|
||||
- host.hypervisor == 'Simulator'
|
||||
- host.allocation_state == 'enabled'
|
||||
- host.zone == 'Sandbox-simulator-basic'
|
||||
- host.state == 'Up'
|
||||
- host.name == '{{ host_hostname }}'
|
||||
when: false
|
||||
|
||||
# FIXME: Removing by empty list seems to be an issue in the used lib cs underneath, disabled
|
||||
- name: test update host remove host_tags idempotence
|
||||
cs_host:
|
||||
name: "{{ host_hostname }}"
|
||||
url: "http://sim/c0-basic/h2"
|
||||
cluster: C0-basic
|
||||
pod: POD0-basic
|
||||
username: admin
|
||||
password: password
|
||||
hypervisor: Simulator
|
||||
allocation_state: enabled
|
||||
host_tags: []
|
||||
register: host
|
||||
when: false
|
||||
- name: verify test update host remove host_tags idempotence
|
||||
assert:
|
||||
that:
|
||||
- not host|changed
|
||||
- len(host.host_tags) == 0
|
||||
- host.cluster == 'C0-basic'
|
||||
- host.pod == 'POD0-basic'
|
||||
- host.hypervisor == 'Simulator'
|
||||
- host.allocation_state == 'enabled'
|
||||
- host.zone == 'Sandbox-simulator-basic'
|
||||
- host.state == 'Up'
|
||||
- host.name == '{{ host_hostname }}'
|
||||
when: false
|
||||
|
||||
- name: test remove host in check mode
|
||||
cs_host:
|
||||
name: "{{ host_hostname }}"
|
||||
cluster: C0-basic
|
||||
pod: POD0-basic
|
||||
state: absent
|
||||
check_mode: true
|
||||
register: host
|
||||
- name: verify test remove a host in check mode
|
||||
assert:
|
||||
that:
|
||||
- host|changed
|
||||
- host.cluster == 'C0-basic'
|
||||
- host.pod == 'POD0-basic'
|
||||
- host.hypervisor == 'Simulator'
|
||||
- host.allocation_state == 'enabled'
|
||||
- host.zone == 'Sandbox-simulator-basic'
|
||||
- host.state == 'Up'
|
||||
- host.name == '{{ host_hostname }}'
|
||||
- host.host_tags == ['perf', 'gpu', 'x2']
|
||||
|
||||
- name: test remove host
|
||||
cs_host:
|
||||
name: "{{ host_hostname }}"
|
||||
cluster: C0-basic
|
||||
pod: POD0-basic
|
||||
state: absent
|
||||
register: host
|
||||
- name: verify test remove a host
|
||||
assert:
|
||||
that:
|
||||
- host|changed
|
||||
- host.cluster == 'C0-basic'
|
||||
- host.pod == 'POD0-basic'
|
||||
- host.hypervisor == 'Simulator'
|
||||
- host.allocation_state == 'enabled'
|
||||
- host.zone == 'Sandbox-simulator-basic'
|
||||
- host.state == 'Up'
|
||||
- host.name == '{{ host_hostname }}'
|
||||
- host.host_tags == ['perf', 'gpu', 'x2']
|
||||
|
||||
- name: test remove host idempotence
|
||||
cs_host:
|
||||
name: "{{ host_hostname }}"
|
||||
cluster: C0-basic
|
||||
pod: POD0-basic
|
||||
state: absent
|
||||
register: host
|
||||
- name: verify test remove a host idempotenc
|
||||
assert:
|
||||
that:
|
||||
- not host|changed
|
Loading…
Reference in a new issue