Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overlapping VLAN pool check fails due to "API call failed" when there are too many VLAN deployments #173

Closed
takishida opened this issue Oct 10, 2024 · 0 comments · Fixed by #174
Assignees
Labels
bug Something isn't working

Comments

@takishida
Copy link
Collaborator

(use upvote 👍 for attentions)
Describe the bug
The overlapping VLAN pool check fails because the API call failed when there are too many objects to be returned, precisely speaking more than 100K.

The observed failure in the overlapping VLAN pool check was specific to an API query for object fvIfConn which represents VLAN deployments on each interface. However, the same failure could happen with any other API queries in any check.

Script output

[Check 35/67] Overlapping VLAN Pools...
              Error: API call failed! Check debug log...                                                                          ERROR !!

To Reproduce
Run the script on an ACI fabric with more than 100K instances for an object that is queried in any check of the script.

Expected behavior
The script should use pagination to query objects 100K or less at a time instead of trying to query everything at once.

Additional context
In the script log (preupgrade_validator_debug.log), there is an API call failure reported due to the result dataset being too big.

[2024-10-10 16:54:51.504+0000 INFO                    icurl:1053] cmd = icurl -gs http://127.0.0.1:7777/api/class/fvIfConn.json
[2024-10-10 16:54:58.420+0000 DEBUG                   icurl:1055] response: {"totalCount":"1","imdata":[{"error":{"attributes":{"code":"400","text"
:"Unable to process the query, result dataset is too big"}}}]}

[2024-10-10 16:54:58.421+0000 ERROR                <module>:4343] API call failed! Check debug log
Traceback (most recent call last):
  File "aci-preupgrade-validation-script.py", line 4331, in <module>
    r = check(idx + 1, len(checks), **inputs)
  File "aci-preupgrade-validation-script.py", line 2015, in overlapping_vlan_pools_check
    fvIfConns = icurl('class', 'fvIfConn.json')
  File "aci-preupgrade-validation-script.py", line 1065, in icurl
    raise Exception('API call failed! Check debug log')
Exception: API call failed! Check debug log
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
2 participants