1# Test code for the ACI modules 2# Copyright: (c) 2017, Dag Wieers (@dagwieers) <dag@wieers.com> 3 4# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) 5 6 7# CLEAN ENVIRONMENT 8- name: Remove tenant 9 aci_rest: &tenant_absent 10 host: '{{ aci_hostname }}' 11 username: '{{ aci_username }}' 12 password: '{{ aci_password }}' 13 validate_certs: '{{ aci_validate_certs | default(false) }}' 14 use_ssl: '{{ aci_use_ssl | default(true) }}' 15 use_proxy: '{{ aci_use_proxy | default(true) }}' 16 output_level: '{{ aci_output_level | default("info") }}' 17 path: /api/mo/uni/tn-[ansible_test].json 18 method: delete 19 20# ADD TENANT 21- name: Add tenant (normal mode) 22 aci_rest: &tenant_present 23 host: '{{ aci_hostname }}' 24 username: '{{ aci_username }}' 25 password: '{{ aci_password }}' 26 validate_certs: '{{ aci_validate_certs | default(false) }}' 27 use_ssl: '{{ aci_use_ssl | default(true) }}' 28 use_proxy: '{{ aci_use_proxy | default(true) }}' 29 output_level: '{{ aci_output_level | default("info") }}' 30 path: /api/mo/uni.json 31 method: post 32 content: 33 { 34 "fvTenant": { 35 "attributes": { 36 "name": "ansible_test" 37 } 38 } 39 } 40 delegate_to: localhost 41 register: nm_add_tenant 42 43- name: Add tenant again (normal mode) 44 aci_rest: *tenant_present 45 delegate_to: localhost 46 register: nm_add_tenant_again 47 48- name: Verify add_tenant 49 assert: 50 that: 51 - nm_add_tenant is changed 52 - nm_add_tenant_again is not changed 53 54# CHANGE TENANT 55- name: Change description of tenant (normal mode) 56 aci_rest: &tenant_changed 57 host: '{{ aci_hostname }}' 58 username: '{{ aci_username }}' 59 password: '{{ aci_password }}' 60 validate_certs: '{{ aci_validate_certs | default(false) }}' 61 use_ssl: '{{ aci_use_ssl | default(true) }}' 62 use_proxy: '{{ aci_use_proxy | default(true) }}' 63 output_level: '{{ aci_output_level | default("info") }}' 64 path: /api/mo/uni.json 65 method: post 66 content: 67 { 68 "fvTenant": { 69 "attributes": { 70 "descr": "Ansible test tenant", 71 "name": "ansible_test" 72 } 73 } 74 } 75 delegate_to: localhost 76 register: nm_add_tenant_descr 77 78- name: Change description of tenant again (normal mode) 79 aci_rest: *tenant_changed 80 delegate_to: localhost 81 register: nm_add_tenant_descr_again 82 83- name: Verify add_tenant_descr 84 assert: 85 that: 86 - nm_add_tenant_descr is changed 87 - nm_add_tenant_descr_again is not changed 88 89# ADD TENANT AGAIN 90- name: Add tenant again with no description (normal mode) 91 aci_rest: *tenant_present 92 delegate_to: localhost 93 register: nm_add_tenant_again_no_descr 94 95- name: Verify add_tenant_again_no_descr 96 assert: 97 that: 98 - nm_add_tenant_again_no_descr is not changed 99 100# QUERY ALL TENANTS 101- name: Query all tenants (normal mode) 102 aci_rest: &tenant_query_all 103 host: '{{ aci_hostname }}' 104 username: '{{ aci_username }}' 105 password: '{{ aci_password }}' 106 validate_certs: '{{ aci_validate_certs | default(false) }}' 107 use_ssl: '{{ aci_use_ssl | default(true) }}' 108 use_proxy: '{{ aci_use_proxy | default(true) }}' 109 output_level: '{{ aci_output_level | default("info") }}' 110 path: /api/mo/uni/tn-[ansible_test].json 111 method: get 112 delegate_to: localhost 113 register: nm_query_all_tenants 114 115- name: Verify query_all_tenants 116 assert: 117 that: 118 - nm_query_all_tenants is not changed 119 120# QUERY A TENANT 121- name: Query our tenant 122 aci_rest: &tenant_query 123 host: '{{ aci_hostname }}' 124 username: '{{ aci_username }}' 125 password: '{{ aci_password }}' 126 validate_certs: '{{ aci_validate_certs | default(false) }}' 127 use_ssl: '{{ aci_use_ssl | default(true) }}' 128 use_proxy: '{{ aci_use_proxy | default(true) }}' 129 output_level: '{{ aci_output_level | default("info") }}' 130 path: /api/mo/uni/tn-[ansible_test].json 131 method: get 132 delegate_to: localhost 133 register: nm_query_tenant 134 135- name: Verify query_tenant 136 assert: 137 that: 138 - nm_query_tenant is not changed 139 140# REMOVE TENANT 141- name: Remove tenant (normal mode) 142 aci_rest: *tenant_absent 143 delegate_to: localhost 144 register: nm_remove_tenant 145 146- name: Remove tenant again (normal mode) 147 aci_rest: *tenant_absent 148 delegate_to: localhost 149 register: nm_remove_tenant_again 150 151- name: Verify remove_tenant 152 assert: 153 that: 154 - nm_remove_tenant is changed 155 - nm_remove_tenant_again is not changed 156 157# QUERY NON-EXISTING TENANT 158- name: Query non-existing tenant (normal mode) 159 aci_rest: *tenant_query 160 delegate_to: localhost 161 register: nm_query_non_tenant 162 163- name: Verify query_non_tenant 164 assert: 165 that: 166 - nm_query_non_tenant is not changed 167