feat(papi): add async mode, use it in scale calls 74/36774/32
authorVratko Polak <vrpolak@cisco.com>
Mon, 16 Jan 2023 11:45:25 +0000 (12:45 +0100)
committerVratko Polak <vrpolak@cisco.com>
Mon, 16 Jan 2023 11:45:25 +0000 (12:45 +0100)
commit5302eeabb757ccf710568a66b8f6435c1894cd4d
tree608819c1937f532d50fa02efaa1ea9a82a4cda9d
parentbea132b6da5c016a18755a90151caf100c2a8568
feat(papi): add async mode, use it in scale calls

+ Introduce two explicit handling modes to save memory in scale test.
+ Connect in async mode for both handling modes (to avoid reconnects).
+ Support both pre- and post-37758 VPP PAPI async behavior.
+ Use control-ping in dumps to emulate sync mode.
+ Do not use it for single reply to avoid VPP-2033.
+ Fix call sites to get their replies with correct handling mode.
+ Drain enqueued replies to avoid subsequent errors.
+ Retry if read returns None too early.
+ Update docstrings.
- Complexity issues reported by pylint postponed, needs larger refactor.
- Explicit replace of VAT is done in subsequent changes.

Ticket: CSIT-1547 CSIT-1671

Change-Id: I3c63fa5c578975cc4dd7fce0babe3ab04ec15ed3
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
resources/libraries/python/IPUtil.py
resources/libraries/python/IPsecUtil.py
resources/libraries/python/InterfaceUtil.py
resources/libraries/python/L2Util.py
resources/libraries/python/NATUtil.py
resources/libraries/python/PapiExecutor.py
resources/libraries/python/TestConfig.py