datacenter / ACI-Pre-Upgrade-Validation-Script

A script to run validations to detect potential issues that may cause an ACI fabric upgrade to fail
https://datacenter.github.io/ACI-Pre-Upgrade-Validation-Script/
Apache License 2.0
43 stars 27 forks source link

fix: False alarm for overlapping pool with three domains in one EPG #162

Closed takishida closed 2 months ago

takishida commented 2 months ago

When there are three (or more) domains associated to an EPG, the overlapping VLAN pool check may flag it as FAIL - OUTAGE WARNING!! or MANUAL CHECK REQUIRED incorrectly.

Example:

+ EPG 1 (VLAN 10)
    +--- Domain 1 --> VLAN Pool A (VLAN 10-20)
    +--- Domain 2 --> VLAN Pool A (VLAN 10-20)
    +--- Domain 3 --> VLAN Pool B (VLAN 15-20)

As shown in the example above, three domains (Domain 1, 2 and 3) are associated to EPG 1 which is using VLAN 10. Domain 1 and 2 are using the same VLAN Pool A while Domain 3 is using VLAN Pool B.

In this case, there are overlapping VLAN IDs (15-20) between these domains, in other words between VLAN Pool A and B. However, the VLAN used for this EPG is 10 which is only in VLAN Pool A, which is used by Domain 1 and 2.

The current logic flags this as FAIL - OUTAGE WARNING!! or MANUAL CHECK REQUIRED incorrectly because there are more than one domain for VLAN 10 in EPG 1 which has overlapping VLAN ranges even though the overlap is not between those two domains for VLAN 10.

This PR fixes this issue by correctly checking the identity of VLAN Pools behind the domains.

Cosmetic enhancement

It also has a cosmetic enhancement. The check currently repeats the same VLAN pool name for each domain. In the new output, domains using the same VLAN Pool is displayed at once.

Current:

[Check  1/1] Overlapping VLAN Pools...                                                                            FAIL - OUTAGE WARNING!!
  Tenant  AP   EPG   Node  Port       VLAN Scope  VLAN ID  VLAN Pools (Domains)                                      Impact
  ------  --   ---   ----  ----       ----------  -------  --------------------                                      ------
  TN1     AP1  EPG1  101   IFPG_VPC1  global      2011     VLANPool2(PHYDOM3),VLANPool1(PHYDOM1),VLANPool1(PHYDOM2)  Outage
  TN1     AP1  EPG1  102   IFPG_VPC1  global      2011     VLANPool2(PHYDOM3),VLANPool1(PHYDOM1),VLANPool1(PHYDOM2)  Outage

New:

[Check  1/1] Overlapping VLAN Pools...                                                                            FAIL - OUTAGE WARNING!!
  Tenant  AP   EPG   Node  Port       VLAN Scope  VLAN ID  VLAN Pools (Domains)                            Impact
  ------  --   ---   ----  ----       ----------  -------  --------------------                            ------
  TN1     AP1  EPG1  101   IFPG_VPC1  global      2011     VLANPool2(PHYDOM3), VLANPool1(PHYDOM1,PHYDOM2)  Outage
  TN1     AP1  EPG1  102   IFPG_VPC1  global      2011     VLANPool2(PHYDOM3), VLANPool1(PHYDOM1,PHYDOM2)  Outage