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