---
- name : ensure vlan pool does not exist for tests to kick off
aci_encap_pool : &aci_pool_absent_static
host : "{{ aci_hostname }}"
username : "{{ aci_username }}"
password : "{{ aci_password }}"
validate_certs : '{{ aci_validate_certs | default(false) }}'
use_ssl : '{{ aci_use_ssl | default(true) }}'
use_proxy : '{{ aci_use_proxy | default(true) }}'
output_level : debug
state : absent
pool : anstest
pool_type : vlan
pool_allocation_mode : static
- name : ensure vlan pool does not exist for tests to kick off
aci_encap_pool : &aci_pool_absent_dynamic
<< : *aci_pool_absent_static
pool_allocation_mode : dynamic
- name : create static vlan pool - check mode works
aci_encap_pool : &aci_pool_present_static
<< : *aci_pool_absent_static
state : present
descr : Ansible Test
check_mode : yes
register : create_check_mode
- name : assertion test - present
assert :
that :
- create_check_mode.changed == true
- 'create_check_mode.sent == {"fvnsVlanInstP": {"attributes": {"allocMode": "static", "descr": "Ansible Test", "name": "anstest"}}}'
- name : create static vlan pool - creation works
aci_encap_pool :
<< : *aci_pool_present_static
register : create_static
- name : assertion test - present
assert :
that :
- create_static.changed == true
- create_static.previous == []
- create_static.sent == create_check_mode.sent
- name : create dynamic vlan pool - creation works
aci_encap_pool : &aci_pool_present_dynamic
<< : *aci_pool_absent_dynamic
state : present
descr : Ansible Test
register : create_dynamic
- name : assertion test - present
assert :
that :
- create_dynamic.changed == true
- create_dynamic.previous == []
- 'create_dynamic.sent == {"fvnsVlanInstP": {"attributes": {"allocMode": "dynamic", "descr": "Ansible Test", "name": "anstest"}}}'
- name : create static vlan pool again - idempotency works
aci_encap_pool :
<< : *aci_pool_present_static
register : idempotent_static
- name : assertion test - present
assert :
that :
- idempotent_static.changed == false
- 'idempotent_static.previous == [{"fvnsVlanInstP": {"attributes": {"allocMode": "static", "descr": "Ansible Test", "dn": "uni/infra/vlanns-[anstest]-static", "name": "anstest", "nameAlias": "", "ownerKey": "", "ownerTag": ""}}}]'
- idempotent_static.sent == {}
- name : create dynamic vlan pool again - idempotency works
aci_encap_pool :
<< : *aci_pool_present_dynamic
register : idempotent_dynamic
- name : assertion test - present
assert :
that :
- idempotent_dynamic.changed == false
- 'idempotent_dynamic.previous == [{"fvnsVlanInstP": {"attributes": {"allocMode": "dynamic", "descr": "Ansible Test", "dn": "uni/infra/vlanns-[anstest]-dynamic", "name": "anstest", "nameAlias": "", "ownerKey": "", "ownerTag": ""}}}]'
- idempotent_dynamic.sent == {}
- name : update static vlan pool - update works
aci_encap_pool :
<< : *aci_pool_present_static
descr : Ansible Test Change
register : update_static
- name : assertion test - present
assert :
that :
- update_static.changed == true
- 'update_static.sent == {"fvnsVlanInstP": {"attributes": {"descr": "Ansible Test Change"}}}'
- name : update dynamic vlan pool - update works
aci_encap_pool :
<< : *aci_pool_present_dynamic
descr : Ansible Test Change
register : update_dynamic
- name : assertion test - present
assert :
that :
- update_dynamic.changed == true
- 'update_dynamic.sent == {"fvnsVlanInstP": {"attributes": {"descr": "Ansible Test Change"}}}'
- name : missing param - failure message works
aci_encap_pool :
<< : *aci_pool_present_dynamic
pool_allocation_mode : "{{ fake_var | default(omit) }}"
ignore_errors : yes
register : vlan_alloc_fail
- name : assertion test - present
assert :
that :
- vlan_alloc_fail.failed == true
- "vlan_alloc_fail.msg == 'ACI requires parameter \\'pool_allocation_mode\\' for \\'pool_type\\' of \\'vlan\\' and \\'vsan\\' when parameter \\'pool\\' is provided'"
- name : missing param - failure message works
aci_encap_pool :
<< : *aci_pool_present_dynamic
pool : "{{ fake_var | default(omit) }}"
ignore_errors : yes
register : vlan_pool_fail
- name : assertion test - present
assert :
that :
- vlan_pool_fail.failed == true
- 'vlan_pool_fail.msg == "state is present but all of the following are missing: pool"'
- name : missing param - failure message works
aci_encap_pool :
<< : *aci_pool_present_dynamic
pool_type : "{{ fake_var | default(omit) }}"
ignore_errors : yes
register : vlan_pool_type_fail
- name : assertion test - present
assert :
that :
- vlan_pool_type_fail.failed == true
- 'vlan_pool_type_fail.msg == "missing required arguments: pool_type"'
- name : get all vlan pools - get class works
aci_encap_pool :
<< : *aci_pool_absent_static
state : query
pool : "{{ fake_var | default(omit) }}"
pool_allocation_mode : "{{ fake_var | default(omit) }}"
register : get_all_pools
- name : assertion test - query
assert :
that :
- get_all_pools.changed == false
- get_all_pools.method == "GET"
- get_all_pools.current | length > 1
- name : get created static vlan pool - get mo works
aci_encap_pool :
<< : *aci_pool_absent_static
state : query
register : get_static_pool
- name : assertion test - query
assert :
that :
- get_static_pool.changed == false
- get_static_pool.method == "GET"
- get_static_pool.current | length == 1
- get_static_pool.current.0.fvnsVlanInstP.attributes.allocMode == "static"
- get_static_pool.current.0.fvnsVlanInstP.attributes.name == "anstest"
- name : get created dynamic vlan pool - get mo works
aci_encap_pool :
<< : *aci_pool_absent_dynamic
state : query
register : get_dynamic_pool
- name : assertion test - query
assert :
that :
- get_dynamic_pool.changed == false
- get_dynamic_pool.method == "GET"
- get_dynamic_pool.current | length == 1
- get_dynamic_pool.current.0.fvnsVlanInstP.attributes.allocMode == "dynamic"
- get_dynamic_pool.current.0.fvnsVlanInstP.attributes.name == "anstest"
- name : get created dynamic vlan pool - get mo works
aci_encap_pool :
<< : *aci_pool_absent_dynamic
state : query
pool_type : "{{ fake_var | default(omit) }}"
ignore_errors : yes
register : vlan_query_pool_type_fail
- name : assertion test - query
assert :
that :
- vlan_query_pool_type_fail.failed == true
- 'vlan_query_pool_type_fail.msg == "missing required arguments: pool_type"'
- name : delete static vlan pool - deletion works
aci_encap_pool :
<< : *aci_pool_absent_static
register : delete_static
- name : assertion test - absent
assert :
that :
- delete_static.changed == true
- delete_static.method == "DELETE"
- delete_static.previous.0.fvnsVlanInstP.attributes.allocMode == "static"
- delete_static.previous.0.fvnsVlanInstP.attributes.name == "anstest"
- name : delete dynamic vlan pool - check mode works
aci_encap_pool :
<< : *aci_pool_absent_dynamic
check_mode : yes
register : delete_check_mode
- name : assertion test - absent
assert :
that :
- delete_check_mode.changed == true
- name : delete dynamic vlan pool - deletion works
aci_encap_pool :
<< : *aci_pool_absent_dynamic
register : delete_dynamic
- name : assertion test - absent
assert :
that :
- delete_dynamic.changed == true
- delete_dynamic.method == "DELETE"
- delete_dynamic.previous.0.fvnsVlanInstP.attributes.allocMode == "dynamic"
- delete_dynamic.previous.0.fvnsVlanInstP.attributes.name == "anstest"
- name : delete static vlan pool again - idempotency works
aci_encap_pool :
<< : *aci_pool_absent_static
register : idempotent_delete_static
- name : assertion test - absent
assert :
that :
- idempotent_delete_static.changed == false
- idempotent_delete_static.previous == []
- name : delete dynamic vlan pool again - idempotency works
aci_encap_pool :
<< : *aci_pool_absent_dynamic
register : idempotent_delete_dynamic
- name : assertion test - absent
assert :
that :
- idempotent_delete_dynamic.changed == false
- idempotent_delete_dynamic.previous == []