Skip to content

Commit

Permalink
add router
Browse files Browse the repository at this point in the history
  • Loading branch information
resmo committed Nov 25, 2024
1 parent ae8a023 commit 158a393
Show file tree
Hide file tree
Showing 3 changed files with 188 additions and 0 deletions.
3 changes: 3 additions & 0 deletions tests/integration/targets/router/aliases
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
cloud/cs
cs/group2
cs/group3
3 changes: 3 additions & 0 deletions tests/integration/targets/router/meta/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
dependencies:
- cs_common
182 changes: 182 additions & 0 deletions tests/integration/targets/router/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
---
- name: setup network
ngine_io.cloudstack.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.name == "net_router"

- name: setup instance
ngine_io.cloudstack.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 is successful
- instance.name == "instance-vm"
- instance.state == "Running"

- name: setup instance starts a router
ngine_io.cloudstack.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 is successful
- instance.name == "instance-vm"
- instance.state == "Running"

- name: setup find the routers name
shell: cs listRouters listall=true networkid="{{ net.id }}" zone="{{ cs_common_zone_adv }}"
args:
chdir: "{{ playbook_dir }}"
register: router

- debug:
var: router.stdout

- set_fact:
router_json: "{{ router.stdout | from_json }}"

- set_fact:
router_name: "{{ router_json.router[0].name }}"

- name: test router started
ngine_io.cloudstack.router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: started
register: router
- name: verify test router started
assert:
that:
- router is successful

- name: test stop router in check mode
ngine_io.cloudstack.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 is changed
- router.state == "Running"
- router.service_offering == "System Offering For Software Router"

- name: test stop router
ngine_io.cloudstack.router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: stopped
register: router
- name: verify test stop router
assert:
that:
- router is changed
- router.state == "Stopped"
- router.service_offering == "System Offering For Software Router"

- name: test stop router idempotence
ngine_io.cloudstack.router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: stopped
register: router
- name: verify test stop router idempotence
assert:
that:
- router is not changed
- router.state == "Stopped"
- router.service_offering == "System Offering For Software Router"

- name: test start router in check mode
ngine_io.cloudstack.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 is changed
- router.state == "Stopped"
- router.service_offering == "System Offering For Software Router"

- name: test start router
ngine_io.cloudstack.router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: started
register: router
- name: verify test start router
assert:
that:
- router is changed
- router.state == "Running"
- router.service_offering == "System Offering For Software Router"

- name: test start router idempotence
ngine_io.cloudstack.router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: started
register: router
- name: verify test start router idempotence
assert:
that:
- router is not changed
- router.state == "Running"
- router.service_offering == "System Offering For Software Router"

- name: test restart router in check mode
ngine_io.cloudstack.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 is changed
- router.state == "Running"
- router.service_offering == "System Offering For Software Router"

- name: test restart router
ngine_io.cloudstack.router:
name: "{{ router_name }}"
zone: "{{ cs_common_zone_adv }}"
state: restarted
register: router
- name: verify test restart router
assert:
that:
- router is changed
- router.state == "Running"
- router.service_offering == "System Offering For Software Router"

0 comments on commit 158a393

Please sign in to comment.