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