cloudstack: cs_router: add integration tests

This commit is contained in:
Rene Moser 2017-07-15 10:09:25 +02:00 committed by René Moser
parent 9543025b91
commit 3c99315bdd
3 changed files with 189 additions and 0 deletions

View file

@ -0,0 +1,2 @@
cloud/cs
posix/ci/cloud/cs

View file

@ -0,0 +1,3 @@
---
dependencies:
- cs_common

View file

@ -0,0 +1,184 @@
---
- name: setup network
cs_network:
name: "net_router"
zone: "{{ cs_common_zone_adv }}"
network_offering: DefaultSharedNetworkOffering
network_domain: example.com
vlan: 1234
start_ip: 10.100.12.11
end_ip: 10.100.12.250
gateway: 10.100.12.1
netmask: 255.255.255.0
register: net
- name: verify setup network
assert:
that:
- net|success
- net.name == "net_router"
- name: setup instance
cs_instance:
name: "instance-vm"
template: "{{ cs_common_template }}"
service_offering: "{{ cs_common_service_offering }}"
zone: "{{ cs_common_zone_adv }}"
network: "net_router"
state: started
register: instance
- name: verify setup instance
assert:
that:
- instance|success
- instance.name == "instance-vm"
- instance.state == "Running"
- name: setup instance starts a router
cs_instance:
name: "instance-vm"
template: "{{ cs_common_template }}"
service_offering: "{{ cs_common_service_offering }}"
zone: "{{ cs_common_zone_adv }}"
network: "net_router"
state: started
register: instance
- name: verify setup instance
assert:
that:
- instance|success
- instance.name == "instance-vm"
- instance.state == "Running"
- name: install jq
package:
name: jq
- name: setup find the routers name
shell: cs listRouters listall=true networkid="{{ net.id }}" zone="{{ cs_common_zone_adv }}" | jq ".router[].name" | tr -d '"'
args:
chdir: "{{ playbook_dir }}"
register: router
- debug:
var: router.stdout
- set_fact:
router_name: "{{ router.stdout }}"
- name: test router started
cs_router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: started
register: router
- name: verify test router started
assert:
that:
- router|success
- name: test stop router in check mode
cs_router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: stopped
check_mode: true
register: router
- name: verify test stop router in check mode
assert:
that:
- router|changed
- router.state == "Running"
- router.service_offering == "System Offering For Software Router"
- name: test stop router
cs_router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: stopped
register: router
- name: verify test stop router
assert:
that:
- router|changed
- router.state == "Stopped"
- router.service_offering == "System Offering For Software Router"
- name: test stop router idempotence
cs_router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: stopped
register: router
- name: verify test stop router idempotence
assert:
that:
- not router|changed
- router.state == "Stopped"
- router.service_offering == "System Offering For Software Router"
- name: test start router in check mode
cs_router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: started
register: router
check_mode: true
- name: verify test start router in check mode
assert:
that:
- router|changed
- router.state == "Stopped"
- router.service_offering == "System Offering For Software Router"
- name: test start router
cs_router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: started
register: router
- name: verify test start router
assert:
that:
- router|changed
- router.state == "Running"
- router.service_offering == "System Offering For Software Router"
- name: test start router idempotence
cs_router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: started
register: router
- name: verify test start router idempotence
assert:
that:
- not router|changed
- router.state == "Running"
- router.service_offering == "System Offering For Software Router"
- name: test restart router in check mode
cs_router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: restarted
register: router
check_mode: true
- name: verify test restart router in check mode
assert:
that:
- router|changed
- router.state == "Running"
- router.service_offering == "System Offering For Software Router"
- name: test restart router
cs_router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: restarted
register: router
- name: verify test restart router
assert:
that:
- router|changed
- router.state == "Running"
- router.service_offering == "System Offering For Software Router"