diff --git a/playbooks/roles/dcnm_fabric/dcnm_tests.yaml b/playbooks/roles/dcnm_fabric/dcnm_tests.yaml index a944d71ab..693bd8ba0 100644 --- a/playbooks/roles/dcnm_fabric/dcnm_tests.yaml +++ b/playbooks/roles/dcnm_fabric/dcnm_tests.yaml @@ -39,16 +39,24 @@ # testcase: dcnm_fabric_replaced_save_deploy # testcase: dcnm_fabric_replaced_save_deploy_ipfm # testcase: dcnm_fabric_query_basic.yaml - fabric_name_1: VXLAN_EVPN_Fabric - fabric_type_1: VXLAN_EVPN - fabric_name_2: VXLAN_EVPN_MSD_Fabric - fabric_type_2: VXLAN_EVPN_MSD - fabric_name_3: LAN_CLASSIC_Fabric - fabric_type_3: LAN_CLASSIC - fabric_name_4: IPFM_Fabric - fabric_type_4: IPFM - fabric_name_5: ISN_Fabric - fabric_type_5: ISN + fabric_name_00: VXLAN_EVPN + fabric_type_00: VXLAN_EVPN + fabric_name_10: LAN_CLASSIC + fabric_type_10: LAN_CLASSIC + fabric_name_20: BGP + fabric_type_20: BGP + fabric_name_30: ISN + fabric_type_30: ISN + fabric_name_40: IPFM + fabric_type_40: IPFM + fabric_name_50: AI + fabric_type_50: AI + fabric_name_100: MSD + fabric_type_100: VXLAN_EVPN_MSD + fabric_name_110: MCFG + fabric_type_110: MCFG + fabric_name_120: FG + fabric_type_120: FG leaf_1: 172.22.150.103 leaf_2: 172.22.150.104 nxos_username: admin diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic.yaml index df600cb30..1da61ded3 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic.yaml @@ -15,28 +15,28 @@ # SETUP # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_1 -# - fabric_type_1 # VXLAN_EVPN -# - fabric_name_2 -# - fabric_type_2 # VXLAN_EVPN_MSD -# - fabric_name_3 -# - fabric_type_3 # LAN_CLASSIC -# - fabric_name_5 -# - fabric_type_5 # ISN +# - fabric_name_00 +# - fabric_type_00 # VXLAN_EVPN +# - fabric_name_30 +# - fabric_type_30 # ISN +# - fabric_name_100 +# - fabric_type_100 # VXLAN_EVPN_MSD +# - fabric_name_10 +# - fabric_type_10 # LAN_CLASSIC # 2. Delete fabrics under test, if they exist -# - fabric_name_1 -# - fabric_name_2 -# - fabric_name_3 -# - fabric_name_5 +# - fabric_name_00 +# - fabric_name_30 +# - fabric_name_100 +# - fabric_name_10 # TEST # 3. Create fabrics and verify result -# - fabric_name_1 -# - fabric_name_2 -# - fabric_name_3 -# - fabric_name_5 -# 4. Delete fabric_name_1 and fabric_name_2. Verify result -# 5. Delete fabric_name_3 and fabric_name_5. Verify result -# 6. Delete fabric_name_3 and fabric_name_5 again to verify idempotence. +# - fabric_name_00 +# - fabric_name_10 +# - fabric_name_30 +# - fabric_name_100 +# 4. Delete fabric_name_00 and fabric_name_100. Verify result +# 5. Delete fabric_name_10 and fabric_name_30. Verify result +# 6. Delete fabric_name_10 and fabric_name_30 again to verify idempotence. # CLEANUP # 7. No cleanup required ################################################################################ @@ -53,14 +53,14 @@ # # vars: # testcase: dcnm_fabric_deleted_basic -# fabric_name_1: VXLAN_EVPN_Fabric -# fabric_type_1: VXLAN_EVPN -# fabric_name_2: VXLAN_EVPN_MSD_Fabric -# fabric_type_2: VXLAN_EVPN_MSD -# fabric_name_3: LAN_CLASSIC_Fabric -# fabric_type_3: LAN_CLASSIC -# fabric_name_5: ISN_Fabric -# fabric_type_5: ISN +# fabric_name_00: VXLAN_EVPN +# fabric_type_00: VXLAN_EVPN +# fabric_name_10: LAN_CLASSIC +# fabric_type_10: LAN_CLASSIC +# fabric_name_30: ISN +# fabric_type_30: ISN +# fabric_name_100: MSD +# fabric_type_100: VXLAN_EVPN_MSD ################################################################################ # SETUP ################################################################################ @@ -68,10 +68,10 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_2 }}" - - FABRIC_NAME: "{{ fabric_name_3 }}" - - FABRIC_NAME: "{{ fabric_name_5 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" register: result - debug: var: result @@ -87,16 +87,16 @@ # "diff": [ # { # "BGP_AS": "65535.65534", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "sequence_number": 2 # }, # { # "BOOTSTRAP_ENABLE": false, -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": false, # "sequence_number": 3 # } @@ -127,24 +127,24 @@ # "DATA": { # "nvPairs": { # "BGP_AS": "65535.65534", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric" +# "FABRIC_NAME": "VXLAN_EVPN" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { # "DATA": { # "nvPairs": { -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_MSD_Fabric/MSD_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/MSD/MSD_Fabric", # "RETURN_CODE": 200, # "sequence_number": 2 # }, @@ -152,13 +152,13 @@ # "DATA": { # "nvPairs": { # "BOOTSTRAP_ENABLE": "false", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": "false", # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/LAN_Classic", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/LAN_Classic", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -187,20 +187,20 @@ cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" BGP_AS: "65535.65534" DEPLOY: true - - FABRIC_NAME: "{{ fabric_name_2 }}" - FABRIC_TYPE: "{{ fabric_type_2 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + FABRIC_TYPE: "{{ fabric_type_100 }}" DEPLOY: true - - FABRIC_NAME: "{{ fabric_name_3 }}" - FABRIC_TYPE: "{{ fabric_type_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + FABRIC_TYPE: "{{ fabric_type_10 }}" BOOTSTRAP_ENABLE: false IS_READ_ONLY: false DEPLOY: true - - FABRIC_NAME: "{{ fabric_name_5 }}" - FABRIC_TYPE: "{{ fabric_type_5 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" + FABRIC_TYPE: "{{ fabric_type_30 }}" BGP_AS: "65005" DEPLOY: true register: result @@ -212,16 +212,16 @@ - result.failed == false - (result.diff | length) == 4 - result.diff[0].BGP_AS == "65535.65534" - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_2 + - result.diff[1].FABRIC_NAME == fabric_name_100 - result.diff[1].sequence_number == 2 - - result.diff[2].FABRIC_NAME == fabric_name_3 + - result.diff[2].FABRIC_NAME == fabric_name_10 - result.diff[2].sequence_number == 3 - result.diff[2].BOOTSTRAP_ENABLE == false - result.diff[2].IS_READ_ONLY == false - result.diff[3].BGP_AS == "65005" - - result.diff[3].FABRIC_NAME == fabric_name_5 + - result.diff[3].FABRIC_NAME == fabric_name_30 - result.diff[3].sequence_number == 4 - (result.metadata | length) == 4 - result.metadata[0].action == "fabric_create" @@ -272,7 +272,7 @@ - result.result[3].sequence_number == 4 ############################################################################################### -# DELETED - TEST - Delete first two fabrics (fabric_name_1, fabric_name_2) and verify +# DELETED - TEST - Delete first two fabrics (fabric_name_00, fabric_name_100) and verify ############################################################################################### # Expected result # ok: [172.22.150.244] => { @@ -280,11 +280,11 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "sequence_number": 2 # } # ], @@ -305,18 +305,18 @@ # ], # "response": [ # { -# "DATA": "Invalid JSON response: Fabric 'VXLAN_EVPN_Fabric' is deleted successfully!", +# "DATA": "Invalid JSON response: Fabric 'VXLAN_EVPN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/VXLAN_EVPN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/VXLAN_EVPN", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "DATA": "Invalid JSON response: Fabric 'VXLAN_EVPN_MSD_Fabric' is deleted successfully!", +# "DATA": "Invalid JSON response: Fabric 'MSD' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/VXLAN_EVPN_MSD_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/MSD", # "RETURN_CODE": 200, # "sequence_number": 2 # } @@ -336,12 +336,12 @@ # } # } ############################################################################################### -- name: DELETED - TEST - Delete first two fabrics (fabric_name_1, fabric_name_2) and verify +- name: DELETED - TEST - Delete first two fabrics (fabric_name_00, fabric_name_100) and verify cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_2 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" register: result - debug: var: result @@ -352,8 +352,8 @@ - result.changed == true - result.failed == false - (result.diff | length) == 2 - - result.diff[0].FABRIC_NAME == fabric_name_1 - - result.diff[1].FABRIC_NAME == fabric_name_2 + - result.diff[0].FABRIC_NAME == fabric_name_00 + - result.diff[1].FABRIC_NAME == fabric_name_100 - result.diff[0].sequence_number == 1 - result.diff[1].sequence_number == 2 - (result.metadata | length) == 2 @@ -384,7 +384,7 @@ - result.result[1].success == true - result.result[1].sequence_number == 2 ################################################################################ -# DELETED - TEST - Delete remaining fabrics (fabric_name_3, fabric_name_5) and verify +# DELETED - TEST - Delete remaining fabrics (fabric_name_10, fabric_name_30) and verify ################################################################################ # Expected result # ok: [172.22.150.244] => { @@ -392,11 +392,11 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "sequence_number": 2 # } # ], @@ -417,18 +417,18 @@ # ], # "response": [ # { -# "DATA": "Invalid JSON response: Fabric 'LAN_CLASSIC_Fabric' is deleted successfully!", +# "DATA": "Invalid JSON response: Fabric 'LAN_CLASSIC' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/LAN_CLASSIC_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/LAN_CLASSIC", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "DATA": "Invalid JSON response: Fabric 'ISN_Fabric' is deleted successfully!", +# "DATA": "Invalid JSON response: Fabric 'ISN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN", # "RETURN_CODE": 200, # "sequence_number": 2 # } @@ -448,12 +448,12 @@ # } # } ################################################################################ -- name: DELETED - TEST - Delete remaining fabrics (fabric_name_3, fabric_name_5) and verify +- name: DELETED - TEST - Delete remaining fabrics (fabric_name_10, fabric_name_30) and verify cisco.dcnm.dcnm_fabric: &fabric_deleted state: deleted config: - - FABRIC_NAME: "{{ fabric_name_3 }}" - - FABRIC_NAME: "{{ fabric_name_5 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" register: result - debug: var: result @@ -464,9 +464,9 @@ - result.changed == true - result.failed == false - (result.diff | length) == 2 - - result.diff[0].FABRIC_NAME == fabric_name_3 + - result.diff[0].FABRIC_NAME == fabric_name_10 - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_5 + - result.diff[1].FABRIC_NAME == fabric_name_30 - result.diff[1].sequence_number == 2 - (result.metadata | length) == 2 - result.metadata[0].action == "fabric_delete" @@ -496,7 +496,7 @@ - result.result[1].success == true - result.result[1].sequence_number == 2 ################################################################################ -# DELETED - TEST - Delete remaining fabrics (fabric_name_3, fabric_name_5) idempotence +# DELETED - TEST - Delete remaining fabrics (fabric_name_10, fabric_name_30) idempotence ################################################################################ # Expected result # ok: [172.22.150.244] => { @@ -533,7 +533,7 @@ # } # } ################################################################################ -- name: DELETED - TEST - Delete remaining fabrics (fabric_name_3, fabric_name_5) idempotence +- name: DELETED - TEST - Delete remaining fabrics (fabric_name_10, fabric_name_30) idempotence cisco.dcnm.dcnm_fabric: *fabric_deleted register: result - debug: diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_ipfm.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_ipfm.yaml index 2e0afbb71..1b56dda13 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_ipfm.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_ipfm.yaml @@ -15,14 +15,14 @@ # SETUP # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_4 -# - fabric_type_4 # VXLAN_EVPN_IPFM +# - fabric_name_40 +# - fabric_type_40 # IPFM # 2. Delete fabrics under test, if they exist -# - fabric_name_4 +# - fabric_name_40 # TEST # 3. Create fabrics and verify result -# - fabric_name_4 -# 4. Delete fabric_name_4. Verify result +# - fabric_name_40 +# 4. Delete fabric_name_40. Verify result # CLEANUP # 7. No cleanup required ################################################################################ @@ -39,8 +39,8 @@ # # vars: # testcase: dcnm_fabric_deleted_basic_ipfm -# fabric_name_4: IPFM_Fabric -# fabric_type_4: IPFM +# fabric_name_40: IPFM +# fabric_type_40: IPFM ################################################################################ # SETUP ################################################################################ @@ -48,7 +48,7 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" register: result - debug: var: result @@ -63,7 +63,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # } # ], @@ -80,12 +80,12 @@ # { # "DATA": { # "nvPairs": { -# "FABRIC_NAME": "IPFM_Fabric" +# "FABRIC_NAME": "IPFM" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric/Easy_Fabric_IPFM", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM/Easy_Fabric_IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -104,8 +104,8 @@ cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_4 }}" - FABRIC_TYPE: "{{ fabric_type_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" + FABRIC_TYPE: "{{ fabric_type_40 }}" DEPLOY: true register: result - debug: @@ -115,14 +115,14 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_4 + - result.diff[0].FABRIC_NAME == fabric_name_40 - (result.response | length) == 1 - result.response[0].sequence_number == 1 - result.response[0].MESSAGE == "OK" - result.response[0].METHOD == "POST" - result.response[0].RETURN_CODE == 200 ############################################################################################### -# DELETED - TEST - Delete IPFM Fabric (fabric_name_4) and verify +# DELETED - TEST - Delete IPFM Fabric (fabric_name_40) and verify ############################################################################################### # Expected result # ok: [ndfc1] => { @@ -130,7 +130,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # } # ], @@ -145,10 +145,10 @@ # ], # "response": [ # { -# "DATA": "Fabric 'IPFM_Fabric' is deleted successfully!", +# "DATA": "Fabric 'IPFM' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -163,11 +163,11 @@ # } # } ############################################################################################### -- name: DELETED - TEST - Delete IPFM fabric (fabric_name_4) and verify +- name: DELETED - TEST - Delete IPFM fabric (fabric_name_40) and verify cisco.dcnm.dcnm_fabric: &fabric_deleted state: deleted config: - - FABRIC_NAME: "{{ fabric_name_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" register: result - debug: var: result @@ -176,7 +176,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_4 + - result.diff[0].FABRIC_NAME == fabric_name_40 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete" @@ -192,7 +192,7 @@ - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# DELETED - TEST - Delete IPFM Fabric (fabric_name_4) and verify idempotence +# DELETED - TEST - Delete IPFM Fabric (fabric_name_40) and verify idempotence ################################################################################ # Expected result # ok: [ndfc1] => { @@ -229,7 +229,7 @@ # } # } ################################################################################ -- name: DELETED - TEST - Delete IPFM Fabric (fabric_name_4) and verify idempotence +- name: DELETED - TEST - Delete IPFM Fabric (fabric_name_40) and verify idempotence cisco.dcnm.dcnm_fabric: *fabric_deleted register: result - debug: diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_isn.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_isn.yaml index 4b682f237..65f2e5cdb 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_isn.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_isn.yaml @@ -15,14 +15,14 @@ # SETUP # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_5 -# - fabric_type_5 # ISN +# - fabric_name_30 +# - fabric_type_30 # ISN # 2. Delete fabrics under test, if they exist -# - fabric_name_5 +# - fabric_name_30 # TEST # 3. Create fabrics and verify result -# - fabric_name_5 -# 4. Delete fabric_name_5. Verify result +# - fabric_name_30 +# 4. Delete fabric_name_30. Verify result # CLEANUP # 7. No cleanup required ################################################################################ @@ -39,8 +39,8 @@ # # vars: # testcase: dcnm_fabric_deleted_basic_ISN -# fabric_name_5: ISN_Fabric -# fabric_type_5: ISN +# fabric_name_30: ISN +# fabric_type_30: ISN ################################################################################ # SETUP ################################################################################ @@ -48,7 +48,7 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_5 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" register: result - debug: var: result @@ -64,7 +64,7 @@ # "diff": [ # { # "BGP_AS": 65535, -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "sequence_number": 1 # } # ], @@ -82,13 +82,13 @@ # "DATA": { # "nvPairs": { # "BGP_AS": "65535", -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "FABRIC_TYPE": "External" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN_Fabric/External_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN/External_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -107,8 +107,8 @@ cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_5 }}" - FABRIC_TYPE: "{{ fabric_type_5 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" + FABRIC_TYPE: "{{ fabric_type_30 }}" BGP_AS: 65535 DEPLOY: true register: result @@ -119,9 +119,9 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_5 + - result.diff[0].FABRIC_NAME == fabric_name_30 - result.response[0].DATA.nvPairs.BGP_AS == "65535" - - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_5 + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_30 - result.response[0].DATA.nvPairs.FABRIC_TYPE == "External" - (result.response | length) == 1 - result.response[0].sequence_number == 1 @@ -129,7 +129,7 @@ - result.response[0].METHOD == "POST" - result.response[0].RETURN_CODE == 200 ############################################################################################### -# DELETED - TEST - Delete ISN Fabric (fabric_name_5) and verify +# DELETED - TEST - Delete ISN Fabric (fabric_name_30) and verify ############################################################################################### # Expected result # ok: [172.22.150.244] => { @@ -137,7 +137,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "sequence_number": 1 # } # ], @@ -152,10 +152,10 @@ # ], # "response": [ # { -# "DATA": "Invalid JSON response: Fabric 'ISN_Fabric' is deleted successfully!", +# "DATA": "Invalid JSON response: Fabric 'ISN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -170,11 +170,11 @@ # } # } ############################################################################################### -- name: DELETED - TEST - Delete ISN fabric (fabric_name_5) and verify +- name: DELETED - TEST - Delete ISN fabric (fabric_name_30) and verify cisco.dcnm.dcnm_fabric: &fabric_deleted state: deleted config: - - FABRIC_NAME: "{{ fabric_name_5 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" register: result - debug: var: result @@ -183,7 +183,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_5 + - result.diff[0].FABRIC_NAME == fabric_name_30 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete" @@ -191,7 +191,7 @@ - result.metadata[0].sequence_number == 1 - result.metadata[0].state == "deleted" - (result.response | length) == 1 - - result.response[0].DATA == "Invalid JSON response: Fabric 'ISN_Fabric' is deleted successfully!" + - "result.response[0].DATA == \"Invalid JSON response: Fabric 'ISN' is deleted successfully!\"" - result.response[0].MESSAGE == "OK" - result.response[0].METHOD == "DELETE" - result.response[0].RETURN_CODE == 200 @@ -200,7 +200,7 @@ - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# DELETED - TEST - Delete ISN Fabric (fabric_name_5) and verify idempotence +# DELETED - TEST - Delete ISN Fabric (fabric_name_30) and verify idempotence ################################################################################ # Expected result # ok: [172.22.150.244] => { @@ -237,7 +237,7 @@ # } # } ################################################################################ -- name: DELETED - TEST - Delete ISN Fabric (fabric_name_5) and verify idempotence +- name: DELETED - TEST - Delete ISN Fabric (fabric_name_30) and verify idempotence cisco.dcnm.dcnm_fabric: *fabric_deleted register: result - debug: diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_lan_classic.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_lan_classic.yaml index 00816ca31..66ee3f020 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_lan_classic.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_lan_classic.yaml @@ -2,7 +2,8 @@ # RUNTIME ################################################################################ # Recent run times (MM:SS.ms): -# 00:49.83 +# 02:22.74 (2 node vND v3.2) +# 00:49.83 (1 node vND v3.1) ################################################################################ # DESCRIPTION - BASIC FABRIC DELETED STATE TEST # @@ -15,14 +16,14 @@ # SETUP # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_3 -# - fabric_type_3 # VXLAN_EVPN_MSD +# - fabric_name_10 +# - fabric_type_10 # LAN_CLASSIC # 2. Delete fabrics under test, if they exist -# - fabric_name_3 +# - fabric_name_10 # TEST # 3. Create fabrics and verify result -# - fabric_name_3 -# 4. Delete fabric_name_3. Verify result +# - fabric_name_10 +# 4. Delete fabric_name_10. Verify result # CLEANUP # 7. No cleanup required ################################################################################ @@ -38,8 +39,8 @@ # Example vars: # vars: # testcase: dcnm_fabric_deleted_basic_lan_classic -# fabric_name_3: LAN_CLASSIC_Fabric -# fabric_type_3: LAN_CLASSIC +# fabric_name_10: LAN_CLASSIC +# fabric_type_10: LAN_CLASSIC ################################################################################ # SETUP ################################################################################ @@ -47,12 +48,12 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result ################################################################################ -# DELETED - TEST - Create fabric_name_3 and verify +# DELETED - TEST - Create fabric_name_10 and verify ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -63,7 +64,7 @@ # "diff": [ # { # "BOOTSTRAP_ENABLE": false, -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": false, # "sequence_number": 1 # } @@ -107,7 +108,7 @@ # "ENABLE_NXAPI_HTTP": "", # "EXT_FABRIC_TYPE": "", # "FABRIC_FREEFORM": "", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "FABRIC_TECHNOLOGY": "LANClassic", # "FABRIC_TYPE": "External", # "FEATURE_PTP": "false", @@ -153,7 +154,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/LAN_CLASSIC_Fabric/LAN_Classic", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/LAN_CLASSIC/LAN_Classic", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -168,12 +169,12 @@ # } # } ################################################################################ -- name: DELETED - SETUP - Create fabric_name_3 and verify +- name: DELETED - SETUP - Create {{ fabric_name_10 }} and verify cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_3 }}" - FABRIC_TYPE: "{{ fabric_type_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + FABRIC_TYPE: "{{ fabric_type_10 }}" BOOTSTRAP_ENABLE: false IS_READ_ONLY: false DEPLOY: true @@ -185,7 +186,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_3 + - result.diff[0].FABRIC_NAME == fabric_name_10 - result.diff[0].sequence_number == 1 - (result.response | length) == 1 - result.response[0].sequence_number == 1 @@ -193,7 +194,7 @@ - result.response[0].METHOD == "POST" - result.response[0].RETURN_CODE == 200 ############################################################################################### -# DELETED - TEST - Delete fabric_name_3 and verify +# DELETED - TEST - Delete fabric_name_10 and verify ############################################################################################### # Expected result # ok: [172.22.150.244] => { @@ -201,7 +202,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "sequence_number": 1 # } # ], @@ -216,10 +217,10 @@ # ], # "response": [ # { -# "DATA": "Invalid JSON response: Fabric 'LAN_CLASSIC_Fabric' is deleted successfully!", +# "DATA": "Invalid JSON response: Fabric 'LAN_CLASSIC' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/LAN_CLASSIC_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/LAN_CLASSIC", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -234,11 +235,11 @@ # } # } ############################################################################################### -- name: DELETED - TEST - Delete fabric_name_3 and verify +- name: DELETED - TEST - Delete {{ fabric_name_10 }} and verify cisco.dcnm.dcnm_fabric: &fabric_deleted state: deleted config: - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result @@ -247,7 +248,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_3 + - result.diff[0].FABRIC_NAME == fabric_name_10 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete" @@ -263,7 +264,7 @@ - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# DELETED - TEST - Delete fabric_name_3 idempotence +# DELETED - TEST - Delete fabric_name_10 idempotence ################################################################################ # Expected result # ok: [ndfc1] => { @@ -300,7 +301,7 @@ # } # } ################################################################################ -- name: DELETED - TEST - Delete fabric_name_3 idempotence +- name: DELETED - TEST - Delete {{ fabric_name_10 }} idempotence cisco.dcnm.dcnm_fabric: *fabric_deleted register: result - debug: diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_msd.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_msd.yaml index 9a4e21c7e..f225dc354 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_msd.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_msd.yaml @@ -15,14 +15,14 @@ # SETUP # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_2 -# - fabric_type_2 # VXLAN_EVPN_MSD +# - fabric_name_100 +# - fabric_type_100 # VXLAN_EVPN_MSD # 2. Delete fabrics under test, if they exist -# - fabric_name_2 +# - fabric_name_100 # TEST # 3. Create fabrics and verify result -# - fabric_name_2 -# 4. Delete fabric_name_2. Verify result +# - fabric_name_100 +# 4. Delete fabric_name_100. Verify result # CLEANUP # 7. No cleanup required ################################################################################ @@ -39,8 +39,8 @@ # # vars: # testcase: dcnm_fabric_deleted_basic_msd -# fabric_name_2: VXLAN_EVPN_MSD_Fabric -# fabric_type_2: VXLAN_EVPN_MSD +# fabric_name_100: MSD +# fabric_type_100: VXLAN_EVPN_MSD ################################################################################ # SETUP ################################################################################ @@ -48,7 +48,7 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_2 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" register: result - debug: var: result @@ -63,7 +63,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "sequence_number": 1 # } # ], @@ -101,7 +101,7 @@ # "ENABLE_PVLAN_PREV": "", # "ENABLE_RS_REDIST_DIRECT": "", # "EXT_FABRIC_TYPE": "", -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "FABRIC_TYPE": "MFD", # "FF": "MSD", # "L2_SEGMENT_ID_RANGE": "30000-49000", @@ -132,7 +132,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/VXLAN_EVPN_MSD_Fabric/MSD_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/MSD/MSD_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -147,12 +147,12 @@ # } # } ################################################################################ -- name: DELETED - SETUP - Create all supported fabric types +- name: DELETED - SETUP - Create {{ fabric_name_100 }} and verify cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_2 }}" - FABRIC_TYPE: "{{ fabric_type_2 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + FABRIC_TYPE: "{{ fabric_type_100 }}" DEPLOY: true register: result - debug: @@ -162,7 +162,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_2 + - result.diff[0].FABRIC_NAME == fabric_name_100 - result.diff[0].sequence_number == 1 - (result.response | length) == 1 - result.response[0].sequence_number == 1 @@ -170,7 +170,7 @@ - result.response[0].METHOD == "POST" - result.response[0].RETURN_CODE == 200 ############################################################################################### -# DELETED - TEST - Delete fabric_name_2 and verify +# DELETED - TEST - Delete fabric_name_100 and verify ############################################################################################### # Expected result # ok: [ndfc1] => { @@ -178,7 +178,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "sequence_number": 1 # } # ], @@ -193,10 +193,10 @@ # ], # "response": [ # { -# "DATA": "Fabric 'VXLAN_EVPN_MSD_Fabric' is deleted successfully!", +# "DATA": "Fabric 'MSD' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_MSD_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/MSD", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -211,11 +211,11 @@ # } # } ############################################################################################### -- name: DELETED - TEST - Delete fabric_name_2 and verify +- name: DELETED - TEST - Delete {{ fabric_name_100 }} and verify cisco.dcnm.dcnm_fabric: &fabric_deleted state: deleted config: - - FABRIC_NAME: "{{ fabric_name_2 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" register: result - debug: var: result @@ -224,7 +224,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_2 + - result.diff[0].FABRIC_NAME == fabric_name_100 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete" @@ -240,7 +240,7 @@ - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# DELETED - TEST - Delete fabric_name_2 idempotence +# DELETED - TEST - Delete fabric_name_100 idempotence ################################################################################ # Expected result # ok: [ndfc1] => { @@ -277,7 +277,7 @@ # } # } ################################################################################ -- name: DELETED - TEST - Delete fabric_name_2 idempotence +- name: DELETED - TEST - Delete {{ fabric_name_100 }} idempotence cisco.dcnm.dcnm_fabric: *fabric_deleted register: result - debug: diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_vxlan.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_vxlan.yaml index fbcd25be1..4ede29317 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_vxlan.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_deleted_basic_vxlan.yaml @@ -15,14 +15,14 @@ # SETUP # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_1 -# - fabric_type_1 # VXLAN_EVPN +# - fabric_name_00 +# - fabric_type_00 # VXLAN_EVPN # 2. Delete fabrics under test, if they exist -# - fabric_name_1 +# - fabric_name_00 # TEST # 3. Create fabrics and verify result -# - fabric_name_1 -# 4. Delete fabric_name_1. Verify result +# - fabric_name_00 +# 4. Delete fabric_name_00. Verify result # CLEANUP # 7. No cleanup required ################################################################################ @@ -39,8 +39,8 @@ # # vars: # testcase: dcnm_fabric_deleted_basic_vxlan -# fabric_name_1: VXLAN_EVPN_Fabric -# fabric_type_1: VXLAN_EVPN +# fabric_name_00: VXLAN_EVPN +# fabric_type_00: VXLAN_EVPN ################################################################################ # SETUP ################################################################################ @@ -48,12 +48,12 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" register: result - debug: var: result ################################################################################ -# DELETED - TEST - Create all supported fabric types +# DELETED - TEST - Create fabric_name_00 and verify ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -64,7 +64,7 @@ # "diff": [ # { # "BGP_AS": "65535.65534", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # } # ], @@ -82,12 +82,12 @@ # "DATA": { # "nvPairs": { # "BGP_AS": "65535.65534", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric" +# "FABRIC_NAME": "VXLAN_EVPN" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -102,12 +102,12 @@ # } # } ################################################################################ -- name: DELETED - SETUP - Create all supported fabric types +- name: DELETED - SETUP - Create {{ fabric_name_00 }} and verify cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" BGP_AS: "65535.65534" DEPLOY: true register: result @@ -119,7 +119,7 @@ - result.failed == false - (result.diff | length) == 1 - result.diff[0].BGP_AS == "65535.65534" - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - (result.response | length) == 1 - result.response[0].sequence_number == 1 @@ -127,7 +127,7 @@ - result.response[0].METHOD == "POST" - result.response[0].RETURN_CODE == 200 ############################################################################################### -# DELETED - TEST - Delete fabric_name_1 and verify +# DELETED - TEST - Delete fabric_name_00 and verify ############################################################################################### # Expected result # ok: [ndfc1] => { @@ -135,7 +135,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # } # ], @@ -150,10 +150,10 @@ # ], # "response": [ # { -# "DATA": "Fabric 'VXLAN_EVPN_Fabric' is deleted successfully!", +# "DATA": "Fabric 'VXLAN_EVPN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -168,11 +168,11 @@ # } # } ############################################################################################### -- name: DELETED - TEST - Delete fabric_name_1 and verify +- name: DELETED - TEST - Delete {{ fabric_name_00 }} and verify cisco.dcnm.dcnm_fabric: &fabric_deleted state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" register: result - debug: var: result @@ -181,7 +181,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete" @@ -197,7 +197,7 @@ - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# DELETED - TEST - Delete fabric_name_1 idempotence +# DELETED - TEST - Delete fabric_name_00 idempotence ################################################################################ # Expected result # ok: [ndfc1] => { @@ -234,7 +234,7 @@ # } # } ################################################################################ -- name: DELETED - TEST - Delete fabric_name_1 idempotence +- name: DELETED - TEST - Delete {{ fabric_name_00 }} idempotence cisco.dcnm.dcnm_fabric: *fabric_deleted register: result - debug: diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_basic.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_basic.yaml index 571aa5c7c..3f48a0703 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_basic.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_basic.yaml @@ -16,32 +16,32 @@ ################################################################################ # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_1 -# - fabric_type_1 # VXLAN_EVPN -# - fabric_name_2 -# - fabric_type_2 # VXLAN_EVPN_MSD -# - fabric_name_3 -# - fabric_type_3 # LAN_CLASSIC +# - fabric_name_00 # VXLAN_EVPN +# - fabric_type_00 # VXLAN_EVPN +# - fabric_name_100 # MSD +# - fabric_type_100 # VXLAN_EVPN_MSD +# - fabric_name_10 # LAN_CLASSIC +# - fabric_type_10 # LAN_CLASSIC # 2. Delete fabrics under test, if they exist -# - fabric_name_1 -# - fabric_name_2 -# - fabric_name_3 +# - fabric_name_00 +# - fabric_name_100 +# - fabric_name_10 ################################################################################ # TEST ################################################################################ # 3. Create fabrics and verify result -# - fabric_name_1 -# - fabric_name_1 -# - fabric_name_1 -# 4. Merge additional configs into fabric_1 and fabric_2 and verify result -# 5. Merge additional config into fabric_3 and verify result +# - fabric_name_00 +# - fabric_name_100 +# - fabric_name_10 +# 4. Merge additional configs into fabric_1 and fabric_6 and verify result +# 5. Merge additional config into fabric_7 and verify result ################################################################################ # CLEANUP ################################################################################ # 6. Delete fabrics under test -# - fabric_name_1 -# - fabric_name_1 -# - fabric_name_1 +# - fabric_name_00 +# - fabric_name_100 +# - fabric_name_10 ################################################################################ # REQUIREMENTS ################################################################################ @@ -56,12 +56,12 @@ # # vars: # testcase: dcnm_fabric_merged_basic -# fabric_name_1: VXLAN_EVPN_Fabric -# fabric_type_1: VXLAN_EVPN -# fabric_name_2: VXLAN_EVPN_MSD_Fabric -# fabric_type_2: VXLAN_EVPN_MSD -# fabric_name_3: LAN_CLASSIC_Fabric -# fabric_type_3: LAN_CLASSIC +# fabric_name_00: VXLAN_EVPN +# fabric_type_00: VXLAN_EVPN +# fabric_name_100: MSD +# fabric_type_100: VXLAN_EVPN_MSD +# fabric_name_10: LAN_CLASSIC +# fabric_type_10: LAN_CLASSIC ################################################################################ # MERGED - SETUP - Delete fabrics ################################################################################ @@ -69,9 +69,9 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_2 }}" - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result @@ -87,16 +87,16 @@ # "diff": [ # { # "BGP_AS": 65535, -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "sequence_number": 2 # }, # { # "BOOTSTRAP_ENABLE": false, -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": false, # "sequence_number": 3 # } @@ -127,24 +127,24 @@ # "DATA": { # "nvPairs": { # "BGP_AS": "65535", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric" +# "FABRIC_NAME": "VXLAN_EVPN" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { # "DATA": { # "nvPairs": { -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_MSD_Fabric/MSD_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/MSD/MSD_Fabric", # "RETURN_CODE": 200, # "sequence_number": 2 # }, @@ -152,13 +152,13 @@ # "DATA": { # "nvPairs": { # "BOOTSTRAP_ENABLE": "false", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": "false", # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/LAN_Classic", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/LAN_Classic", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -187,15 +187,15 @@ cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" BGP_AS: 65535 DEPLOY: true - - FABRIC_NAME: "{{ fabric_name_2 }}" - FABRIC_TYPE: "{{ fabric_type_2 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + FABRIC_TYPE: "{{ fabric_type_100 }}" DEPLOY: true - - FABRIC_NAME: "{{ fabric_name_3 }}" - FABRIC_TYPE: "{{ fabric_type_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + FABRIC_TYPE: "{{ fabric_type_10 }}" BOOTSTRAP_ENABLE: false IS_READ_ONLY: false DEPLOY: true @@ -208,11 +208,11 @@ - result.failed == false - (result.diff | length) == 3 - result.diff[0].BGP_AS == 65535 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_2 + - result.diff[1].FABRIC_NAME == fabric_name_100 - result.diff[1].sequence_number == 2 - - result.diff[2].FABRIC_NAME == fabric_name_3 + - result.diff[2].FABRIC_NAME == fabric_name_10 - result.diff[2].sequence_number == 3 - result.diff[2].BOOTSTRAP_ENABLE == false - result.diff[2].IS_READ_ONLY == false @@ -238,7 +238,7 @@ - result.response[2].METHOD == "POST" - result.response[2].RETURN_CODE == 200 ################################################################################ -# MERGED - TEST - Merge additional valid configs into fabric_1 and fabric_2 +# MERGED - TEST - Merge additional valid configs into fabrics fabric_name_00 and fabric_name_100 ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -249,14 +249,14 @@ # "diff": [ # { # "ANYCAST_GW_MAC": "aaaa.bbbb.cccc", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Ingress", # "SITE_ID": "65000", # "sequence_number": 1 # }, # { # "ANYCAST_GW_MAC": "aaaa.bbbb.cccc", -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "sequence_number": 2 # }, # { @@ -316,14 +316,14 @@ # "DATA": { # "nvPairs": { # "ANYCAST_GW_MAC": "aaaa.bbbb.cccc", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Ingress", # "SITE_ID": "65000", # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, @@ -331,32 +331,32 @@ # "DATA": { # "nvPairs": { # "ANYCAST_GW_MAC": "aaaa.bbbb.cccc", -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_MSD_Fabric/MSD_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/MSD/MSD_Fabric", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "MESSAGE": "Fabric VXLAN_EVPN_Fabric DEPLOY is False or None. Skipping config-save.", +# "MESSAGE": "Fabric VXLAN_EVPN DEPLOY is False or None. Skipping config-save.", # "RETURN_CODE": 200, # "sequence_number": 3 # }, # { -# "MESSAGE": "Fabric VXLAN_EVPN_MSD_Fabric DEPLOY is False or None. Skipping config-save.", +# "MESSAGE": "Fabric MSD DEPLOY is False or None. Skipping config-save.", # "RETURN_CODE": 200, # "sequence_number": 4 # }, # { -# "MESSAGE": "Fabric VXLAN_EVPN_Fabric DEPLOY is False or None. Skipping config-deploy.", +# "MESSAGE": "Fabric VXLAN_EVPN DEPLOY is False or None. Skipping config-deploy.", # "RETURN_CODE": 200, # "sequence_number": 5 # }, # { -# "MESSAGE": "Fabric VXLAN_EVPN_MSD_Fabric DEPLOY is False or None. Skipping config-deploy.", +# "MESSAGE": "Fabric MSD DEPLOY is False or None. Skipping config-deploy.", # "RETURN_CODE": 200, # "sequence_number": 6 # } @@ -396,19 +396,19 @@ # } # } ################################################################################ -- name: MERGED - TEST - Merge additional configs into fabric_1 and fabric_2 +- name: MERGED - TEST - Merge additional configs into fabrics {{ fabric_name_00 }} and {{ fabric_name_100 }} cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" ANYCAST_GW_MAC: aaaabbbbcccc BGP_AS: 65535 REPLICATION_MODE: Ingress SITE_ID: 65000 DEPLOY: false - - FABRIC_NAME: "{{ fabric_name_2 }}" - FABRIC_TYPE: "{{ fabric_type_2 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + FABRIC_TYPE: "{{ fabric_type_100 }}" ANYCAST_GW_MAC: aa:aa:bb:bb:cc:cc DEPLOY: false register: result @@ -419,11 +419,11 @@ - result.changed == true - result.failed == false - (result.diff | length) == 6 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].ANYCAST_GW_MAC == "aaaa.bbbb.cccc" - result.diff[0].SITE_ID == "65000" - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_2 + - result.diff[1].FABRIC_NAME == fabric_name_100 - result.diff[1].ANYCAST_GW_MAC == "aaaa.bbbb.cccc" - result.diff[1].sequence_number == 2 - (result.metadata | length) == 6 @@ -460,13 +460,13 @@ - result.response[0].DATA.nvPairs.BGP_AS == "65535" - result.response[0].DATA.nvPairs.REPLICATION_MODE == "Ingress" - result.response[0].DATA.nvPairs.SITE_ID == "65000" - - result.response[0].DATA.nvPairs.FABRIC_NAME == "VXLAN_EVPN_Fabric" + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_00 - result.response[1].sequence_number == 2 - result.response[1].MESSAGE == "OK" - result.response[1].METHOD == "PUT" - result.response[1].RETURN_CODE == 200 - result.response[1].DATA.nvPairs.ANYCAST_GW_MAC == "aaaa.bbbb.cccc" - - result.response[1].DATA.nvPairs.FABRIC_NAME == "VXLAN_EVPN_MSD_Fabric" + - result.response[1].DATA.nvPairs.FABRIC_NAME == fabric_name_100 - result.response[2].sequence_number == 3 - result.response[2].RETURN_CODE == 200 - result.response[2].MESSAGE is match '.*Skipping config-save.*' @@ -499,7 +499,7 @@ - result.result[5].success == true - result.result[5].sequence_number == 6 ################################################################################ -# MERGED - TEST - Merge additional valid configs into fabric_3 +# MERGED - TEST - Merge additional valid configs into fabric_name_10 ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -509,7 +509,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "SUBINTERFACE_RANGE": "2-101", # "sequence_number": 1 # }, @@ -546,24 +546,24 @@ # "DATA": { # "nvPairs": { # "BOOTSTRAP_ENABLE": "false", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": "false", # "SUBINTERFACE_RANGE": "2-101" # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/LAN_Classic", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/LAN_Classic", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "MESSAGE": "Fabric LAN_CLASSIC_Fabric DEPLOY is False or None. Skipping config-save.", +# "MESSAGE": "Fabric LAN_CLASSIC DEPLOY is False or None. Skipping config-save.", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "MESSAGE": "Fabric LAN_CLASSIC_Fabric DEPLOY is False or None. Skipping config-deploy.", +# "MESSAGE": "Fabric LAN_CLASSIC DEPLOY is False or None. Skipping config-deploy.", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -588,12 +588,12 @@ # } # } ################################################################################ -- name: MERGED - TEST - Merge additional config into fabric_3 - cisco.dcnm.dcnm_fabric: &merge_fabric_3 +- name: MERGED - TEST - Merge additional valid configs into fabric {{ fabric_name_10 }} + cisco.dcnm.dcnm_fabric: &merge_fabric_name_10 state: merged config: - - FABRIC_NAME: "{{ fabric_name_3 }}" - FABRIC_TYPE: "{{ fabric_type_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + FABRIC_TYPE: "{{ fabric_type_10 }}" SUBINTERFACE_RANGE: 2-101 DEPLOY: false register: result @@ -605,7 +605,7 @@ - result.failed == false - (result.diff | length) == 3 - result.diff[0].SUBINTERFACE_RANGE == "2-101" - - result.diff[0].FABRIC_NAME == fabric_name_3 + - result.diff[0].FABRIC_NAME == fabric_name_10 - result.diff[0].sequence_number == 1 - result.diff[1].sequence_number == 2 - result.diff[2].sequence_number == 3 @@ -628,7 +628,7 @@ - result.response[0].METHOD == "PUT" - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.BOOTSTRAP_ENABLE == "false" - - result.response[0].DATA.nvPairs.FABRIC_NAME == "LAN_CLASSIC_Fabric" + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_10 - result.response[0].DATA.nvPairs.IS_READ_ONLY == "false" - result.response[0].DATA.nvPairs.SUBINTERFACE_RANGE == "2-101" - result.response[1].sequence_number == 2 @@ -636,7 +636,7 @@ - result.response[2].sequence_number == 3 - result.response[2].RETURN_CODE == 200 ################################################################################ -# MERGED - TEST - Merge additional valid configs into fabric_3 - idempotence +# MERGED - TEST - Merge additional valid configs into fabric fabric_name_10 - idempotence ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -675,8 +675,8 @@ # } # } ################################################################################ -- name: MERGED - TEST - Merge additional config into fabric_3 - idempotence - cisco.dcnm.dcnm_fabric: *merge_fabric_3 +- name: MERGED - TEST - Merge additional valid configs into fabric {{ fabric_name_10 }} - idempotence + cisco.dcnm.dcnm_fabric: *merge_fabric_name_10 register: result - debug: var: result @@ -708,15 +708,15 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "sequence_number": 2 # }, # { -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "sequence_number": 3 # } # ], @@ -743,26 +743,26 @@ # ], # "response": [ # { -# "DATA": "Fabric 'VXLAN_EVPN_Fabric' is deleted successfully!", +# "DATA": "Fabric 'VXLAN_EVPN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "DATA": "Fabric 'VXLAN_EVPN_MSD_Fabric' is deleted successfully!", +# "DATA": "Fabric 'MSD' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_MSD_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/MSD", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "DATA": "Fabric 'LAN_CLASSIC_Fabric' is deleted successfully!", +# "DATA": "Fabric 'LAN_CLASSIC' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -791,9 +791,9 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_2 }}" - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result @@ -802,11 +802,11 @@ - result.changed == true - result.failed == false - (result.diff | length) == 3 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_2 + - result.diff[1].FABRIC_NAME == fabric_name_100 - result.diff[1].sequence_number == 2 - - result.diff[2].FABRIC_NAME == fabric_name_3 + - result.diff[2].FABRIC_NAME == fabric_name_10 - result.diff[2].sequence_number == 3 - (result.metadata | length) == 3 - result.metadata[0].action == "fabric_delete" diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_basic_ipfm.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_basic_ipfm.yaml index 9eefa76e7..c710bcb46 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_basic_ipfm.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_basic_ipfm.yaml @@ -16,21 +16,21 @@ ################################################################################ # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_4 -# - fabric_type_4 # IPFM +# - fabric_name_40 +# - fabric_type_40 # IPFM # 3. Delete fabrics under test, if they exist -# - fabric_name_4 +# - fabric_name_40 ################################################################################ # TEST ################################################################################ # 4. Create fabrics and verify result -# - fabric_name_4 +# - fabric_name_40 # 5. Merge additional configs into fabric_4 and verify result ################################################################################ # CLEANUP ################################################################################ # 6. Delete fabrics under test -# - fabric_name_4 +# - fabric_name_40 ################################################################################ # REQUIREMENTS ################################################################################ @@ -45,8 +45,8 @@ # # vars: # testcase: dcnm_fabric_merged_basic_ipfm -# fabric_name_4: IPFM_Fabric -# fabric_type_4: IPFM +# fabric_name_40: IPFM +# fabric_type_40: IPFM ################################################################################ # MERGED - SETUP - Delete fabrics ################################################################################ @@ -54,7 +54,7 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" register: result - debug: var: result @@ -69,7 +69,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # } # ], @@ -86,12 +86,12 @@ # { # "DATA": { # "nvPairs": { -# "FABRIC_NAME": "IPFM_Fabric" +# "FABRIC_NAME": "IPFM" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric/Easy_Fabric_IPFM", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM/Easy_Fabric_IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -110,8 +110,8 @@ cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_4 }}" - FABRIC_TYPE: "{{ fabric_type_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" + FABRIC_TYPE: "{{ fabric_type_40 }}" DEPLOY: true register: result - debug: @@ -121,7 +121,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_4 + - result.diff[0].FABRIC_NAME == fabric_name_40 - result.diff[0].sequence_number == 1 - result.metadata[0].action == "fabric_create" - result.metadata[0].check_mode == False @@ -144,7 +144,7 @@ # "diff": [ # { # "FABRIC_MTU: "1500", -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # }, # { @@ -180,22 +180,22 @@ # "DATA": { # "nvPairs": { # "FABRIC_MTU: "1500", -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric/Easy_Fabric_IPFM", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM/Easy_Fabric_IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "MESSAGE": "Fabric IPFM_Fabric DEPLOY is False or None. Skipping config-save.", +# "MESSAGE": "Fabric IPFM DEPLOY is False or None. Skipping config-save.", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "MESSAGE": "Fabric IPFM_Fabric DEPLOY is False or None. Skipping config-deploy.", +# "MESSAGE": "Fabric IPFM DEPLOY is False or None. Skipping config-deploy.", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -224,8 +224,8 @@ cisco.dcnm.dcnm_fabric: &merge_fabric_4 state: merged config: - - FABRIC_NAME: "{{ fabric_name_4 }}" - FABRIC_TYPE: "{{ fabric_type_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" + FABRIC_TYPE: "{{ fabric_type_40 }}" FABRIC_MTU: 1500 DEPLOY: false register: result @@ -236,7 +236,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 3 - - result.diff[0].FABRIC_NAME == fabric_name_4 + - result.diff[0].FABRIC_NAME == fabric_name_40 - result.diff[0].FABRIC_MTU == "1500" - result.diff[0].sequence_number == 1 - result.diff[1].sequence_number == 2 @@ -349,7 +349,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # } # ], @@ -364,10 +364,10 @@ # ], # "response": [ # { -# "DATA": "Fabric 'IPFM_Fabric' is deleted successfully!", +# "DATA": "Fabric 'IPFM' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -386,7 +386,7 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" register: result - debug: var: result @@ -395,7 +395,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_4 + - result.diff[0].FABRIC_NAME == fabric_name_40 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete" diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_basic_isn.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_basic_isn.yaml index dc42832e3..f6abbada3 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_basic_isn.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_basic_isn.yaml @@ -2,7 +2,7 @@ # RUNTIME ################################################################################ # Recent run times (MM:SS.ms): -# TODO +# TODO add run times ################################################################################ # DESCRIPTION - BASIC FABRIC MERGED STATE TEST for ISN # @@ -16,21 +16,21 @@ ################################################################################ # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_5 -# - fabric_type_5 # ISN +# - fabric_name_30 +# - fabric_type_30 # ISN # 3. Delete fabrics under test, if they exist -# - fabric_name_5 +# - fabric_name_30 ################################################################################ # TEST ################################################################################ # 4. Create fabrics and verify result -# - fabric_name_5 +# - fabric_name_30 # 5. Merge additional configs into fabric_5 and verify result ################################################################################ # CLEANUP ################################################################################ # 6. Delete fabrics under test -# - fabric_name_5 +# - fabric_name_30 ################################################################################ # REQUIREMENTS ################################################################################ @@ -45,8 +45,8 @@ # # vars: # testcase: dcnm_fabric_merged_basic_isn -# fabric_name_5: ISN_Fabric -# fabric_type_5: ISN +# fabric_name_30: ISN +# fabric_type_30: ISN ################################################################################ # MERGED - SETUP - Delete fabrics ################################################################################ @@ -54,7 +54,7 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_5 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" register: result - debug: var: result @@ -70,7 +70,7 @@ # "diff": [ # { # "BGP_AS": 65535, -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "sequence_number": 1 # } # ], @@ -89,14 +89,14 @@ # "nvPairs": { # "BGP_AS": "65535", # "DCI_SUBNET_RANGE": "10.10.1.0/24", -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "FABRIC_TYPE": "External", # "LOOPBACK0_IP_RANGE": "10.1.0.0/22", # }, # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN_Fabric/External_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN/External_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -111,12 +111,12 @@ # } # } ################################################################################ -- name: MERGED - TEST - Create all supported fabric types with minimal config +- name: MERGED - TEST - Create {{ fabric_name_30 }} with minimal config cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_5 }}" - FABRIC_TYPE: "{{ fabric_type_5 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" + FABRIC_TYPE: "{{ fabric_type_30 }}" BGP_AS: 65535 DEPLOY: true register: result @@ -128,7 +128,7 @@ - result.failed == false - (result.diff | length) == 1 - result.diff[0].BGP_AS == 65535 - - result.diff[0].FABRIC_NAME == fabric_name_5 + - result.diff[0].FABRIC_NAME == fabric_name_30 - result.diff[0].sequence_number == 1 - result.metadata[0].action == "fabric_create" - result.metadata[0].check_mode == False @@ -139,13 +139,13 @@ - result.response[0].MESSAGE == "OK" - result.response[0].DATA.nvPairs.BGP_AS == "65535" - result.response[0].DATA.nvPairs.DCI_SUBNET_RANGE == "10.10.1.0/24" - - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_5 + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_30 - result.response[0].DATA.nvPairs.FABRIC_TYPE == "External" - result.response[0].DATA.nvPairs.LOOPBACK0_IP_RANGE == "10.1.0.0/22" - result.response[0].METHOD == "POST" - result.response[0].RETURN_CODE == 200 ################################################################################ -# MERGED - TEST - Merge additional valid configs into fabric_5 +# MERGED - TEST - Merge additional valid configs into fabric_name_30 ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -156,7 +156,7 @@ # "diff": [ # { # "DCI_SUBNET_RANGE": "10.20.1.0/24", -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "LOOPBACK0_IP_RANGE": "10.2.0.0/22", # "sequence_number": 1 # }, @@ -195,7 +195,7 @@ # "createdOn": 1725045045386, # "deviceType": "n9k", # "fabricId": "FABRIC-6", -# "fabricName": "ISN_Fabric", +# "fabricName": "ISN", # "fabricTechnology": "External", # "fabricTechnologyFriendly": "Custom", # "fabricType": "External", @@ -205,24 +205,24 @@ # "nvPairs": { # "BGP_AS": "65535", # "DCI_SUBNET_RANGE": "10.20.1.0/24", -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "FABRIC_TYPE": "External", # "LOOPBACK0_IP_RANGE": "10.2.0.0/22" # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN_Fabric/External_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN/External_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "MESSAGE": "Fabric ISN_Fabric DEPLOY is False or None. Skipping config-save.", +# "MESSAGE": "Fabric ISN DEPLOY is False or None. Skipping config-save.", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "MESSAGE": "FabricConfigDeploy._can_fabric_be_deployed: Fabric ISN_Fabric DEPLOY is False or None. Skipping config-deploy.", +# "MESSAGE": "FabricConfigDeploy._can_fabric_be_deployed: Fabric ISN DEPLOY is False or None. Skipping config-deploy.", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -247,12 +247,12 @@ # } # } ################################################################################ -- name: MERGED - TEST - Merge additional configs into fabric_5 - cisco.dcnm.dcnm_fabric: &merge_fabric_5 +- name: MERGED - TEST - Merge additional configs into {{ fabric_name_30 }} + cisco.dcnm.dcnm_fabric: &merge_fabric_name_30 state: merged config: - - FABRIC_NAME: "{{ fabric_name_5 }}" - FABRIC_TYPE: "{{ fabric_type_5 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" + FABRIC_TYPE: "{{ fabric_type_30 }}" BGP_AS: 65535 DCI_SUBNET_RANGE: "10.20.1.0/24" LOOPBACK0_IP_RANGE: "10.2.0.0/22" @@ -265,7 +265,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 3 - - result.diff[0].FABRIC_NAME == fabric_name_5 + - result.diff[0].FABRIC_NAME == fabric_name_30 - result.diff[0].DCI_SUBNET_RANGE == "10.20.1.0/24" - result.diff[0].LOOPBACK0_IP_RANGE == "10.2.0.0/22" - result.diff[0].sequence_number == 1 @@ -288,7 +288,7 @@ - result.response[0].sequence_number == 1 - result.response[0].DATA.nvPairs.BGP_AS == "65535" - result.response[0].DATA.nvPairs.DCI_SUBNET_RANGE == "10.20.1.0/24" - - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_5 + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_30 - result.response[0].DATA.nvPairs.FABRIC_TYPE == "External" - result.response[0].DATA.nvPairs.LOOPBACK0_IP_RANGE == "10.2.0.0/22" - result.response[0].MESSAGE == "OK" @@ -350,8 +350,8 @@ # } # } ################################################################################ -- name: MERGED - TEST - Merge additional config into fabric_5 - idempotence - cisco.dcnm.dcnm_fabric: *merge_fabric_5 +- name: MERGED - TEST - Merge additional config into {{ fabric_name_30 }} - idempotence + cisco.dcnm.dcnm_fabric: *merge_fabric_name_30 register: result - debug: var: result @@ -375,7 +375,7 @@ - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# MERGED - CLEANUP - Delete fabric_5 +# MERGED - CLEANUP - Delete fabric_name_30 ################################################################################ # Expected result # ok: [172.22.150.244] => { @@ -383,7 +383,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "sequence_number": 1 # } # ], @@ -398,10 +398,10 @@ # ], # "response": [ # { -# "DATA": "Invalid JSON response: Fabric 'ISN_Fabric' is deleted successfully!", +# "DATA": "Invalid JSON response: Fabric 'ISN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -416,11 +416,11 @@ # } # } ################################################################################ -- name: MERGED - CLEANUP - Delete fabric_5 +- name: MERGED - CLEANUP - Delete {{ fabric_name_30 }} cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_5 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" register: result - debug: var: result @@ -429,7 +429,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_5 + - result.diff[0].FABRIC_NAME == fabric_name_30 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete" diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_save_deploy.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_save_deploy.yaml index ae190a001..373cb7a06 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_save_deploy.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_save_deploy.yaml @@ -19,19 +19,19 @@ ################################################################################ # 1. The following fabrics must be empty on the controller (or not exist). # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_1 -# - fabric_type_1 # VXLAN_EVPN -# - fabric_name_3 -# - fabric_type_3 # LAN_CLASSIC +# - fabric_name_00 +# - fabric_type_00 # VXLAN_EVPN +# - fabric_name_10 +# - fabric_type_10 # LAN_CLASSIC # 2. Delete fabrics under test, if they exist -# - fabric_name_1 -# - fabric_name_3 +# - fabric_name_00 +# - fabric_name_10 ################################################################################ # TEST ################################################################################ # 3. Create fabrics and verify result -# - fabric_name_1 -# - fabric_name_3 +# - fabric_name_00 +# - fabric_name_10 # 4. Add switch to each fabric and verify result # 5. Merge additional configs into each fabric and verify result # This step includes config-save and config-deploy @@ -39,8 +39,8 @@ # CLEANUP ################################################################################ # 7. Delete fabrics under test -# - fabric_name_1 -# - fabric_name_3 +# - fabric_name_00 +# - fabric_name_10 ################################################################################ # REQUIREMENTS ################################################################################ @@ -55,10 +55,10 @@ # # vars: # testcase: dcnm_fabric_merged_save_deploy -# fabric_name_1: VXLAN_EVPN_Fabric -# fabric_type_1: VXLAN_EVPN -# fabric_name_3: LAN_CLASSIC_Fabric -# fabric_type_3: LAN_CLASSIC +# fabric_name_00: VXLAN_EVPN +# fabric_type_00: VXLAN_EVPN +# fabric_name_10: LAN_CLASSIC +# fabric_type_10: LAN_CLASSIC # leaf_1: 172.22.150.103 # leaf_2: 172.22.150.104 # nxos_username: admin @@ -70,8 +70,8 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result @@ -90,12 +90,12 @@ # "diff": [ # { # "BGP_AS": 65535, -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # }, # { # "BOOTSTRAP_ENABLE": false, -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": false, # "sequence_number": 2 # } @@ -120,12 +120,12 @@ # "DATA": { # "nvPairs": { # "BGP_AS": "65535", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric" +# "FABRIC_NAME": "VXLAN_EVPN" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, @@ -133,13 +133,13 @@ # "DATA": { # "nvPairs": { # "BOOTSTRAP_ENABLE": "false", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": "false", # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/LAN_Classic", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/LAN_Classic", # "RETURN_CODE": 200, # "sequence_number": 2 # } @@ -163,12 +163,12 @@ cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" BGP_AS: 65535 DEPLOY: true - - FABRIC_NAME: "{{ fabric_name_3 }}" - FABRIC_TYPE: "{{ fabric_type_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + FABRIC_TYPE: "{{ fabric_type_10 }}" BOOTSTRAP_ENABLE: false IS_READ_ONLY: false DEPLOY: true @@ -181,9 +181,9 @@ - result.failed == false - (result.diff | length) == 2 - result.diff[0].BGP_AS == 65535 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_3 + - result.diff[1].FABRIC_NAME == fabric_name_10 - result.diff[1].sequence_number == 2 - result.diff[1].BOOTSTRAP_ENABLE == false - result.diff[1].IS_READ_ONLY == false @@ -213,11 +213,11 @@ - result.result[1].success == true - result.result[1].sequence_number == 2 ################################################################################ -# MERGED - TEST - Add one leaf switch to fabric_1 and fabric_3 +# MERGED - TEST - Add one leaf switch to fabric_name_00 and fabric_name_10 ################################################################################ -- name: Merge leaf_1 into fabric_1 +- name: Merge leaf_1 into {{ fabric_name_00}} cisco.dcnm.dcnm_inventory: - fabric: "{{ fabric_name_1 }}" + fabric: "{{ fabric_name_00 }}" state: merged config: - seed_ip: "{{ leaf_1 }}" @@ -231,9 +231,9 @@ - debug: var: result -- name: Merge leaf_2 into fabric_3 +- name: Merge leaf_2 into {{ fabric_name_10 }} cisco.dcnm.dcnm_inventory: - fabric: "{{ fabric_name_3 }}" + fabric: "{{ fabric_name_10 }}" state: merged config: - seed_ip: "{{ leaf_2 }}" @@ -248,7 +248,7 @@ - debug: var: result ################################################################################ -# MERGED - TEST - Merge additional valid configs into fabric_1 and fabric_3 +# MERGED - TEST - Merge additional valid configs into fabric_name_00 and fabric_name_10 # DEPLOY is set to True for both fabrics ################################################################################ # Expected result @@ -260,32 +260,32 @@ # "diff": [ # { # "ANYCAST_GW_MAC": "aaaa.bbbb.cccc", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Ingress", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "SUBINTERFACE_RANGE": "2-101", # "sequence_number": 2 # }, # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "config_save": "OK", # "sequence_number": 3 # }, # { -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "config_save": "OK", # "sequence_number": 4 # }, # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "config_deploy": "OK", # "sequence_number": 5 # }, # { -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "config_deploy": "OK", # "sequence_number": 6 # } @@ -334,13 +334,13 @@ # "DATA": { # "nvPairs": { # "ANYCAST_GW_MAC": "aaaa.bbbb.cccc", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Ingress", # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, @@ -348,14 +348,14 @@ # "DATA": { # "nvPairs": { # "BOOTSTRAP_ENABLE": "false", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": "false", # "SUBINTERFACE_RANGE": "2-101" # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/LAN_Classic", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/LAN_Classic", # "RETURN_CODE": 200, # "sequence_number": 1 # }, @@ -365,7 +365,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/config-save", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/config-save", # "RETURN_CODE": 200, # "sequence_number": 3 # }, @@ -375,7 +375,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/config-save", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/config-save", # "RETURN_CODE": 200, # "sequence_number": 4 # }, @@ -385,7 +385,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/config-deploy?forceShowRun=false", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/config-deploy?forceShowRun=false", # "RETURN_CODE": 200, # "sequence_number": 5 # }, @@ -395,7 +395,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/config-deploy?forceShowRun=false", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/config-deploy?forceShowRun=false", # "RETURN_CODE": 200, # "sequence_number": 6 # } @@ -435,18 +435,18 @@ # } # } ################################################################################ -- name: MERGED - TEST - Merge additional configs into fabric_1 and fabric_3 - cisco.dcnm.dcnm_fabric: &merge_fabric_1_3 +- name: MERGED - TEST - Merge additional configs into {{ fabric_name_00 }} and {{ fabric_name_10 }} + cisco.dcnm.dcnm_fabric: &merge_fabric_00_10 state: merged config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" BGP_AS: 65535 ANYCAST_GW_MAC: aaaabbbbcccc REPLICATION_MODE: Ingress DEPLOY: true - - FABRIC_NAME: "{{ fabric_name_3 }}" - FABRIC_TYPE: "{{ fabric_type_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + FABRIC_TYPE: "{{ fabric_type_10 }}" SUBINTERFACE_RANGE: 2-101 DEPLOY: true register: result @@ -457,10 +457,10 @@ - result.changed == true - result.failed == false - (result.diff | length) == 6 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].ANYCAST_GW_MAC == "aaaa.bbbb.cccc" - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_3 + - result.diff[1].FABRIC_NAME == fabric_name_10 - result.diff[1].SUBINTERFACE_RANGE == "2-101" - result.diff[1].sequence_number == 2 - (result.metadata | length) == 6 @@ -495,10 +495,10 @@ - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.ANYCAST_GW_MAC == "aaaa.bbbb.cccc" - result.response[0].DATA.nvPairs.REPLICATION_MODE == "Ingress" - - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_1 + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_00 - result.response[1].sequence_number == 2 - result.response[1].DATA.nvPairs.SUBINTERFACE_RANGE == "2-101" - - result.response[1].DATA.nvPairs.FABRIC_NAME == fabric_name_3 + - result.response[1].DATA.nvPairs.FABRIC_NAME == fabric_name_10 - result.response[1].MESSAGE == "OK" - result.response[1].METHOD == "PUT" - result.response[1].RETURN_CODE == 200 @@ -542,7 +542,7 @@ - result.result[5].success == true - result.result[5].sequence_number == 6 ################################################################################ -# MERGED - TEST - Merge additional configs into fabric_1 and fabric_3 - idempotence +# MERGED - TEST - Merge additional configs into fabric_name_00 and fabric_name_10 - idempotence ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -581,8 +581,8 @@ # } # } ################################################################################ -- name: MERGED - TEST - Merge additional configs into fabric_1 and fabric_3 - idempotence - cisco.dcnm.dcnm_fabric: *merge_fabric_1_3 +- name: MERGED - TEST - Merge additional configs into {{ fabric_name_00 }} and {{ fabric_name_10 }} - idempotence + cisco.dcnm.dcnm_fabric: *merge_fabric_00_10 register: result - debug: var: result @@ -608,9 +608,9 @@ ################################################################################ # MERGED - CLEANUP - Delete switches from all fabrics ################################################################################ -- name: Delete switches from fabric_1 +- name: Delete switches from {{ fabric_name_00 }} cisco.dcnm.dcnm_inventory: - fabric: "{{ fabric_name_1 }}" + fabric: "{{ fabric_name_00 }}" state: deleted config: register: result @@ -624,9 +624,9 @@ - result.response[0].MESSAGE == "OK" - result.response[0].METHOD == "DELETE" - result.response[0].RETURN_CODE == 200 -- name: Delete switches from fabric_3 +- name: Delete switches from {{ fabric_name_10 }} cisco.dcnm.dcnm_inventory: - fabric: "{{ fabric_name_3 }}" + fabric: "{{ fabric_name_10 }}" state: deleted config: register: result @@ -649,11 +649,11 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "sequence_number": 3 # } # ], @@ -674,18 +674,18 @@ # ], # "response": [ # { -# "DATA": "Fabric 'VXLAN_EVPN_Fabric' is deleted successfully!", +# "DATA": "Fabric 'VXLAN_EVPN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "DATA": "Fabric 'LAN_CLASSIC_Fabric' is deleted successfully!", +# "DATA": "Fabric 'LAN_CLASSIC' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC", # "RETURN_CODE": 200, # "sequence_number": 2 # } @@ -705,12 +705,12 @@ # } # } ################################################################################ -- name: MERGED - CLEANUP - Delete the fabrics +- name: MERGED - CLEANUP - Delete {{ fabric_name_00 }} and {{ fabric_name_10 }} cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result @@ -719,9 +719,9 @@ - result.changed == true - result.failed == false - (result.diff | length) == 2 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_3 + - result.diff[1].FABRIC_NAME == fabric_name_10 - result.diff[1].sequence_number == 2 - (result.metadata | length) == 2 - result.metadata[0].action == "fabric_delete" diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_save_deploy_ipfm.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_save_deploy_ipfm.yaml index eae4f6274..6a29e8a08 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_save_deploy_ipfm.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_merged_save_deploy_ipfm.yaml @@ -16,21 +16,21 @@ ################################################################################ # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_4 -# - fabric_type_4 # IPFM +# - fabric_name_40 +# - fabric_type_40 # IPFM # 3. Delete fabrics under test, if they exist -# - fabric_name_4 +# - fabric_name_40 ################################################################################ # TEST ################################################################################ # 4. Create fabrics and verify result -# - fabric_name_4 +# - fabric_name_40 # 5. Merge additional configs into fabric_4 and verify result ################################################################################ # CLEANUP ################################################################################ # 6. Delete fabrics under test -# - fabric_name_4 +# - fabric_name_40 ################################################################################ # REQUIREMENTS ################################################################################ @@ -45,8 +45,8 @@ # # vars: # testcase: dcnm_fabric_merged_save_deploy_ipfm -# fabric_name_4: IPFM_Fabric -# fabric_type_4: IPFM +# fabric_name_40: IPFM +# fabric_type_40: IPFM # leaf_1: 172.22.150.103 # nxos_username: admin # nxos_password: mypassword @@ -57,7 +57,7 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" register: result - debug: var: result @@ -72,7 +72,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # } # ], @@ -89,12 +89,12 @@ # { # "DATA": { # "nvPairs": { -# "FABRIC_NAME": "IPFM_Fabric" +# "FABRIC_NAME": "IPFM" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric/Easy_Fabric_IPFM", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM/Easy_Fabric_IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -109,12 +109,12 @@ # } # } ################################################################################ -- name: MERGED - TEST - Create IPFM fabric_4 with minimal config +- name: MERGED - TEST - Create IPFM {{ fabric_name_40 }} with minimal config cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_4 }}" - FABRIC_TYPE: "{{ fabric_type_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" + FABRIC_TYPE: "{{ fabric_type_40 }}" DEPLOY: true register: result - debug: @@ -124,7 +124,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_4 + - result.diff[0].FABRIC_NAME == fabric_name_40 - result.diff[0].sequence_number == 1 - result.metadata[0].action == "fabric_create" - result.metadata[0].check_mode == False @@ -136,11 +136,11 @@ - result.response[0].METHOD == "POST" - result.response[0].RETURN_CODE == 200 ################################################################################ -# MERGED - TEST - Add one leaf switch to fabric_4 +# MERGED - TEST - Add one leaf switch to fabric_name_40 ################################################################################ -- name: Merge leaf_1 into fabric_4 +- name: Merge leaf_1 into {{ fabric_name_40 }} cisco.dcnm.dcnm_inventory: - fabric: "{{ fabric_name_4 }}" + fabric: "{{ fabric_name_40 }}" state: merged config: - seed_ip: "{{ leaf_1 }}" @@ -154,7 +154,7 @@ - debug: var: result ################################################################################ -# MERGED - TEST - Merge additional valid configs into fabric_4 with DEPLOY true +# MERGED - TEST - Merge additional valid configs into fabric_name_40 with DEPLOY true ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -165,16 +165,16 @@ # "diff": [ # { # "FABRIC_MTU: "1500", -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "config_save": "OK", # "sequence_number": 2 # }, # { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "config_deploy": "OK", # "sequence_number": 3 # }, @@ -205,12 +205,12 @@ # "DATA": { # "nvPairs": { # "FABRIC_MTU: "1500", -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric/Easy_Fabric_IPFM", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM/Easy_Fabric_IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # }, @@ -220,7 +220,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric/config-save", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM/config-save", # "RETURN_CODE": 200, # "sequence_number": 2 # }, @@ -230,7 +230,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric/config-deploy?forceShowRun=false", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM/config-deploy?forceShowRun=false", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -255,12 +255,12 @@ # } # } ################################################################################ -- name: MERGED - TEST - Merge additional configs into fabric_4 with DEPLOY true - cisco.dcnm.dcnm_fabric: &merge_fabric_4 +- name: MERGED - TEST - Merge additional configs into {{ fabric_name_40 }} with DEPLOY true + cisco.dcnm.dcnm_fabric: &merge_fabric_name_40 state: merged config: - - FABRIC_NAME: "{{ fabric_name_4 }}" - FABRIC_TYPE: "{{ fabric_type_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" + FABRIC_TYPE: "{{ fabric_type_40 }}" FABRIC_MTU: 1500 DEPLOY: true register: result @@ -271,13 +271,13 @@ - result.changed == true - result.failed == false - (result.diff | length) == 3 - - result.diff[0].FABRIC_NAME == fabric_name_4 + - result.diff[0].FABRIC_NAME == fabric_name_40 - result.diff[0].FABRIC_MTU == "1500" - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_4 + - result.diff[1].FABRIC_NAME == fabric_name_40 - result.diff[1].config_save == "OK" - result.diff[1].sequence_number == 2 - - result.diff[2].FABRIC_NAME == fabric_name_4 + - result.diff[2].FABRIC_NAME == fabric_name_40 - result.diff[2].config_deploy == "OK" - result.diff[2].sequence_number == 3 - (result.metadata | length) == 3 @@ -318,7 +318,7 @@ - result.result[2].success == true - result.result[2].sequence_number == 3 ################################################################################ -# MERGED - TEST - Merge additional valid configs into fabric_4 - idempotence +# MERGED - TEST - Merge additional valid configs into fabric_name_40 - idempotence ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -357,8 +357,8 @@ # } # } ################################################################################ -- name: MERGED - TEST - Merge additional config into fabric_4 - idempotence - cisco.dcnm.dcnm_fabric: *merge_fabric_4 +- name: MERGED - TEST - Merge additional config into {{ fabric_name_40 }} - idempotence + cisco.dcnm.dcnm_fabric: *merge_fabric_name_40 register: result - debug: var: result @@ -382,11 +382,11 @@ - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# MERGED - CLEANUP - Delete switch from fabric_4 +# MERGED - CLEANUP - Delete switch from fabric_name_40 ################################################################################ -- name: Delete switch from fabric_4 +- name: Delete switch from {{ fabric_name_40 }} cisco.dcnm.dcnm_inventory: - fabric: "{{ fabric_name_4 }}" + fabric: "{{ fabric_name_40 }}" state: deleted config: register: result @@ -401,7 +401,7 @@ - result.response[0].METHOD == "DELETE" - result.response[0].RETURN_CODE == 200 ################################################################################ -# MERGED - CLEANUP - Delete fabric_4 +# MERGED - CLEANUP - Delete fabric_name_40 ################################################################################ # Expected result # ok: [ndfc1] => { @@ -409,7 +409,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # } # ], @@ -424,10 +424,10 @@ # ], # "response": [ # { -# "DATA": "Fabric 'IPFM_Fabric' is deleted successfully!", +# "DATA": "Fabric 'IPFM' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -442,11 +442,11 @@ # } # } ################################################################################ -- name: MERGED - CLEANUP - Delete fabric_4 +- name: MERGED - CLEANUP - Delete {{ fabric_name_40 }} cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" register: result - debug: var: result @@ -455,7 +455,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_4 + - result.diff[0].FABRIC_NAME == fabric_name_40 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete" diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_query_basic.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_query_basic.yaml index 46577fefc..2c6ffb527 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_query_basic.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_query_basic.yaml @@ -14,32 +14,32 @@ ################################################################################ # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_1 -# - fabric_type_1 # VXLAN_EVPN -# - fabric_name_2 -# - fabric_type_2 # VXLAN_EVPN_MSD -# - fabric_name_3 -# - fabric_type_3 # LAN_CLASSIC +# - fabric_name_00 +# - fabric_type_00 # VXLAN_EVPN +# - fabric_name_100 +# - fabric_type_100 # VXLAN_EVPN_MSD +# - fabric_name_10 +# - fabric_type_10 # LAN_CLASSIC # 2. Delete fabrics under test, if they exist -# - fabric_name_1 -# - fabric_name_2 -# - fabric_name_3 +# - fabric_name_00 +# - fabric_name_100 +# - fabric_name_10 ################################################################################ # TEST ################################################################################ # 3. Create fabrics and verify result -# - fabric_name_1 -# - fabric_name_1 -# - fabric_name_1 +# - fabric_name_00 +# - fabric_name_100 +# - fabric_name_10 # # 4. Query fabric configurations and verify results ################################################################################ # CLEANUP ################################################################################ # 6. Delete fabrics under test -# - fabric_name_1 -# - fabric_name_1 -# - fabric_name_1 +# - fabric_name_00 +# - fabric_name_100 +# - fabric_name_10 ################################################################################ # REQUIREMENTS ################################################################################ @@ -54,12 +54,12 @@ # # vars: # testcase: dcnm_fabric_query_basic -# fabric_name_1: VXLAN_EVPN_Fabric -# fabric_type_1: VXLAN_EVPN -# fabric_name_2: VXLAN_EVPN_MSD_Fabric -# fabric_type_2: VXLAN_EVPN_MSD -# fabric_name_3: LAN_CLASSIC_Fabric -# fabric_type_3: LAN_CLASSIC +# fabric_name_00: VXLAN_EVPN +# fabric_type_00: VXLAN_EVPN +# fabric_name_100: MSD +# fabric_type_100: VXLAN_EVPN_MSD +# fabric_name_10: LAN_CLASSIC +# fabric_type_10: LAN_CLASSIC ################################################################################ # QUERY - SETUP - Delete fabrics ################################################################################ @@ -67,9 +67,9 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_2 }}" - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result @@ -85,16 +85,16 @@ # "diff": [ # { # "BGP_AS": 65535, -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "sequence_number": 2 # }, # { # "BOOTSTRAP_ENABLE": false, -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": false, # "sequence_number": 3 # } @@ -125,24 +125,24 @@ # "DATA": { # "nvPairs": { # "BGP_AS": "65535", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric" +# "FABRIC_NAME": "VXLAN_EVPN" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { # "DATA": { # "nvPairs": { -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_MSD_Fabric/MSD_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/MSD/MSD_Fabric", # "RETURN_CODE": 200, # "sequence_number": 2 # }, @@ -150,13 +150,13 @@ # "DATA": { # "nvPairs": { # "BOOTSTRAP_ENABLE": "false", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": "false", # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/LAN_Classic", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/LAN_Classic", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -181,19 +181,19 @@ # } # } ################################################################################ -- name: QUERY - TEST - Create all supported fabric types with minimal config +- name: QUERY - TEST - Create {{ fabric_name_00 }}, {{ fabric_name_100 }}, and {{ fabric_name_10 }} with basic config cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" BGP_AS: 65535 DEPLOY: true - - FABRIC_NAME: "{{ fabric_name_2 }}" - FABRIC_TYPE: "{{ fabric_type_2 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + FABRIC_TYPE: "{{ fabric_type_100 }}" DEPLOY: true - - FABRIC_NAME: "{{ fabric_name_3 }}" - FABRIC_TYPE: "{{ fabric_type_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + FABRIC_TYPE: "{{ fabric_type_10 }}" BOOTSTRAP_ENABLE: false IS_READ_ONLY: false DEPLOY: true @@ -206,11 +206,11 @@ - result.failed == false - (result.diff | length) == 3 - result.diff[0].BGP_AS == 65535 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_2 + - result.diff[1].FABRIC_NAME == fabric_name_100 - result.diff[1].sequence_number == 2 - - result.diff[2].FABRIC_NAME == fabric_name_3 + - result.diff[2].FABRIC_NAME == fabric_name_10 - result.diff[2].sequence_number == 3 - result.diff[2].BOOTSTRAP_ENABLE == false - result.diff[2].IS_READ_ONLY == false @@ -244,11 +244,11 @@ # "changed": false, # "diff": [ # { -# "LAN_CLASSIC_Fabric": { +# "LAN_CLASSIC": { # "createdOn": 1721954060733, # "deviceType": "n9k", # "fabricId": "FABRIC-4", -# "fabricName": "LAN_CLASSIC_Fabric", +# "fabricName": "LAN_CLASSIC", # "fabricTechnology": "LANClassic", # "fabricTechnologyFriendly": "Classic LAN", # "fabricType": "External", @@ -283,7 +283,7 @@ # "ENABLE_NXAPI_HTTP": "false", # "EXT_FABRIC_TYPE": "", # "FABRIC_FREEFORM": "", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "FABRIC_TECHNOLOGY": "LANClassic", # "FABRIC_TYPE": "External", # "FEATURE_PTP": "false", @@ -331,12 +331,12 @@ # "replicationMode": "IngressReplication", # "templateName": "LAN_Classic" # }, -# "VXLAN_EVPN_Fabric": { +# "VXLAN_EVPN": { # "asn": "65535", # "createdOn": 1721954053773, # "deviceType": "n9k", # "fabricId": "FABRIC-2", -# "fabricName": "VXLAN_EVPN_Fabric", +# "fabricName": "VXLAN_EVPN", # "fabricTechnology": "VXLANFabric", # "fabricTechnologyFriendly": "VXLAN EVPN", # "fabricType": "Switch_Fabric", @@ -440,7 +440,7 @@ # "FABRIC_INTERFACE_TYPE": "p2p", # "FABRIC_MTU": "9216", # "FABRIC_MTU_PREV": "9216", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "FABRIC_TYPE": "Switch_Fabric", # "FABRIC_VPC_DOMAIN_ID": "", # "FABRIC_VPC_DOMAIN_ID_PREV": "", @@ -636,11 +636,11 @@ # "vrfExtensionTemplate": "Default_VRF_Extension_Universal", # "vrfTemplate": "Default_VRF_Universal" # }, -# "VXLAN_EVPN_MSD_Fabric": { +# "MSD": { # "createdOn": 1721954059451, # "deviceType": "n9k", # "fabricId": "FABRIC-3", -# "fabricName": "VXLAN_EVPN_MSD_Fabric", +# "fabricName": "MSD", # "fabricTechnology": "VXLANFabric", # "fabricTechnologyFriendly": "VXLAN EVPN", # "fabricType": "MFD", @@ -671,7 +671,7 @@ # "ENABLE_PVLAN_PREV": "false", # "ENABLE_RS_REDIST_DIRECT": "", # "EXT_FABRIC_TYPE": "", -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "FABRIC_TYPE": "MFD", # "FF": "MSD", # "L2_SEGMENT_ID_RANGE": "30000-49000", @@ -725,7 +725,7 @@ # "createdOn": 1721954059451, # "deviceType": "n9k", # "fabricId": "FABRIC-3", -# "fabricName": "VXLAN_EVPN_MSD_Fabric", +# "fabricName": "MSD", # "fabricTechnology": "VXLANFabric", # "fabricTechnologyFriendly": "VXLAN EVPN", # "fabricType": "MFD", @@ -756,7 +756,7 @@ # "ENABLE_PVLAN_PREV": "false", # "ENABLE_RS_REDIST_DIRECT": "", # "EXT_FABRIC_TYPE": "", -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "FABRIC_TYPE": "MFD", # "FF": "MSD", # "L2_SEGMENT_ID_RANGE": "30000-49000", @@ -795,7 +795,7 @@ # "createdOn": 1721954060733, # "deviceType": "n9k", # "fabricId": "FABRIC-4", -# "fabricName": "LAN_CLASSIC_Fabric", +# "fabricName": "LAN_CLASSIC", # "fabricTechnology": "LANClassic", # "fabricTechnologyFriendly": "Classic LAN", # "fabricType": "External", @@ -830,7 +830,7 @@ # "ENABLE_NXAPI_HTTP": "false", # "EXT_FABRIC_TYPE": "", # "FABRIC_FREEFORM": "", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "FABRIC_TECHNOLOGY": "LANClassic", # "FABRIC_TYPE": "External", # "FEATURE_PTP": "false", @@ -883,7 +883,7 @@ # "createdOn": 1721954053773, # "deviceType": "n9k", # "fabricId": "FABRIC-2", -# "fabricName": "VXLAN_EVPN_Fabric", +# "fabricName": "VXLAN_EVPN", # "fabricTechnology": "VXLANFabric", # "fabricTechnologyFriendly": "VXLAN EVPN", # "fabricType": "Switch_Fabric", @@ -987,7 +987,7 @@ # "FABRIC_INTERFACE_TYPE": "p2p", # "FABRIC_MTU": "9216", # "FABRIC_MTU_PREV": "9216", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "FABRIC_TYPE": "Switch_Fabric", # "FABRIC_VPC_DOMAIN_ID": "", # "FABRIC_VPC_DOMAIN_ID_PREV": "", @@ -1201,13 +1201,13 @@ # } # } ################################################################################ -- name: QUERY - TEST - Query the fabrics +- name: QUERY - TEST - Query {{ fabric_name_00 }}, {{ fabric_name_100 }}, {{ fabric_name_10 }} cisco.dcnm.dcnm_fabric: state: query config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_2 }}" - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result @@ -1216,9 +1216,9 @@ - result.changed == false - result.failed == false - (result.diff | length) == 1 - - fabric_name_1 in result.diff[0] - - fabric_name_2 in result.diff[0] - - fabric_name_3 in result.diff[0] + - fabric_name_00 in result.diff[0] + - fabric_name_100 in result.diff[0] + - fabric_name_10 in result.diff[0] - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_query" @@ -1244,15 +1244,15 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "sequence_number": 2 # }, # { -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "sequence_number": 3 # } # ], @@ -1279,26 +1279,26 @@ # ], # "response": [ # { -# "DATA": "Fabric 'VXLAN_EVPN_Fabric' is deleted successfully!", +# "DATA": "Fabric 'VXLAN_EVPN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "DATA": "Fabric 'VXLAN_EVPN_MSD_Fabric' is deleted successfully!", +# "DATA": "Fabric 'MSD' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_MSD_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/MSD", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "DATA": "Fabric 'LAN_CLASSIC_Fabric' is deleted successfully!", +# "DATA": "Fabric 'LAN_CLASSIC' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -1323,13 +1323,13 @@ # } # } ################################################################################ -- name: QUERY - CLEANUP - Delete the fabrics +- name: QUERY - CLEANUP - Delete {{ fabric_name_00 }}, {{ fabric_name_100 }}, {{ fabric_name_10 }} cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_2 }}" - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result @@ -1338,11 +1338,11 @@ - result.changed == true - result.failed == false - (result.diff | length) == 3 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_2 + - result.diff[1].FABRIC_NAME == fabric_name_100 - result.diff[1].sequence_number == 2 - - result.diff[2].FABRIC_NAME == fabric_name_3 + - result.diff[2].FABRIC_NAME == fabric_name_10 - result.diff[2].sequence_number == 3 - (result.metadata | length) == 3 - result.metadata[0].action == "fabric_delete" diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic.yaml index 9ccc34109..8d64bacf1 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic.yaml @@ -15,28 +15,28 @@ # SETUP # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_1 -# - fabric_type_1 # VXLAN_EVPN -# - fabric_name_2 -# - fabric_type_2 # VXLAN_EVPN_MSD -# - fabric_name_3 -# - fabric_type_3 # LAN_CLASSIC +# - fabric_name_00 +# - fabric_type_00 # VXLAN_EVPN +# - fabric_name_100 +# - fabric_type_100 # VXLAN_EVPN_MSD +# - fabric_name_10 +# - fabric_type_10 # LAN_CLASSIC # 3. Delete fabrics under test, if they exist -# - fabric_name_1 -# - fabric_name_2 -# - fabric_name_3 +# - fabric_name_00 +# - fabric_name_100 +# - fabric_name_10 # TEST # 4. Create fabrics with non-default configs and verify result -# - fabric_name_1 -# - fabric_name_2 -# - fabric_name_3 +# - fabric_name_00 +# - fabric_name_100 +# - fabric_name_10 # 5. Replace configs for fabric_1 and fabric_2 and verify result # 6. Replace config for fabric_3 and verify result # CLEANUP # 7. Delete fabrics under test -# - fabric_name_1 -# - fabric_name_2 -# - fabric_name_3 +# - fabric_name_00 +# - fabric_name_100 +# - fabric_name_10 ################################################################################ # REQUIREMENTS ################################################################################ @@ -51,12 +51,12 @@ # # vars: # testcase: dcnm_fabric_replaced_basic -# fabric_name_1: VXLAN_EVPN_Fabric -# fabric_type_1: VXLAN_EVPN -# fabric_name_2: VXLAN_EVPN_MSD_Fabric -# fabric_type_2: VXLAN_EVPN_MSD -# fabric_name_3: LAN_CLASSIC_Fabric -# fabric_type_3: LAN_CLASSIC +# fabric_name_00: VXLAN_EVPN +# fabric_type_00: VXLAN_EVPN +# fabric_name_100: MSD +# fabric_type_100: VXLAN_EVPN_MSD +# fabric_name_10: LAN_CLASSIC +# fabric_type_10: LAN_CLASSIC ################################################################################ # REPLACED - SETUP - Delete fabrics ################################################################################ @@ -64,9 +64,9 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_2 }}" - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result @@ -84,19 +84,19 @@ # "ADVERTISE_PIP_BGP": true, # "ANYCAST_GW_MAC": "00aa.bbcc.ddee", # "BGP_AS": 65535, -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Ingress", # "sequence_number": 1 # }, # { # "ANYCAST_GW_MAC": "00aa.bbcc.ddee", -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "sequence_number": 2 # }, # { # "BOOTSTRAP_ENABLE": false, # "DCI_SUBNET_TARGET_MASK": 31, -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": false, # "NXC_PROXY_PORT": 8088, # "sequence_number": 3 @@ -130,13 +130,13 @@ # "ADVERTISE_PIP_BGP": "true", # "ANYCAST_GW_MAC": "00aa.bbcc.ddee", # "BGP_AS": "65535", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Ingress", # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, @@ -144,12 +144,12 @@ # "DATA": { # "nvPairs": { # "ANYCAST_GW_MAC": "00aa.bbcc.ddee", -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric" +# "FABRIC_NAME": "MSD" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_MSD_Fabric/MSD_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/MSD/MSD_Fabric", # "RETURN_CODE": 200, # "sequence_number": 2 # }, @@ -158,14 +158,14 @@ # "nvPairs": { # "BOOTSTRAP_ENABLE": "false", # "DCI_SUBNET_TARGET_MASK": "31", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": "false", # "NXC_PROXY_PORT": "8088", # } # } # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/LAN_Classic", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/LAN_Classic", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -194,19 +194,19 @@ cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" ADVERTISE_PIP_BGP: true ANYCAST_GW_MAC: 00:aa:bb:cc:dd:ee BGP_AS: 65535 REPLICATION_MODE: Ingress DEPLOY: false - - FABRIC_NAME: "{{ fabric_name_2 }}" - FABRIC_TYPE: "{{ fabric_type_2 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + FABRIC_TYPE: "{{ fabric_type_100 }}" ANYCAST_GW_MAC: 00:aa:bb:cc:dd:ee DEPLOY: true - - FABRIC_NAME: "{{ fabric_name_3 }}" - FABRIC_TYPE: "{{ fabric_type_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + FABRIC_TYPE: "{{ fabric_type_10 }}" BOOTSTRAP_ENABLE: false DCI_SUBNET_TARGET_MASK: 31 IS_READ_ONLY: false @@ -222,17 +222,17 @@ - result.failed == false - (result.diff | length) == 3 - result.diff[0].BGP_AS == 65535 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - result.diff[0].ADVERTISE_PIP_BGP == true - result.diff[0].ANYCAST_GW_MAC == "00aa.bbcc.ddee" - result.diff[0].REPLICATION_MODE == "Ingress" - result.diff[1].ANYCAST_GW_MAC == "00aa.bbcc.ddee" - - result.diff[1].FABRIC_NAME == fabric_name_2 + - result.diff[1].FABRIC_NAME == fabric_name_100 - result.diff[1].sequence_number == 2 - result.diff[2].BOOTSTRAP_ENABLE == false - result.diff[2].DCI_SUBNET_TARGET_MASK == 31 - - result.diff[2].FABRIC_NAME == fabric_name_3 + - result.diff[2].FABRIC_NAME == fabric_name_10 - result.diff[2].IS_READ_ONLY == false - result.diff[2].NXC_PROXY_PORT == 8088 - result.diff[2].sequence_number == 3 @@ -256,21 +256,21 @@ - result.response[0].DATA.nvPairs.ADVERTISE_PIP_BGP == "true" - result.response[0].DATA.nvPairs.ANYCAST_GW_MAC == "00aa.bbcc.ddee" - result.response[0].DATA.nvPairs.BGP_AS == "65535" - - result.response[0].DATA.nvPairs.FABRIC_NAME == "VXLAN_EVPN_Fabric" + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_00 - result.response[0].DATA.nvPairs.REPLICATION_MODE == "Ingress" - result.response[1].sequence_number == 2 - result.response[1].MESSAGE == "OK" - result.response[1].METHOD == "POST" - result.response[1].RETURN_CODE == 200 - result.response[1].DATA.nvPairs.ANYCAST_GW_MAC == "00aa.bbcc.ddee" - - result.response[1].DATA.nvPairs.FABRIC_NAME == "VXLAN_EVPN_MSD_Fabric" + - result.response[1].DATA.nvPairs.FABRIC_NAME == fabric_name_100 - result.response[2].sequence_number == 3 - result.response[2].MESSAGE == "OK" - result.response[2].METHOD == "POST" - result.response[2].RETURN_CODE == 200 - result.response[2].DATA.nvPairs.BOOTSTRAP_ENABLE == "false" - result.response[2].DATA.nvPairs.DCI_SUBNET_TARGET_MASK == "31" - - result.response[2].DATA.nvPairs.FABRIC_NAME == "LAN_CLASSIC_Fabric" + - result.response[2].DATA.nvPairs.FABRIC_NAME == fabric_name_10 - result.response[2].DATA.nvPairs.IS_READ_ONLY == "false" - result.response[2].DATA.nvPairs.NXC_PROXY_PORT == "8088" ################################################################################ @@ -286,13 +286,13 @@ # { # "ADVERTISE_PIP_BGP": "false", # "ANYCAST_GW_MAC": "2020.0000.00aa", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Multicast", # "sequence_number": 1 # }, # { # "ANYCAST_GW_MAC": "2020.0000.00aa", -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "sequence_number": 2 # }, # { @@ -353,13 +353,13 @@ # "nvPairs": { # "ADVERTISE_PIP_BGP": "false", # "ANYCAST_GW_MAC": "2020.0000.00aa", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Multicast", # } # } # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, @@ -367,32 +367,32 @@ # "DATA": { # "nvPairs": { # "ANYCAST_GW_MAC": "2020.0000.00aa", -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # } # } # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_MSD_Fabric/MSD_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/MSD/MSD_Fabric", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "MESSAGE": "Fabric VXLAN_EVPN_Fabric DEPLOY is False or None. Skipping config-save.", +# "MESSAGE": "Fabric VXLAN_EVPN DEPLOY is False or None. Skipping config-save.", # "RETURN_CODE": 200, # "sequence_number": 3 # }, # { -# "MESSAGE": "Fabric VXLAN_EVPN_MSD_Fabric DEPLOY is False or None. Skipping config-save.", +# "MESSAGE": "Fabric MSD DEPLOY is False or None. Skipping config-save.", # "RETURN_CODE": 200, # "sequence_number": 4 # }, # { -# "MESSAGE": "Fabric VXLAN_EVPN_Fabric DEPLOY is False or None. Skipping config-deploy.", +# "MESSAGE": "Fabric VXLAN_EVPN DEPLOY is False or None. Skipping config-deploy.", # "RETURN_CODE": 200, # "sequence_number": 5 # }, # { -# "MESSAGE": "Fabric VXLAN_EVPN_MSD_Fabric DEPLOY is False or None. Skipping config-deploy.", +# "MESSAGE": "Fabric MSD DEPLOY is False or None. Skipping config-deploy.", # "RETURN_CODE": 200, # "sequence_number": 6 # } @@ -432,16 +432,16 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace configs for fabric_1 and fabric_2 with default config +- name: REPLACED - TEST - Replace fabric {{ fabric_name_00 }} and fabric {{ fabric_name_100 }} configs with default config cisco.dcnm.dcnm_fabric: state: replaced config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" BGP_AS: 65535 DEPLOY: false - - FABRIC_NAME: "{{ fabric_name_2 }}" - FABRIC_TYPE: "{{ fabric_type_2 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + FABRIC_TYPE: "{{ fabric_type_100 }}" DEPLOY: false register: result - debug: @@ -453,11 +453,11 @@ - (result.diff | length) == 6 - result.diff[0].ADVERTISE_PIP_BGP == "false" - result.diff[0].ANYCAST_GW_MAC == "2020.0000.00aa" - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].REPLICATION_MODE == "Multicast" - result.diff[0].sequence_number == 1 - result.diff[1].ANYCAST_GW_MAC == "2020.0000.00aa" - - result.diff[1].FABRIC_NAME == fabric_name_2 + - result.diff[1].FABRIC_NAME == fabric_name_100 - result.diff[1].sequence_number == 2 - result.diff[2].sequence_number == 3 - result.diff[3].sequence_number == 4 @@ -495,14 +495,14 @@ - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.ADVERTISE_PIP_BGP == "false" - result.response[0].DATA.nvPairs.ANYCAST_GW_MAC == "2020.0000.00aa" - - result.response[0].DATA.nvPairs.FABRIC_NAME == "VXLAN_EVPN_Fabric" + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_00 - result.response[0].DATA.nvPairs.REPLICATION_MODE == "Multicast" - result.response[1].sequence_number == 2 - result.response[1].MESSAGE == "OK" - result.response[1].METHOD == "PUT" - result.response[1].RETURN_CODE == 200 - result.response[1].DATA.nvPairs.ANYCAST_GW_MAC == "2020.0000.00aa" - - result.response[1].DATA.nvPairs.FABRIC_NAME == "VXLAN_EVPN_MSD_Fabric" + - result.response[1].DATA.nvPairs.FABRIC_NAME == fabric_name_100 - result.response[2].sequence_number == 3 - result.response[2].RETURN_CODE == 200 - result.response[2].MESSAGE is match '.*Skipping config-save.*' @@ -535,7 +535,7 @@ - result.result[5].success == true - result.result[5].sequence_number == 6 ################################################################################ -# REPLACED - TEST - Replace config for fabric_3 with default config +# REPLACED - TEST - Replace config for fabric_name_10 with default config # (except IS_READ_ONLY and BOOTSTRAP_ENABLE) ################################################################################ # Expected result @@ -547,7 +547,7 @@ # "diff": [ # { # "DCI_SUBNET_TARGET_MASK": "30", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "NXC_PROXY_PORT": "8080", # "sequence_number": 1 # }, @@ -585,24 +585,24 @@ # "nvPairs": { # "BOOTSTRAP_ENABLE": "false", # "DCI_SUBNET_TARGET_MASK": "30", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": "false", # "NXC_PROXY_PORT": "8080", # } # } # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/LAN_Classic", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/LAN_Classic", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "MESSAGE": "Fabric LAN_CLASSIC_Fabric DEPLOY is False or None. Skipping config-save.", +# "MESSAGE": "Fabric LAN_CLASSIC DEPLOY is False or None. Skipping config-save.", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "MESSAGE": "Fabric LAN_CLASSIC_Fabric DEPLOY is False or None. Skipping config-deploy.", +# "MESSAGE": "Fabric LAN_CLASSIC DEPLOY is False or None. Skipping config-deploy.", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -627,12 +627,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace config for fabric_3 with default config (except IS_READ_ONLY and BOOTSTRAP_ENABLE) - cisco.dcnm.dcnm_fabric: &replace_fabric_3 +- name: REPLACED - TEST - Replace fabric {{ fabric_name_10 }} config with default config (except IS_READ_ONLY and BOOTSTRAP_ENABLE) + cisco.dcnm.dcnm_fabric: &replace_fabric_name_10 state: replaced config: - - FABRIC_NAME: "{{ fabric_name_3 }}" - FABRIC_TYPE: "{{ fabric_type_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + FABRIC_TYPE: "{{ fabric_type_10 }}" BOOTSTRAP_ENABLE: false IS_READ_ONLY: false DEPLOY: false @@ -645,7 +645,7 @@ - result.failed == false - (result.diff | length) == 3 - result.diff[0].DCI_SUBNET_TARGET_MASK == "30" - - result.diff[0].FABRIC_NAME == fabric_name_3 + - result.diff[0].FABRIC_NAME == fabric_name_10 - result.diff[0].NXC_PROXY_PORT == "8080" - result.diff[0].sequence_number == 1 - result.diff[1].sequence_number == 2 @@ -670,7 +670,7 @@ - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.BOOTSTRAP_ENABLE == "false" - result.response[0].DATA.nvPairs.DCI_SUBNET_TARGET_MASK == "30" - - result.response[0].DATA.nvPairs.FABRIC_NAME == "LAN_CLASSIC_Fabric" + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_10 - result.response[0].DATA.nvPairs.IS_READ_ONLY == "false" - result.response[0].DATA.nvPairs.NXC_PROXY_PORT == "8080" - result.response[1].sequence_number == 2 @@ -690,7 +690,7 @@ - result.result[2].success == true - result.result[2].sequence_number == 3 ################################################################################ -# REPLACED - TEST - Replace config for fabric_3 with default config +# REPLACED - TEST - Replace fabric fabric_name_10 config with default config idempotence # # NOTES: # The following parameters are retained since LAN_CLASSIC is read-only by default @@ -735,8 +735,8 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace config for fabric_3 with default config - idempotence - cisco.dcnm.dcnm_fabric: *replace_fabric_3 +- name: REPLACED - TEST - Replace fabric {{ fabric_name_10 }} config with default config - idempotence + cisco.dcnm.dcnm_fabric: *replace_fabric_name_10 register: result - debug: var: result @@ -768,15 +768,15 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "VXLAN_EVPN_MSD_Fabric", +# "FABRIC_NAME": "MSD", # "sequence_number": 2 # }, # { -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "sequence_number": 3 # } # ], @@ -803,26 +803,26 @@ # ], # "response": [ # { -# "DATA": "Fabric 'VXLAN_EVPN_Fabric' is deleted successfully!", +# "DATA": "Fabric 'VXLAN_EVPN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "DATA": "Fabric 'VXLAN_EVPN_MSD_Fabric' is deleted successfully!", +# "DATA": "Fabric 'MSD' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_MSD_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/MSD", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "DATA": "Fabric 'LAN_CLASSIC_Fabric' is deleted successfully!", +# "DATA": "Fabric 'LAN_CLASSIC' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -851,9 +851,9 @@ cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_2 }}" - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_100 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result @@ -862,11 +862,11 @@ - result.changed == true - result.failed == false - (result.diff | length) == 3 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_2 + - result.diff[1].FABRIC_NAME == fabric_name_100 - result.diff[1].sequence_number == 2 - - result.diff[2].FABRIC_NAME == fabric_name_3 + - result.diff[2].FABRIC_NAME == fabric_name_10 - result.diff[2].sequence_number == 3 - (result.metadata | length) == 3 - result.metadata[0].action == "fabric_delete" diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_ipfm.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_ipfm.yaml index 607da2e25..52ef626ba 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_ipfm.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_ipfm.yaml @@ -15,17 +15,17 @@ # SETUP # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_4 -# - fabric_type_4 # IPFM +# - fabric_name_40 +# - fabric_type_40 # IPFM # 3. Delete fabrics under test, if they exist -# - fabric_name_4 +# - fabric_name_40 # TEST # 4. Create fabrics with non-default configs and verify result -# - fabric_name_4 +# - fabric_name_40 # 5. Replace configs for fabric_4 verify result # CLEANUP # 7. Delete fabrics under test -# - fabric_name_4 +# - fabric_name_40 ################################################################################ # REQUIREMENTS ################################################################################ @@ -40,16 +40,16 @@ # # vars: # testcase: dcnm_fabric_replaced_basic_ipfm -# fabric_name_4: IPFM_Fabric -# fabric_type_4: IPFM +# fabric_name_40: IPFM +# fabric_type_40: IPFM ################################################################################ # REPLACED - SETUP - Delete fabrics ################################################################################ -- name: REPLACED - SETUP - Delete fabrics +- name: REPLACED - SETUP - Delete {{ fabric_name_40 }} fabric if it exists cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" register: result - debug: var: result @@ -65,7 +65,7 @@ # "diff": [ # { # "FABRIC_MTU": 1500, -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # }, # ], @@ -82,13 +82,13 @@ # { # "DATA": { # "nvPairs": { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "FABRIC_MTU": "1500" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric/Easy_Fabric_IPFM", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM/Easy_Fabric_IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -103,12 +103,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Create IPFM fabric with non-default config. +- name: REPLACED - TEST - Create fabric {{ fabric_name_40 }} with non-default config. cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_4 }}" - FABRIC_TYPE: "{{ fabric_type_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" + FABRIC_TYPE: "{{ fabric_type_40 }}" FABRIC_MTU: 1500 DEPLOY: true register: result @@ -132,13 +132,13 @@ - result.response[0].METHOD == "POST" - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.FABRIC_MTU == "1500" - - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_4 + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_40 - (result.result | length) == 1 - result.result[0].changed == true - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# REPLACED - TEST - Replace configs for fabric_4 with default config +# REPLACED - TEST - Replace configs for fabric_name_40 with default config ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -149,7 +149,7 @@ # "diff": [ # { # "FABRIC_MTU": "9216", -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # }, # { @@ -185,22 +185,22 @@ # "DATA": { # "nvPairs": { # "FABRIC_MTU": "9216", -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/IPFM_Fabric/Easy_Fabric_IPFM", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/IPFM/Easy_Fabric_IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "MESSAGE": "Fabric IPFM_Fabric DEPLOY is False or None. Skipping config-save.", +# "MESSAGE": "Fabric IPFM DEPLOY is False or None. Skipping config-save.", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "MESSAGE": "Fabric IPFM_Fabric DEPLOY is False or None. Skipping config-deploy.", +# "MESSAGE": "Fabric IPFM DEPLOY is False or None. Skipping config-deploy.", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -225,12 +225,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace configs for fabric_4 with default config - cisco.dcnm.dcnm_fabric: &replace_fabric_4 +- name: REPLACED - TEST - Replace {{ fabric_name_40 }} config with default config + cisco.dcnm.dcnm_fabric: &replace_fabric_name_40 state: replaced config: - - FABRIC_NAME: "{{ fabric_name_4 }}" - FABRIC_TYPE: "{{ fabric_type_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" + FABRIC_TYPE: "{{ fabric_type_40 }}" DEPLOY: false register: result - debug: @@ -263,7 +263,7 @@ - result.response[0].METHOD == "PUT" - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.FABRIC_MTU == "9216" - - result.response[0].DATA.nvPairs.FABRIC_NAME == "IPFM_Fabric" + - result.response[0].DATA.nvPairs.FABRIC_NAME == "IPFM" - result.response[1].sequence_number == 2 - result.response[1].MESSAGE is match '.*Skipping config-save.*' - result.response[1].RETURN_CODE == 200 @@ -281,7 +281,7 @@ - result.result[2].success == true - result.result[2].sequence_number == 3 ################################################################################ -# REPLACED - TEST - Replace config for fabric_4 with default config omnipotence +# REPLACED - TEST - Replace fabric_name_40 config with default config idempotence ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -320,8 +320,8 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace config for fabric_4 with default config omnipotence - cisco.dcnm.dcnm_fabric: *replace_fabric_4 +- name: REPLACED - TEST - Replace {{ fabric_name_40 }} config with default config idempotence + cisco.dcnm.dcnm_fabric: *replace_fabric_name_40 register: result - debug: var: result @@ -345,7 +345,7 @@ - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# REPLACED - CLEANUP - Delete the fabrics +# REPLACED - CLEANUP - Delete fabric fabric_name_40 ################################################################################ # Expected result # ok: [ndfc1] => { @@ -353,7 +353,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # } # ], @@ -368,10 +368,10 @@ # ], # "response": [ # { -# "DATA": "Fabric 'IPFM_Fabric' is deleted successfully!", +# "DATA": "Fabric 'IPFM' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -386,11 +386,11 @@ # } # } ################################################################################ -- name: MERGED - CLEANUP - Delete the fabrics +- name: MERGED - CLEANUP - Delete fabric {{ fabric_name_40 }} cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" register: result - debug: var: result @@ -399,7 +399,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_4 + - result.diff[0].FABRIC_NAME == fabric_name_40 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete" diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_isn.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_isn.yaml index 044abcfec..d09ef1d29 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_isn.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_isn.yaml @@ -16,17 +16,17 @@ # SETUP # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_5 -# - fabric_type_5 # ISN +# - fabric_name_30 +# - fabric_type_30 # ISN # 3. Delete fabrics under test, if they exist -# - fabric_name_5 +# - fabric_name_30 # TEST # 4. Create fabrics with non-default configs and verify result -# - fabric_name_5 +# - fabric_name_30 # 5. Replace configs for fabric_5 verify result # CLEANUP # 7. Delete fabrics under test -# - fabric_name_5 +# - fabric_name_30 ################################################################################ # REQUIREMENTS ################################################################################ @@ -41,16 +41,16 @@ # # vars: # testcase: dcnm_fabric_replaced_basic_isn -# fabric_name_5: ISN_Fabric -# fabric_type_5: ISN +# fabric_name_30: ISN +# fabric_type_30: ISN ################################################################################ # REPLACED - SETUP - Delete fabrics ################################################################################ -- name: REPLACED - SETUP - Delete fabrics +- name: REPLACED - SETUP - Delete fabric {{ fabric_name_30 }} if it exists cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_5 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" register: result - debug: var: result @@ -67,7 +67,7 @@ # { # "BGP_AS": 65005, # "DCI_SUBNET_RANGE": "10.20.1.0/24", -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "LOOPBACK0_IP_RANGE": "10.2.0.0/22", # "sequence_number": 1 # } @@ -87,7 +87,7 @@ # "asn": "65005", # "deviceType": "n9k", # "fabricId": "FABRIC-4", -# "fabricName": "ISN_Fabric", +# "fabricName": "ISN", # "fabricTechnology": "External", # "fabricTechnologyFriendly": "Custom", # "fabricType": "External", @@ -96,14 +96,14 @@ # "nvPairs": { # "BGP_AS": "65005", # "DCI_SUBNET_RANGE": "10.20.1.0/24", -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "FABRIC_TYPE": "External", # "LOOPBACK0_IP_RANGE": "10.2.0.0/22" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN_Fabric/External_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN/External_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -118,12 +118,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Create ISN fabric with non-default config. +- name: REPLACED - TEST - Create fabric {{ fabric_name_30 }} with non-default config. cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_5 }}" - FABRIC_TYPE: "{{ fabric_type_5 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" + FABRIC_TYPE: "{{ fabric_type_30 }}" BGP_AS: 65005 DCI_SUBNET_RANGE: "10.20.1.0/24" LOOPBACK0_IP_RANGE: "10.2.0.0/22" @@ -138,7 +138,7 @@ - (result.diff | length) == 1 - result.diff[0].sequence_number == 1 - result.diff[0].BGP_AS == 65005 - - result.diff[0].FABRIC_NAME == "ISN_Fabric" + - result.diff[0].FABRIC_NAME == fabric_name_30 - result.diff[0].DCI_SUBNET_RANGE == "10.20.1.0/24" - result.diff[0].LOOPBACK0_IP_RANGE == "10.2.0.0/22" - (result.metadata | length) == 1 @@ -153,7 +153,7 @@ - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.BGP_AS == "65005" - result.response[0].DATA.nvPairs.DCI_SUBNET_RANGE == "10.20.1.0/24" - - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_5 + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_30 - result.response[0].DATA.nvPairs.FABRIC_TYPE == "External" - result.response[0].DATA.nvPairs.LOOPBACK0_IP_RANGE == "10.2.0.0/22" - (result.result | length) == 1 @@ -161,7 +161,7 @@ - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# REPLACED - TEST - Replace configs for fabric_5 with default config +# REPLACED - TEST - Replace fabric_name_30 config with default config ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -172,7 +172,7 @@ # "diff": [ # { # "DCI_SUBNET_RANGE": "10.10.1.0/24", -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "LOOPBACK0_IP_RANGE": "10.1.0.0/22", # "sequence_number": 1 # }, @@ -211,7 +211,7 @@ # "createdOn": 1725068607212, # "deviceType": "n9k", # "fabricId": "FABRIC-4", -# "fabricName": "ISN_Fabric", +# "fabricName": "ISN", # "fabricTechnology": "External", # "fabricTechnologyFriendly": "Custom", # "fabricType": "External", @@ -221,24 +221,24 @@ # "nvPairs": { # "BGP_AS": "65005", # "DCI_SUBNET_RANGE": "10.10.1.0/24", -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "FABRIC_TYPE": "External", # "LOOPBACK0_IP_RANGE": "10.1.0.0/22" # } # } # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN_Fabric/External_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN/External_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "MESSAGE": "Fabric ISN_Fabric DEPLOY is False or None. Skipping config-save.", +# "MESSAGE": "Fabric ISN DEPLOY is False or None. Skipping config-save.", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "MESSAGE": "FabricConfigDeploy._can_fabric_be_deployed: Fabric ISN_Fabric DEPLOY is False or None. Skipping config-deploy.", +# "MESSAGE": "FabricConfigDeploy._can_fabric_be_deployed: Fabric ISN DEPLOY is False or None. Skipping config-deploy.", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -263,12 +263,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace configs for fabric_5 with default config - cisco.dcnm.dcnm_fabric: &replace_fabric_5 +- name: REPLACED - TEST - Replace {{ fabric_name_30 }} config with default config + cisco.dcnm.dcnm_fabric: &replace_fabric_name_30 state: replaced config: - - FABRIC_NAME: "{{ fabric_name_5 }}" - FABRIC_TYPE: "{{ fabric_type_5 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" + FABRIC_TYPE: "{{ fabric_type_30 }}" BGP_AS: 65005 DEPLOY: false register: result @@ -281,7 +281,7 @@ - (result.diff | length) == 3 - result.diff[0].sequence_number == 1 - result.diff[0].DCI_SUBNET_RANGE == "10.10.1.0/24" - - result.diff[0].FABRIC_NAME == "ISN_Fabric" + - result.diff[0].FABRIC_NAME == fabric_name_30 - result.diff[0].LOOPBACK0_IP_RANGE == "10.1.0.0/22" - result.diff[1].sequence_number == 2 - result.diff[2].sequence_number == 3 @@ -305,7 +305,7 @@ - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.BGP_AS == "65005" - result.response[0].DATA.nvPairs.DCI_SUBNET_RANGE == "10.10.1.0/24" - - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_5 + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_30 - result.response[0].DATA.nvPairs.FABRIC_TYPE == "External" - result.response[0].DATA.nvPairs.LOOPBACK0_IP_RANGE == "10.1.0.0/22" - result.response[1].sequence_number == 2 @@ -325,7 +325,7 @@ - result.result[2].success == true - result.result[2].sequence_number == 3 ################################################################################ -# REPLACED - TEST - Replace config for fabric_5 with default config omnipotence +# REPLACED - TEST - Replace config for fabric_5 with default config idempotence ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -364,8 +364,8 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace config for fabric_5 with default config omnipotence - cisco.dcnm.dcnm_fabric: *replace_fabric_5 +- name: REPLACED - TEST - Replace fabric {{ fabric_name_30 }} config with default config idempotence + cisco.dcnm.dcnm_fabric: *replace_fabric_name_30 register: result - debug: var: result @@ -389,7 +389,7 @@ - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# REPLACED - CLEANUP - Delete the fabrics +# REPLACED - CLEANUP - Delete fabric_name_30 ################################################################################ # Expected result # ok: [172.22.150.244] => { @@ -397,7 +397,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "ISN_Fabric", +# "FABRIC_NAME": "ISN", # "sequence_number": 1 # } # ], @@ -412,10 +412,10 @@ # ], # "response": [ # { -# "DATA": "Invalid JSON response: Fabric 'ISN_Fabric' is deleted successfully!", +# "DATA": "Invalid JSON response: Fabric 'ISN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/ISN", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -430,11 +430,11 @@ # } # } ################################################################################ -- name: MERGED - CLEANUP - Delete the fabrics +- name: MERGED - CLEANUP - Delete {{ fabric_name_30 }} cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_5 }}" + - FABRIC_NAME: "{{ fabric_name_30 }}" register: result - debug: var: result @@ -443,7 +443,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_5 + - result.diff[0].FABRIC_NAME == fabric_name_30 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete" diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_vxlan.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_vxlan.yaml index 1f12acf03..f6f52ac0a 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_vxlan.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_vxlan.yaml @@ -13,20 +13,19 @@ # STEPS ################################################################################ # SETUP -# 1. The following fabrics must be empty on the controller +# 1. The following fabric must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_1 -# - fabric_type_1 # VXLAN_EVPN -# 3. Delete fabrics under test, if they exist -# - fabric_name_1 +# - fabric_name_00 +# - fabric_type_00 # VXLAN_EVPN +# 3. Delete fabric under test, if it exists +# - fabric_name_00 # TEST -# 4. Create fabrics with non-default configs and verify result -# - fabric_name_1 -# 5. Replace configs for fabric_1 and fabric_2 and verify result -# 6. Replace config for fabric_3 and verify result +# 4. Create fabric with non-default configs and verify result +# - fabric_name_00 +# 5. Replace fabric fabric_name_00 config with default config and verify result # CLEANUP -# 7. Delete fabrics under test -# - fabric_name_1 +# 7. Delete fabric fabric_name_00 +# - fabric_name_00 ################################################################################ # REQUIREMENTS ################################################################################ @@ -41,21 +40,21 @@ # # vars: # testcase: dcnm_fabric_replaced_basic_vxlan -# fabric_name_1: VXLAN_EVPN_Fabric -# fabric_type_1: VXLAN_EVPN +# fabric_name_00: VXLAN_EVPN +# fabric_type_00: VXLAN_EVPN ################################################################################ -# REPLACED - SETUP - Delete fabrics +# REPLACED - SETUP - Delete fabric_name_00 if it exists ################################################################################ -- name: REPLACED - SETUP - Delete fabrics +- name: REPLACED - SETUP - Delete fabric {{ fabric_name_00 }} if it exists cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" register: result - debug: var: result ################################################################################ -# REPLACED - TEST - Create fabric_name_1 with non-default config +# REPLACED - TEST - Create fabric_name_00 with non-default config ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -68,7 +67,7 @@ # "ADVERTISE_PIP_BGP": true, # "ANYCAST_GW_MAC": "00aa.bbcc.ddee", # "BGP_AS": 65535, -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Ingress", # "sequence_number": 1 # } @@ -89,13 +88,13 @@ # "ADVERTISE_PIP_BGP": "true", # "ANYCAST_GW_MAC": "00aa.bbcc.ddee", # "BGP_AS": "65535", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Ingress", # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -110,12 +109,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Create fabric_name_1 with non-default config +- name: REPLACED - TEST - Create fabric {{ fabric_name_00 }} with non-default config cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" ADVERTISE_PIP_BGP: true ANYCAST_GW_MAC: 00:aa:bb:cc:dd:ee BGP_AS: 65535 @@ -130,7 +129,7 @@ - result.failed == false - (result.diff | length) == 1 - result.diff[0].BGP_AS == 65535 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - result.diff[0].ADVERTISE_PIP_BGP == true - result.diff[0].ANYCAST_GW_MAC == "00aa.bbcc.ddee" @@ -148,10 +147,10 @@ - result.response[0].DATA.nvPairs.ADVERTISE_PIP_BGP == "true" - result.response[0].DATA.nvPairs.ANYCAST_GW_MAC == "00aa.bbcc.ddee" - result.response[0].DATA.nvPairs.BGP_AS == "65535" - - result.response[0].DATA.nvPairs.FABRIC_NAME == "VXLAN_EVPN_Fabric" + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_00 - result.response[0].DATA.nvPairs.REPLICATION_MODE == "Ingress" ################################################################################ -# REPLACED - TEST - Replace config for fabric_1 with default config +# REPLACED - TEST - Replace config for fabric_name_00 with default config ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -163,7 +162,7 @@ # { # "ADVERTISE_PIP_BGP": "false", # "ANYCAST_GW_MAC": "2020.0000.00aa", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Multicast", # "sequence_number": 1 # }, @@ -201,23 +200,23 @@ # "nvPairs": { # "ADVERTISE_PIP_BGP": "false", # "ANYCAST_GW_MAC": "2020.0000.00aa", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Multicast", # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "MESSAGE": "Fabric VXLAN_EVPN_Fabric DEPLOY is False or None. Skipping config-save.", +# "MESSAGE": "Fabric VXLAN_EVPN DEPLOY is False or None. Skipping config-save.", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "MESSAGE": "FabricConfigDeploy._can_fabric_be_deployed: Fabric VXLAN_EVPN_Fabric DEPLOY is False or None. Skipping config-deploy.", +# "MESSAGE": "FabricConfigDeploy._can_fabric_be_deployed: Fabric VXLAN_EVPN DEPLOY is False or None. Skipping config-deploy.", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -242,12 +241,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace config for fabric_1 with default config - cisco.dcnm.dcnm_fabric: &replace_fabric_1 +- name: REPLACED - TEST - Replace fabric {{ fabric_name_00 }} config with default config + cisco.dcnm.dcnm_fabric: &replace_fabric_name_00 state: replaced config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" BGP_AS: 65535 DEPLOY: false register: result @@ -260,7 +259,7 @@ - (result.diff | length) == 3 - result.diff[0].ADVERTISE_PIP_BGP == "false" - result.diff[0].ANYCAST_GW_MAC == "2020.0000.00aa" - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].REPLICATION_MODE == "Multicast" - result.diff[0].sequence_number == 1 - result.diff[1].sequence_number == 2 @@ -285,7 +284,7 @@ - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.ADVERTISE_PIP_BGP == "false" - result.response[0].DATA.nvPairs.ANYCAST_GW_MAC == "2020.0000.00aa" - - result.response[0].DATA.nvPairs.FABRIC_NAME == "VXLAN_EVPN_Fabric" + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_00 - result.response[0].DATA.nvPairs.REPLICATION_MODE == "Multicast" - result.response[1].sequence_number == 2 - result.response[1].RETURN_CODE == 200 @@ -305,7 +304,7 @@ - result.result[2].sequence_number == 3 ################################################################################ -# REPLACED - TEST - Replace config for fabric_1 with default config omnipotence +# REPLACED - TEST - Replace fabric fabric_name_00 config with default config idempotence ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -344,8 +343,8 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace config for fabric_1 with default config - idempotence - cisco.dcnm.dcnm_fabric: *replace_fabric_1 +- name: REPLACED - TEST - Replace fabric {{ fabric_name_00 }} config with default config - idempotence + cisco.dcnm.dcnm_fabric: *replace_fabric_name_00 register: result - debug: var: result @@ -369,7 +368,7 @@ - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# REPLACED - CLEANUP - Delete the fabrics +# REPLACED - CLEANUP - Delete fabric_name_00 ################################################################################ # Expected result # ok: [ndfc1] => { @@ -377,7 +376,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # } # ], @@ -392,10 +391,10 @@ # ], # "response": [ # { -# "DATA": "Fabric 'VXLAN_EVPN_Fabric' is deleted successfully!", +# "DATA": "Fabric 'VXLAN_EVPN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -410,11 +409,11 @@ # } # } ################################################################################ -- name: MERGED - CLEANUP - Delete the fabrics +- name: MERGED - CLEANUP - Delete fabric {{ fabric_name_00 }} cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" register: result - debug: var: result @@ -423,7 +422,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete" diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_vxlan_site_id.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_vxlan_site_id.yaml index 980e42660..e81441a60 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_vxlan_site_id.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_basic_vxlan_site_id.yaml @@ -15,18 +15,18 @@ # SETUP # 1. The following fabrics must be empty on the controller # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_1 -# - fabric_type_1 # VXLAN_EVPN +# - fabric_name_00 +# - fabric_type_00 # VXLAN_EVPN # 3. Delete fabrics under test, if they exist -# - fabric_name_1 +# - fabric_name_00 # TEST # 4. Create fabrics with non-default configs and verify result -# - fabric_name_1 +# - fabric_name_00 # 5. Replace configs for fabric_1 and fabric_2 and verify result # 6. Replace config for fabric_3 and verify result # CLEANUP # 7. Delete fabrics under test -# - fabric_name_1 +# - fabric_name_00 ################################################################################ # REQUIREMENTS ################################################################################ @@ -41,21 +41,21 @@ # # vars: # testcase: dcnm_fabric_replaced_basic_vxlan -# fabric_name_1: VXLAN_EVPN_Fabric -# fabric_type_1: VXLAN_EVPN +# fabric_name_00: VXLAN_EVPN +# fabric_type_00: VXLAN_EVPN ################################################################################ # REPLACED - SETUP - Delete fabrics ################################################################################ -- name: REPLACED - SETUP - Delete fabric_1 +- name: REPLACED - SETUP - Delete {{ fabric_name_00 }} if it exists cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" register: result - debug: var: result ################################################################################ -# REPLACED - TEST - Create fabric_name_1 with non-default config +# REPLACED - TEST - Create fabric_name_00 with non-default config ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -68,7 +68,7 @@ # "ADVERTISE_PIP_BGP": true, # "ANYCAST_GW_MAC": "00aa.bbcc.ddee", # "BGP_AS": 65535, -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Ingress", # "SITE_ID": 65000, # "UNDERLAY_IS_V6": false, @@ -91,7 +91,7 @@ # "ADVERTISE_PIP_BGP": "true", # "ANYCAST_GW_MAC": "00aa.bbcc.ddee", # "BGP_AS": "65535", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Ingress", # "SITE_ID": "65000", # "UNDERLAY_IS_V6": "false", @@ -99,7 +99,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -114,12 +114,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Create fabric_name_1 with non-default config + SITE_ID +- name: REPLACED - TEST - Create {{ fabric_name_00 }} with non-default config + SITE_ID cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" ADVERTISE_PIP_BGP: true ANYCAST_GW_MAC: 00:aa:bb:cc:dd:ee BGP_AS: 65535 @@ -136,7 +136,7 @@ - result.failed == false - (result.diff | length) == 1 - result.diff[0].BGP_AS == 65535 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - result.diff[0].ADVERTISE_PIP_BGP == true - result.diff[0].ANYCAST_GW_MAC == "00aa.bbcc.ddee" @@ -156,12 +156,12 @@ - result.response[0].DATA.nvPairs.ADVERTISE_PIP_BGP == "true" - result.response[0].DATA.nvPairs.ANYCAST_GW_MAC == "00aa.bbcc.ddee" - result.response[0].DATA.nvPairs.BGP_AS == "65535" - - result.response[0].DATA.nvPairs.FABRIC_NAME == "VXLAN_EVPN_Fabric" + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_00 - result.response[0].DATA.nvPairs.REPLICATION_MODE == "Ingress" - result.response[0].DATA.nvPairs.SITE_ID == "65000" - result.response[0].DATA.nvPairs.UNDERLAY_IS_V6 == "false" ################################################################################ -# REPLACED - TEST - Replace config for fabric_1 with default config +# REPLACED - TEST - Replace fabric_name_00 config with default config ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -173,7 +173,7 @@ # { # "ADVERTISE_PIP_BGP": "false", # "ANYCAST_GW_MAC": "2020.0000.00aa", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Multicast", # "SITE_ID": 65535, # "sequence_number": 1 @@ -212,24 +212,24 @@ # "nvPairs": { # "ADVERTISE_PIP_BGP": "false", # "ANYCAST_GW_MAC": "2020.0000.00aa", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Multicast", # "SITE_ID": "65535" # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "MESSAGE": "Fabric VXLAN_EVPN_Fabric DEPLOY is False or None. Skipping config-save.", +# "MESSAGE": "Fabric VXLAN_EVPN DEPLOY is False or None. Skipping config-save.", # "RETURN_CODE": 200, # "sequence_number": 2 # }, # { -# "MESSAGE": "FabricConfigDeploy._can_fabric_be_deployed: Fabric VXLAN_EVPN_Fabric DEPLOY is False or None. Skipping config-deploy.", +# "MESSAGE": "FabricConfigDeploy._can_fabric_be_deployed: Fabric VXLAN_EVPN DEPLOY is False or None. Skipping config-deploy.", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -254,12 +254,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace config for fabric_1 with default config - cisco.dcnm.dcnm_fabric: &replace_fabric_1 +- name: REPLACED - TEST - Replace {{ fabric_name_00 }} config with default config + cisco.dcnm.dcnm_fabric: &replace_fabric_name_00 state: replaced config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" BGP_AS: 65535 DEPLOY: false register: result @@ -272,7 +272,7 @@ - (result.diff | length) == 3 - result.diff[0].ADVERTISE_PIP_BGP == "false" - result.diff[0].ANYCAST_GW_MAC == "2020.0000.00aa" - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].REPLICATION_MODE == "Multicast" - result.diff[0].sequence_number == 1 - result.diff[1].sequence_number == 2 @@ -297,7 +297,7 @@ - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.ADVERTISE_PIP_BGP == "false" - result.response[0].DATA.nvPairs.ANYCAST_GW_MAC == "2020.0000.00aa" - - result.response[0].DATA.nvPairs.FABRIC_NAME == "VXLAN_EVPN_Fabric" + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_00 - result.response[0].DATA.nvPairs.REPLICATION_MODE == "Multicast" - result.response[0].DATA.nvPairs.SITE_ID == "65535" - result.response[1].sequence_number == 2 @@ -318,7 +318,7 @@ - result.result[2].sequence_number == 3 ################################################################################ -# REPLACED - TEST - Replace config for fabric_1 with default config omnipotence +# REPLACED - TEST - Replace config for fabric_name_00 config with default config idempotence ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -357,8 +357,8 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace config for fabric_1 with default config - idempotence - cisco.dcnm.dcnm_fabric: *replace_fabric_1 +- name: REPLACED - TEST - Replace config for {{ fabric_name_00 }} config with default config idempotence + cisco.dcnm.dcnm_fabric: *replace_fabric_name_00 register: result - debug: var: result @@ -382,7 +382,7 @@ - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# REPLACED - CLEANUP - Delete the fabrics +# REPLACED - CLEANUP - Delete fabric_name_00 ################################################################################ # Expected result # ok: [ndfc1] => { @@ -390,7 +390,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # } # ], @@ -405,10 +405,10 @@ # ], # "response": [ # { -# "DATA": "Fabric 'VXLAN_EVPN_Fabric' is deleted successfully!", +# "DATA": "Fabric 'VXLAN_EVPN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -423,11 +423,11 @@ # } # } ################################################################################ -- name: MERGED - CLEANUP - Delete the fabrics +- name: MERGED - CLEANUP - Delete fabric {{ fabric_name_00 }} cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" register: result - debug: var: result @@ -436,7 +436,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete" diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_save_deploy.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_save_deploy.yaml index 176a1d91b..88abae947 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_save_deploy.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_save_deploy.yaml @@ -19,19 +19,19 @@ ################################################################################ # 1. The following fabrics must be empty on the controller (or not exist). # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_1 -# - fabric_type_1 # VXLAN_EVPN -# - fabric_name_3 -# - fabric_type_3 # LAN_CLASSIC +# - fabric_name_00 +# - fabric_type_00 # VXLAN_EVPN +# - fabric_name_10 +# - fabric_type_10 # LAN_CLASSIC # 2. Delete fabrics under test, if they exist -# - fabric_name_1 -# - fabric_name_3 +# - fabric_name_00 +# - fabric_name_10 ################################################################################ # TEST ################################################################################ # 3. Create fabrics and verify result -# - fabric_name_1 -# - fabric_name_3 +# - fabric_name_00 +# - fabric_name_10 # 4. Add switch to each fabric and verify result # 5. Merge additional configs into each fabric and verify result # This step includes config-save and config-deploy @@ -39,8 +39,8 @@ # CLEANUP ################################################################################ # 7. Delete fabrics under test -# - fabric_name_1 -# - fabric_name_3 +# - fabric_name_00 +# - fabric_name_10 ################################################################################ # REQUIREMENTS ################################################################################ @@ -55,10 +55,10 @@ # # vars: # testcase: dcnm_fabric_replaced_save_deploy -# fabric_name_1: VXLAN_EVPN_Fabric -# fabric_type_1: VXLAN_EVPN -# fabric_name_3: LAN_CLASSIC_Fabric -# fabric_type_3: LAN_CLASSIC +# fabric_name_00: VXLAN_EVPN +# fabric_type_00: VXLAN_EVPN +# fabric_name_10: LAN_CLASSIC +# fabric_type_10: LAN_CLASSIC # leaf_1: 172.22.150.103 # leaf_2: 172.22.150.104 # nxos_username: admin @@ -68,12 +68,12 @@ ################################################################################ # REPLACED - SETUP - Delete fabrics ################################################################################ -- name: REPLACED - SETUP - Delete fabrics +- name: REPLACED - SETUP - Delete fabrics if they exist cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result @@ -94,13 +94,13 @@ # { # "ANYCAST_GW_MAC": "aaaa.bbbb.cccc", # "BGP_AS": 65535, -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Ingress", # "sequence_number": 1 # }, # { # "BOOTSTRAP_ENABLE": false, -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": false, # "SUBINTERFACE_RANGE": "2-100", # "sequence_number": 2 @@ -126,12 +126,12 @@ # "DATA": { # "nvPairs": { # "BGP_AS": "65535", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric" +# "FABRIC_NAME": "VXLAN_EVPN" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, @@ -139,13 +139,13 @@ # "DATA": { # "nvPairs": { # "BOOTSTRAP_ENABLE": "false", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": "false", # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/LAN_Classic", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/LAN_Classic", # "RETURN_CODE": 200, # "sequence_number": 2 # } @@ -165,19 +165,19 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Create switch fabrics with non-default configs. +- name: REPLACED - TEST - Create switch fabrics {{ fabric_name_00 }} and {{ fabric_name_10 }} with non-default configs. cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" BGP_AS: 65535 ANYCAST_GW_MAC: aaaabbbbcccc REPLICATION_MODE: Ingress SITE_ID: 65000 DEPLOY: true - - FABRIC_NAME: "{{ fabric_name_3 }}" - FABRIC_TYPE: "{{ fabric_type_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + FABRIC_TYPE: "{{ fabric_type_10 }}" BOOTSTRAP_ENABLE: false IS_READ_ONLY: false SUBINTERFACE_RANGE: 2-100 @@ -192,11 +192,11 @@ - (result.diff | length) == 2 - result.diff[0].sequence_number == 1 - result.diff[0].BGP_AS == 65535 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].ANYCAST_GW_MAC == "aaaa.bbbb.cccc" - result.diff[0].REPLICATION_MODE == "Ingress" - result.diff[0].SITE_ID == 65000 - - result.diff[1].FABRIC_NAME == fabric_name_3 + - result.diff[1].FABRIC_NAME == fabric_name_10 - result.diff[1].sequence_number == 2 - result.diff[1].BOOTSTRAP_ENABLE == false - result.diff[1].IS_READ_ONLY == false @@ -216,7 +216,7 @@ - result.response[0].METHOD == "POST" - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.BGP_AS == "65535" - - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_1 + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_00 - result.response[0].DATA.nvPairs.ANYCAST_GW_MAC == "aaaa.bbbb.cccc" - result.response[0].DATA.nvPairs.REPLICATION_MODE == "Ingress" - result.response[0].DATA.nvPairs.SITE_ID == "65000" @@ -225,7 +225,7 @@ - result.response[1].METHOD == "POST" - result.response[1].RETURN_CODE == 200 - result.response[1].DATA.nvPairs.BOOTSTRAP_ENABLE == "false" - - result.response[1].DATA.nvPairs.FABRIC_NAME == fabric_name_3 + - result.response[1].DATA.nvPairs.FABRIC_NAME == fabric_name_10 - result.response[1].DATA.nvPairs.IS_READ_ONLY == "false" - result.response[1].DATA.nvPairs.SUBINTERFACE_RANGE == "2-100" - (result.result | length) == 2 @@ -236,11 +236,11 @@ - result.result[1].success == true - result.result[1].sequence_number == 2 ################################################################################ -# REPLACED - SETUP - Add one leaf switch to fabric_1 +# REPLACED - SETUP - Add one leaf switch to fabric_name_00 ################################################################################ -- name: Merge leaf_1 into fabric_1 +- name: Merge leaf_1 into {{ fabric_name_00 }} cisco.dcnm.dcnm_inventory: - fabric: "{{ fabric_name_1 }}" + fabric: "{{ fabric_name_00 }}" state: merged config: - seed_ip: "{{ leaf_1 }}" @@ -255,11 +255,11 @@ var: result ################################################################################ -# REPLACED - SETUP - Add one leaf switch to fabric_3 +# REPLACED - SETUP - Add one leaf switch to fabric_name_10 ################################################################################ -- name: Merge leaf_2 into fabric_3 +- name: Merge leaf_2 into {{ fabric_name_10 }} cisco.dcnm.dcnm_inventory: - fabric: "{{ fabric_name_3 }}" + fabric: "{{ fabric_name_10 }}" state: merged config: - seed_ip: "{{ leaf_2 }}" @@ -275,7 +275,7 @@ var: result ################################################################################ -# REPLACED - TEST - Replace fabric_1 config with default config +# REPLACED - TEST - Replace fabric_name_00 config with default config ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -286,17 +286,17 @@ # "diff": [ # { # "ANYCAST_GW_MAC": "2020.0000.00aa", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Multicast", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "config_save": "OK", # "sequence_number": 2 # }, # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "config_deploy": "OK", # "sequence_number": 3 # } @@ -327,13 +327,13 @@ # "DATA": { # "nvPairs": { # "ANYCAST_GW_MAC": "2020.0000.00aa", -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "REPLICATION_MODE": "Multicast", # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/Easy_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/Easy_Fabric", # "RETURN_CODE": 200, # "sequence_number": 1 # }, @@ -343,7 +343,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/config-save", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/config-save", # "RETURN_CODE": 200, # "sequence_number": 2 # }, @@ -353,7 +353,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric/config-deploy?forceShowRun=false", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN/config-deploy?forceShowRun=false", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -378,12 +378,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace fabric_1 config with default config - cisco.dcnm.dcnm_fabric: &replace_fabric_1 +- name: REPLACED - TEST - Replace fabric {{ fabric_name_00 }} config with default config + cisco.dcnm.dcnm_fabric: &replace_fabric_name_00 state: replaced config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - FABRIC_TYPE: "{{ fabric_type_1 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + FABRIC_TYPE: "{{ fabric_type_00 }}" BGP_AS: 65535 DEPLOY: true register: result @@ -396,13 +396,13 @@ - (result.diff | length) == 3 - result.diff[0].sequence_number == 1 - result.diff[0].ANYCAST_GW_MAC == "2020.0000.00aa" - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].REPLICATION_MODE == "Multicast" - result.diff[1].sequence_number == 2 - - result.diff[1].FABRIC_NAME == fabric_name_1 + - result.diff[1].FABRIC_NAME == fabric_name_00 - result.diff[1].config_save == "OK" - result.diff[2].sequence_number == 3 - - result.diff[2].FABRIC_NAME == fabric_name_1 + - result.diff[2].FABRIC_NAME == fabric_name_00 - result.diff[2].config_deploy == "OK" - (result.metadata | length) == 3 - result.metadata[0].action == "fabric_replace" @@ -424,7 +424,7 @@ - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.ANYCAST_GW_MAC == "2020.0000.00aa" - result.response[0].DATA.nvPairs.BGP_AS == "65535" - - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_1 + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_00 - result.response[0].DATA.nvPairs.REPLICATION_MODE == "Multicast" - result.response[0].DATA.nvPairs.SITE_ID == "65535" - result.response[1].sequence_number == 2 @@ -449,7 +449,7 @@ - result.result[2].sequence_number == 3 ################################################################################ -# REPLACED - TEST - Replace fabric_3 config with default config +# REPLACED - TEST - Replace fabric_name_10 config with default config # Do not replace parameters that would make fabric read-only since the fabric # will be deleted at the end of this test: # - IS_READ_ONLY: false @@ -464,13 +464,13 @@ # "diff": [ # { # "BOOTSTRAP_ENABLE": "false", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": "false", # "SUBINTERFACE_RANGE": "2-511", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "config_save": "OK", # "sequence_number": 2 # }, @@ -505,7 +505,7 @@ # "createdOn": 1714950108378, # "deviceType": "n9k", # "fabricId": "FABRIC-3", -# "fabricName": "LAN_CLASSIC_Fabric", +# "fabricName": "LAN_CLASSIC", # "fabricTechnology": "LANClassic", # "fabricTechnologyFriendly": "Classic LAN", # "fabricType": "External", @@ -514,14 +514,14 @@ # "modifiedOn": 1714950827987, # "nvPairs": { # "BOOTSTRAP_ENABLE": "false", -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "IS_READ_ONLY": "false", # "SUBINTERFACE_RANGE": "2-511" # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/LAN_Classic", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/LAN_Classic", # "RETURN_CODE": 200, # "sequence_number": 1 # }, @@ -531,7 +531,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/config-save", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/config-save", # "RETURN_CODE": 200, # "sequence_number": 2 # }, @@ -541,7 +541,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric/config-deploy?forceShowRun=false", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC/config-deploy?forceShowRun=false", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -566,12 +566,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace fabric_3 config with default config (except read-only parameters) - cisco.dcnm.dcnm_fabric: &replace_fabric_3 +- name: REPLACED - TEST - Replace fabric {{ fabric_name_10 }} config with default config (except read-only parameters) + cisco.dcnm.dcnm_fabric: &replace_fabric_name_10 state: replaced config: - - FABRIC_NAME: "{{ fabric_name_3 }}" - FABRIC_TYPE: "{{ fabric_type_3 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" + FABRIC_TYPE: "{{ fabric_type_10 }}" BOOTSTRAP_ENABLE: false IS_READ_ONLY: false DEPLOY: true @@ -584,13 +584,13 @@ - result.failed == false - (result.diff | length) == 3 - result.diff[0].sequence_number == 1 - - result.diff[0].FABRIC_NAME == fabric_name_3 + - result.diff[0].FABRIC_NAME == fabric_name_10 - result.diff[0].SUBINTERFACE_RANGE == "2-511" - result.diff[1].sequence_number == 2 - - result.diff[1].FABRIC_NAME == fabric_name_3 + - result.diff[1].FABRIC_NAME == fabric_name_10 - result.diff[1].config_save == "OK" - result.diff[2].sequence_number == 3 - - result.diff[2].FABRIC_NAME == fabric_name_3 + - result.diff[2].FABRIC_NAME == fabric_name_10 - result.diff[2].config_deploy == "OK" - (result.metadata | length) == 3 - result.metadata[0].action == "fabric_replace" @@ -611,7 +611,7 @@ - result.response[0].METHOD == "PUT" - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.BOOTSTRAP_ENABLE == "false" - - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_3 + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_10 - result.response[0].DATA.nvPairs.IS_READ_ONLY == "false" - result.response[0].DATA.nvPairs.SUBINTERFACE_RANGE == "2-511" - result.response[1].sequence_number == 2 @@ -636,7 +636,7 @@ - result.result[2].sequence_number == 3 ################################################################################ -# REPLACED - TEST - Replace fabric_1 config with default config - idempotence +# REPLACED - TEST - Replace fabric_name_00 config with default config - idempotence ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -675,8 +675,8 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace fabric_1 config with default config - idempotence - cisco.dcnm.dcnm_fabric: *replace_fabric_1 +- name: REPLACED - TEST - Replace fabric {{ fabric_name_00 }} config with default config - idempotence + cisco.dcnm.dcnm_fabric: *replace_fabric_name_00 register: result - debug: var: result @@ -701,7 +701,7 @@ - result.result[0].sequence_number == 1 ################################################################################ -# REPLACED - TEST - Replace fabric_3 config with default config - idempotence +# REPLACED - TEST - Replace fabric_name_10 config with default config - idempotence ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -740,8 +740,8 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace fabric_3 config with default config - idempotence - cisco.dcnm.dcnm_fabric: *replace_fabric_3 +- name: REPLACED - TEST - Replace fabric {{ fabric_name_10 }} config with default config - idempotence + cisco.dcnm.dcnm_fabric: *replace_fabric_name_10 register: result - debug: var: result @@ -768,9 +768,9 @@ ################################################################################ # REPLACED - CLEANUP - Delete switches from all fabrics ################################################################################ -- name: Delete switches from fabric_1 +- name: Delete switches from {{ fabric_name_00 }} cisco.dcnm.dcnm_inventory: - fabric: "{{ fabric_name_1 }}" + fabric: "{{ fabric_name_00 }}" state: deleted config: register: result @@ -784,9 +784,9 @@ - result.response[0].MESSAGE == "OK" - result.response[0].METHOD == "DELETE" - result.response[0].RETURN_CODE == 200 -- name: Delete switches from fabric_3 +- name: Delete switches from {{ fabric_name_10 }} cisco.dcnm.dcnm_inventory: - fabric: "{{ fabric_name_3 }}" + fabric: "{{ fabric_name_10 }}" state: deleted config: register: result @@ -810,11 +810,11 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "VXLAN_EVPN_Fabric", +# "FABRIC_NAME": "VXLAN_EVPN", # "sequence_number": 1 # }, # { -# "FABRIC_NAME": "LAN_CLASSIC_Fabric", +# "FABRIC_NAME": "LAN_CLASSIC", # "sequence_number": 3 # } # ], @@ -835,18 +835,18 @@ # ], # "response": [ # { -# "DATA": "Fabric 'VXLAN_EVPN_Fabric' is deleted successfully!", +# "DATA": "Fabric 'VXLAN_EVPN' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/VXLAN_EVPN", # "RETURN_CODE": 200, # "sequence_number": 1 # }, # { -# "DATA": "Fabric 'LAN_CLASSIC_Fabric' is deleted successfully!", +# "DATA": "Fabric 'LAN_CLASSIC' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/LAN_CLASSIC", # "RETURN_CODE": 200, # "sequence_number": 2 # } @@ -866,12 +866,12 @@ # } # } ################################################################################ -- name: REPLACED - CLEANUP - Delete the fabrics +- name: REPLACED - CLEANUP - Delete fabrics {{ fabric_name_00 }} and {{ fabric_name_10 }} cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_1 }}" - - FABRIC_NAME: "{{ fabric_name_3 }}" + - FABRIC_NAME: "{{ fabric_name_00 }}" + - FABRIC_NAME: "{{ fabric_name_10 }}" register: result - debug: var: result @@ -880,9 +880,9 @@ - result.changed == true - result.failed == false - (result.diff | length) == 2 - - result.diff[0].FABRIC_NAME == fabric_name_1 + - result.diff[0].FABRIC_NAME == fabric_name_00 - result.diff[0].sequence_number == 1 - - result.diff[1].FABRIC_NAME == fabric_name_3 + - result.diff[1].FABRIC_NAME == fabric_name_10 - result.diff[1].sequence_number == 2 - (result.metadata | length) == 2 - result.metadata[0].action == "fabric_delete" diff --git a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_save_deploy_ipfm.yaml b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_save_deploy_ipfm.yaml index 023151cf7..20212554f 100644 --- a/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_save_deploy_ipfm.yaml +++ b/tests/integration/targets/dcnm_fabric/tests/dcnm_fabric_replaced_save_deploy_ipfm.yaml @@ -17,16 +17,16 @@ ################################################################################ # 1. The following fabric must be empty on the controller (or not exist). # See vars: section in cisco/dcnm/playbooks/dcnm_tests.yaml -# - fabric_name_4 -# - fabric_type_4 # IPFM +# - fabric_name_40 +# - fabric_type_40 # IPFM # 2. Delete fabric under test, if it exists -# - fabric_name_4 -# - fabric_name_4 +# - fabric_name_40 +# - fabric_name_40 ################################################################################ # TEST ################################################################################ # 3. Create fabric and verify result -# - fabric_name_4 +# - fabric_name_40 # 4. Add switch to the fabric and verify result # - leaf_1 # 5. Merge additional configs into the fabric and verify result @@ -37,7 +37,7 @@ # 7. Delete the switch from the fabric # - leaf_1 # 8. Delete the fabric -# - fabric_name_4 +# - fabric_name_40 ################################################################################ # REQUIREMENTS ################################################################################ @@ -52,8 +52,8 @@ # # vars: # testcase: dcnm_fabric_replaced_save_deploy_ipfm -# fabric_name_4: IPFM_Fabric -# fabric_type_4: IPFM +# fabric_name_40: IPFM +# fabric_type_40: IPFM # leaf_1: 172.22.150.103 # nxos_username: admin # nxos_password: mypassword @@ -62,11 +62,11 @@ ################################################################################ # REPLACED - SETUP - Delete fabrics ################################################################################ -- name: REPLACED - SETUP - Delete fabric +- name: REPLACED - SETUP - Delete fabric {{ fabric_name_40 }} if it exists cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" register: result - debug: var: result @@ -85,7 +85,7 @@ # "diff": [ # { # "FABRIC_MTU": 1500, -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # }, # ], @@ -102,13 +102,13 @@ # { # "DATA": { # "nvPairs": { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "FABRIC_MTU": "1500" # } # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric/Easy_Fabric_IPFM", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM/Easy_Fabric_IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -123,12 +123,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Create IPFM fabric with non-default config. +- name: REPLACED - TEST - Create fabric {{ fabric_name_40 }} with non-default config. cisco.dcnm.dcnm_fabric: state: merged config: - - FABRIC_NAME: "{{ fabric_name_4 }}" - FABRIC_TYPE: "{{ fabric_type_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" + FABRIC_TYPE: "{{ fabric_type_40 }}" FABRIC_MTU: 1500 DEPLOY: true register: result @@ -152,17 +152,17 @@ - result.response[0].METHOD == "POST" - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.FABRIC_MTU == "1500" - - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_4 + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_40 - (result.result | length) == 1 - result.result[0].changed == true - result.result[0].success == true - result.result[0].sequence_number == 1 ################################################################################ -# REPLACED - SETUP - Add leaf_1 to fabric_4 +# REPLACED - SETUP - Add leaf_1 to fabric {{ fabric_name_40 }} ################################################################################ -- name: Merge leaf_1 into fabric_4 +- name: Merge leaf_1 into fabric {{ fabric_name_40 }} cisco.dcnm.dcnm_inventory: - fabric: "{{ fabric_name_4 }}" + fabric: "{{ fabric_name_40 }}" state: merged config: - seed_ip: "{{ leaf_1 }}" @@ -177,7 +177,7 @@ var: result ################################################################################ -# REPLACED - TEST - Replace fabric_4 config with default config +# REPLACED - TEST - Replace fabric_name_40 config with default config ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -187,7 +187,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "FABRIC_MTU": 9216, # "sequence_number": 1 # }, @@ -206,12 +206,12 @@ # "DATA": { # "nvPairs": { # "FABRIC_MTU": "9216", -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # } # }, # "MESSAGE": "OK", # "METHOD": "PUT", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric/Easy_Fabric_IPFM", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM/Easy_Fabric_IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # }, @@ -221,7 +221,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric/config-save", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM/config-save", # "RETURN_CODE": 200, # "sequence_number": 2 # }, @@ -231,7 +231,7 @@ # }, # "MESSAGE": "OK", # "METHOD": "POST", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric/config-deploy?forceShowRun=false", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM/config-deploy?forceShowRun=false", # "RETURN_CODE": 200, # "sequence_number": 3 # } @@ -256,12 +256,12 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace fabric_4 config with default config - cisco.dcnm.dcnm_fabric: &replace_fabric_4 +- name: REPLACED - TEST - Replace fabric {{ fabric_name_40 }} config with default config + cisco.dcnm.dcnm_fabric: &replace_fabric_name_40 state: replaced config: - - FABRIC_NAME: "{{ fabric_name_4 }}" - FABRIC_TYPE: "{{ fabric_type_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" + FABRIC_TYPE: "{{ fabric_type_40 }}" DEPLOY: true register: result - debug: @@ -273,7 +273,7 @@ - (result.diff | length) == 3 - result.diff[0].sequence_number == 1 - result.diff[0].FABRIC_MTU == "9216" - - result.diff[0].FABRIC_NAME == fabric_name_4 + - result.diff[0].FABRIC_NAME == fabric_name_40 - result.diff[1].sequence_number == 2 - result.diff[2].sequence_number == 3 - (result.metadata | length) == 3 @@ -295,7 +295,7 @@ - result.response[0].METHOD == "PUT" - result.response[0].RETURN_CODE == 200 - result.response[0].DATA.nvPairs.FABRIC_MTU == "9216" - - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_4 + - result.response[0].DATA.nvPairs.FABRIC_NAME == fabric_name_40 - result.response[1].sequence_number == 2 - result.response[1].DATA.status == 'Config save is completed' - result.response[1].MESSAGE == "OK" @@ -318,7 +318,7 @@ - result.result[2].sequence_number == 3 ################################################################################ -# REPLACED - TEST - Replace fabric_4 config with default config - idempotence +# REPLACED - TEST - Replace fabric_name_40 config with default config - idempotence ################################################################################ # Expected result # - All untested nvPairs removed for brevity. @@ -357,8 +357,8 @@ # } # } ################################################################################ -- name: REPLACED - TEST - Replace fabric_4 config with default config - idempotence - cisco.dcnm.dcnm_fabric: *replace_fabric_4 +- name: REPLACED - TEST - Replace fabric {{ fabric_name_40 }} config with default config - idempotence + cisco.dcnm.dcnm_fabric: *replace_fabric_name_40 register: result - debug: var: result @@ -383,11 +383,11 @@ - result.result[0].sequence_number == 1 ################################################################################ -# REPLACED - CLEANUP - Delete switch from fabric_4 +# REPLACED - CLEANUP - Delete switch from fabric_name_40 ################################################################################ -- name: Delete switch from fabric_4 +- name: Delete switch from {{ fabric_name_40 }} cisco.dcnm.dcnm_inventory: - fabric: "{{ fabric_name_4 }}" + fabric: "{{ fabric_name_40 }}" state: deleted config: register: result @@ -403,7 +403,7 @@ - result.response[0].RETURN_CODE == 200 ################################################################################ -# REPLACED - CLEANUP - Delete fabric_4 +# REPLACED - CLEANUP - Delete fabric_name_40 ################################################################################ # Expected result # ok: [ndfc1] => { @@ -411,7 +411,7 @@ # "changed": true, # "diff": [ # { -# "FABRIC_NAME": "IPFM_Fabric", +# "FABRIC_NAME": "IPFM", # "sequence_number": 1 # } # ], @@ -426,10 +426,10 @@ # ], # "response": [ # { -# "DATA": "Fabric 'IPFM_Fabric' is deleted successfully!", +# "DATA": "Fabric 'IPFM' is deleted successfully!", # "MESSAGE": "OK", # "METHOD": "DELETE", -# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM_Fabric", +# "REQUEST_PATH": "https://172.22.150.244:443/appcenter/cisco/ndfc/api/v1/rest/control/fabrics/IPFM", # "RETURN_CODE": 200, # "sequence_number": 1 # } @@ -443,11 +443,11 @@ # } # } ################################################################################ -- name: REPLACED - CLEANUP - Delete fabric_4 +- name: REPLACED - CLEANUP - Delete fabric {{ fabric_name_40 }} cisco.dcnm.dcnm_fabric: state: deleted config: - - FABRIC_NAME: "{{ fabric_name_4 }}" + - FABRIC_NAME: "{{ fabric_name_40 }}" register: result - debug: var: result @@ -456,7 +456,7 @@ - result.changed == true - result.failed == false - (result.diff | length) == 1 - - result.diff[0].FABRIC_NAME == fabric_name_4 + - result.diff[0].FABRIC_NAME == fabric_name_40 - result.diff[0].sequence_number == 1 - (result.metadata | length) == 1 - result.metadata[0].action == "fabric_delete"