|
|
|
---
|
|
|
|
- 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 is successful
|
|
|
|
- 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 is successful
|
|
|
|
- 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 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
|
|
|
|
cs_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
|
|
|
|
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 is 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 is 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:
|
|
|
|
- router is not 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 is 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 is 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:
|
|
|
|
- router is not 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 is 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 is changed
|
|
|
|
- router.state == "Running"
|
|
|
|
- router.service_offering == "System Offering For Software Router"
|