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_physical_network/tasks/main.yml

238 lines
5.8 KiB
YAML

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