# Test code for the ACI modules # Copyright: (c) 2017, Dag Wieers (@dagwieers) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # CLEAN ENVIRONMENT - name: Remove tenant aci_rest: &tenant_absent 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: '{{ aci_output_level | default("info") }}' path: /api/mo/uni/tn-[ansible_test].json method: delete # ADD TENANT - name: Add tenant (normal mode) aci_rest: &tenant_present 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: '{{ aci_output_level | default("info") }}' path: /api/mo/uni.json method: post content: | { "fvTenant": { "attributes": { "name": "ansible_test" } } } register: nm_add_tenant - name: Add tenant again (normal mode) aci_rest: *tenant_present register: nm_add_tenant_again - name: Verify add_tenant assert: that: - nm_add_tenant.changed == true - nm_add_tenant_again.changed == false # CHANGE TENANT - name: Change description of tenant (normal mode) aci_rest: &tenant_changed 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: '{{ aci_output_level | default("info") }}' path: /api/mo/uni.json method: post content: | { "fvTenant": { "attributes": { "descr": "Ansible test tenant", "name": "ansible_test" } } } register: nm_add_tenant_descr - name: Change description of tenant again (normal mode) aci_rest: *tenant_changed register: nm_add_tenant_descr_again - name: Verify add_tenant_descr assert: that: - nm_add_tenant_descr.changed == true - nm_add_tenant_descr_again.changed == false # ADD TENANT AGAIN - name: Add tenant again with no description (normal mode) aci_rest: *tenant_present register: nm_add_tenant_again_no_descr - name: Verify add_tenant_again_no_descr assert: that: - nm_add_tenant_again_no_descr.changed == false # QUERY ALL TENANTS - name: Query all tenants (normal mode) aci_rest: &tenant_query_all 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: '{{ aci_output_level | default("info") }}' path: /api/mo/uni/tn-[ansible_test].json method: get register: nm_query_all_tenants - name: Verify query_all_tenants assert: that: - nm_query_all_tenants.changed == false # QUERY A TENANT - name: Query our tenant aci_rest: &tenant_query 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: '{{ aci_output_level | default("info") }}' path: /api/mo/uni/tn-[ansible_test].json method: get register: nm_query_tenant - name: Verify query_tenant assert: that: - nm_query_tenant.changed == false # REMOVE TENANT - name: Remove tenant (normal mode) aci_rest: *tenant_absent register: nm_remove_tenant - name: Remove tenant again (normal mode) aci_rest: *tenant_absent register: nm_remove_tenant_again - name: Verify remove_tenant assert: that: - nm_remove_tenant.changed == true - nm_remove_tenant_again.changed == false # QUERY NON-EXISTING TENANT - name: Query non-existing tenant (normal mode) aci_rest: *tenant_query register: nm_query_non_tenant - name: Verify query_non_tenant assert: that: - nm_query_non_tenant.changed == false