--- # Create a new zone - the default one is enabled - name: assure zone for tests cs_zone: name: cs-test-zone state: present dns1: 8.8.8.8 network_type: Advanced register: cszone - name: ensure the zone is disabled cs_zone: name: "{{ cszone.name }}" state: disabled register: cszone - name: setup a network in check_mode cs_physical_network: name: net01 zone: "{{ cszone.name }}" isolation_method: VLAN broadcast_domain_range: ZONE check_mode: yes register: pn - name: validate setup a network assert: that: - pn is successful - pn is changed - pn.zone == cszone.name - name: setup a network cs_physical_network: name: net01 zone: "{{ cszone.name }}" isolation_method: VLAN broadcast_domain_range: ZONE register: pn - name: validate setup a network assert: that: - pn is successful - pn is changed - pn.name == 'net01' - pn.broadcast_domain_range == 'ZONE' - pn.isolation_method == 'VLAN' - pn.zone == cszone.name - pn.state == 'Disabled' - name: setup a network idempotence cs_physical_network: name: net01 zone: "{{ cszone.name }}" isolation_method: VLAN broadcast_domain_range: ZONE register: pn - name: validate setup a network idempotence assert: that: - pn is successful - pn is not changed - pn.name == 'net01' - pn.broadcast_domain_range == 'ZONE' - pn.isolation_method == 'VLAN' - pn.zone == cszone.name - pn.state == 'Disabled' - name: set a tag on a network cs_physical_network: name: net01 tag: overlay zone: "{{ cszone.name }}" ignore_errors: true register: pn - name: validate set a tag on a network assert: that: - pn is successful - pn is changed - pn.name == 'net01' - pn.broadcast_domain_range == 'ZONE' - pn.isolation_method == 'VLAN' - pn.zone == cszone.name - pn.tags == 'overlay' - pn.state == 'Disabled' - name: Remove tag on a network cs_physical_network: name: net01 tag: "" zone: "{{ cszone.name }}" register: pn - name: validate remove tag on a network assert: that: - pn is successful - pn is changed - pn.name == 'net01' - pn.broadcast_domain_range == 'ZONE' - pn.isolation_method == 'VLAN' - pn.zone == cszone.name - pn.tags is undefined - pn.state == 'Disabled' - name: ensure a network is enabled with specific nsps enabled in check mode cs_physical_network: name: net01 zone: "{{ cszone.name }}" isolation_method: VLAN vlan: 100-200,300-400 broadcast_domain_range: ZONE state: enabled nsps_enabled: - virtualrouter - internallbvm - vpcvirtualrouter check_mode: yes register: pn - name: validate ensure a network is enabled with specific nsps enabled assert: that: - pn is successful - pn is changed - pn.name == 'net01' - pn.zone == cszone.name - "'internallbvm' in pn.nsps_enabled" - "'virtualrouter' in pn.nsps_enabled" - "'vpcvirtualrouter' in pn.nsps_enabled" - name: ensure a network is enabled with specific nsps enabled cs_physical_network: name: net01 zone: "{{ cszone.name }}" isolation_method: VLAN vlan: 100-200,300-400 broadcast_domain_range: ZONE state: enabled nsps_enabled: - virtualrouter - internallbvm - vpcvirtualrouter register: pn - name: validate ensure a network is enabled with specific nsps enabled assert: that: - pn is successful - pn is changed - pn.name == 'net01' - pn.broadcast_domain_range == 'ZONE' - pn.isolation_method == 'VLAN' - pn.zone == cszone.name - pn.vlan == '100-200,300-400' - pn.state == 'Enabled' - "'internallbvm' in pn.nsps_enabled" - "'virtualrouter' in pn.nsps_enabled" - "'vpcvirtualrouter' in pn.nsps_enabled" - name: ensure a network is disabled cs_physical_network: name: net01 zone: "{{ cszone.name }}" state: disabled register: pn - name: validate ensure a network is disabled assert: that: - pn is successful - pn is changed - pn.name == 'net01' - pn.broadcast_domain_range == 'ZONE' - pn.isolation_method == 'VLAN' - pn.zone == cszone.name - pn.tags is undefined - pn.state == 'Disabled' - name: ensure a network is enabled cs_physical_network: name: net01 zone: "{{ cszone.name }}" state: enabled register: pn - name: validate ensure a network is enabled assert: that: - pn is successful - pn is changed - pn.name == 'net01' - pn.broadcast_domain_range == 'ZONE' - pn.isolation_method == 'VLAN' - pn.zone == cszone.name - pn.tags is undefined - pn.state == 'Enabled' - name: ensure a network is not absent in check mode cs_physical_network: name: net01 zone: "{{ cszone.name }}" state: absent check_mode: yes register: pn - name: validate ensure a network is absent assert: that: - pn is successful - pn is changed - pn.zone == cszone.name - name: ensure a network is absent cs_physical_network: name: net01 zone: "{{ cszone.name }}" state: absent register: pn - name: validate ensure a network is absent assert: that: - pn is successful - pn is changed - pn.zone == cszone.name - pn.name == 'net01' - name: ensure a network is absent idempotence cs_physical_network: name: net01 zone: "{{ cszone.name }}" state: absent register: pn - name: validate ensure a network is absent idempotence assert: that: - pn is successful - pn is not changed - pn.zone == cszone.name - name: cleanup zone cs_zone: name: "{{ cszone.name }}" state: absent