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 register: nm_add_tenant 41 42- name: Add tenant again (normal mode) 43 aci_rest: *tenant_present 44 register: nm_add_tenant_again 45 46- name: Verify add_tenant 47 assert: 48 that: 49 - nm_add_tenant is changed 50 - nm_add_tenant_again is not changed 51 52# CHANGE TENANT 53- name: Change description of tenant (normal mode) 54 aci_rest: &tenant_changed 55 host: '{{ aci_hostname }}' 56 username: '{{ aci_username }}' 57 password: '{{ aci_password }}' 58 validate_certs: '{{ aci_validate_certs | default(false) }}' 59 use_ssl: '{{ aci_use_ssl | default(true) }}' 60 use_proxy: '{{ aci_use_proxy | default(true) }}' 61 output_level: '{{ aci_output_level | default("info") }}' 62 path: /api/mo/uni.json 63 method: post 64 content: | 65 { 66 "fvTenant": { 67 "attributes": { 68 "descr": "Ansible test tenant", 69 "name": "ansible_test" 70 } 71 } 72 } 73 register: nm_add_tenant_descr 74 75- name: Change description of tenant again (normal mode) 76 aci_rest: *tenant_changed 77 register: nm_add_tenant_descr_again 78 79- name: Verify add_tenant_descr 80 assert: 81 that: 82 - nm_add_tenant_descr is changed 83 - nm_add_tenant_descr_again is not changed 84 85# ADD TENANT AGAIN 86- name: Add tenant again with no description (normal mode) 87 aci_rest: *tenant_present 88 register: nm_add_tenant_again_no_descr 89 90- name: Verify add_tenant_again_no_descr 91 assert: 92 that: 93 - nm_add_tenant_again_no_descr is not changed 94 95# QUERY ALL TENANTS 96- name: Query all tenants (normal mode) 97 aci_rest: &tenant_query_all 98 host: '{{ aci_hostname }}' 99 username: '{{ aci_username }}' 100 password: '{{ aci_password }}' 101 validate_certs: '{{ aci_validate_certs | default(false) }}' 102 use_ssl: '{{ aci_use_ssl | default(true) }}' 103 use_proxy: '{{ aci_use_proxy | default(true) }}' 104 output_level: '{{ aci_output_level | default("info") }}' 105 path: /api/mo/uni/tn-[ansible_test].json 106 method: get 107 register: nm_query_all_tenants 108 109- name: Verify query_all_tenants 110 assert: 111 that: 112 - nm_query_all_tenants is not changed 113 114# QUERY A TENANT 115- name: Query our tenant 116 aci_rest: &tenant_query 117 host: '{{ aci_hostname }}' 118 username: '{{ aci_username }}' 119 password: '{{ aci_password }}' 120 validate_certs: '{{ aci_validate_certs | default(false) }}' 121 use_ssl: '{{ aci_use_ssl | default(true) }}' 122 use_proxy: '{{ aci_use_proxy | default(true) }}' 123 output_level: '{{ aci_output_level | default("info") }}' 124 path: /api/mo/uni/tn-[ansible_test].json 125 method: get 126 register: nm_query_tenant 127 128- name: Verify query_tenant 129 assert: 130 that: 131 - nm_query_tenant is not changed 132 133# REMOVE TENANT 134- name: Remove tenant (normal mode) 135 aci_rest: *tenant_absent 136 register: nm_remove_tenant 137 138- name: Remove tenant again (normal mode) 139 aci_rest: *tenant_absent 140 register: nm_remove_tenant_again 141 142- name: Verify remove_tenant 143 assert: 144 that: 145 - nm_remove_tenant is changed 146 - nm_remove_tenant_again is not changed 147 148# QUERY NON-EXISTING TENANT 149- name: Query non-existing tenant (normal mode) 150 aci_rest: *tenant_query 151 register: nm_query_non_tenant 152 153- name: Verify query_non_tenant 154 assert: 155 that: 156 - nm_query_non_tenant is not changed 157