You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/cs_router/tasks/main.yml

184 lines
4.5 KiB
YAML

---
- 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"