aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/PapiExecutor.py
AgeCommit message (Collapse)AuthorFilesLines
2019-09-26CSIT-1471: Policer - VAT API to PAPIpremkumarv1-1/+1
Change-Id: I6c7eff8d9cbb196ccb684a45579ac59942351cfe Signed-off-by: premkumarv <preym17@gmail.com>
2019-09-17Update CRC list and support 21997/7Vratko Polak1-15/+18
- Attempt to repair IPsec LispGpe perf suite. + Collection name to reflect the current stable vpp. + Add messages found in CSIT L1 keywords. - Uncommented (instead of deleted) untestable messages. Reasons: - Honeycomb. - Messages used by unused keywords. + Listed reasons. Honeycomb not mentioned if both reasons apply. + Delete CRC items for commands not found in keywords anymore. + Add CRCs from .json.api files (as teardown is hard to execute). + Define and restore alphabetical order. + Add hints to find used API commands (not entirely reliable). + Move used commands to "cmd = " form so hints find them. + Argument to run_cli_command changed from "cmd" to "cli_cmd". + Except also struct.error where IOError is excepted. Change-Id: I61058dbe1e33296908aabd0c13433bb16cfa6adf Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-10Refactor getting telemetryPeter Mikus1-13/+39
+ Ability to get stats from CNF via SocketPAPI - Remove obsolete functions Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I4d1b32a7279244592be96644e4f8a530c4f29a15
2019-09-06Read environment variables in Constants.pyVratko Polak1-14/+1
Instead of using EnsureGlobalVariable, which is clunky to use from Python. As a consequence, all caps variables from Constants.py are used directly and tests/__init__.robot and robot_enhancements.robot are deleted. + Rename the CRC global kill switch based on ci-man review. Change-Id: I10723792475bc83352bf8c3b7f7946ecf885a194 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-05Allow CRC checking to be controlled via env varVratko Polak1-2/+15
The plan is to override the default in some (but not all) jobs. The csit-vpp jobs shall do the checking, but vpp-csit jobs shall not (except api-crc job of course) in order to confirm benign changes. Change-Id: If59d17991de3fb0e847113a87e0533a8ee62af7f Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-15Reduce disabled pylint to address them not hidePeter Mikus1-1/+1
+ Fixed Qemu - Broad Exception should be addressed - Policer is about to be refactored - Drop search to be refactored Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I97eb992497ff6334057bf82a0f413387706e17fd
2019-08-14DO_NOT_MERGE CSIT-1194 - Framework easy pylint improvementsMiroslav Los1-1/+2
- force a python2 environment in tox for pylint - let pylint load some compiled modules for member checking - allow locally enabled pylint rules - ignore bad enum names - ignore complexity for code to be refactored by other tickets - broad excepts are acceptable sometimes Signed-off-by: Miroslav Los <miroslav.los@pantheon.tech> Change-Id: If4c3a1b85e8609f074e1de8ce91fc9c4fedbeb38
2019-08-14Revert "Disable CRC checking at runtime"Vratko Polak1-40/+24
Needed to verify CSIT expects the correct CRCs. This reverts commit d541b2b7d99651b53bd21ff75cd5fdacf8472a98. This reverts commit 2dd27f5a638b5231c0f074ca61e6b67fed9d1faf. + Some pylint related improvements since then. + Less and better documented caching to class fields. + Global kill switch in Constants. Change-Id: Id459800744cd93c578eab9c2e84cb9528235b064 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-09Bump VPP stable version: socksvrVratko Polak1-1/+1
VPP changed the default socket path in: https://gerrit.fd.io/r/c/vpp/+/21100 Instead of "default", explicit value is used now. It coincides with VPP default one, and is stored in Constants.py (except documentation). The file name for robot side forwarded socket remains, as the path leading to is is different anyway. Change-Id: I0058d16794a3cd04411640c2c8d5fd4ee8cb997d Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-08Fix: Deep-copy arguments in papi executorsVratko Polak1-4/+9
Without this, it is not safe to re-use the original argument dicts with additional edits for subsequent commands. Change-Id: Ib4f67d09e6bf7438dfdf7669263957a42c8d4dbe Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-07FIX: PylintPeter Mikus1-3/+2
- my bad Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I8c1f57f6b648b99338f3f6a6ff9ec943082e9bc4
2019-08-02FIX: Disable API checker during runtimePeter Mikus1-3/+0
Change-Id: Id530710aaedc30472d8bcd33d24b7fbcaa7c011b Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-07-31Add VPP API CRC checkingVratko Polak1-1/+35
+ Include both checking at runtime and standalone static quick check. + Runtime checking does not look for missing messages, as messages belonging to disabled plugins are not visible. + Standalone check script has nice loud output. Change-Id: I1dfc3846d1bcdad0b09017d4ce8edd5028e17e0c Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-07-233n-tsh timeout, testbed tags and ansible updatejuraj.linkes1-1/+1
* disable AVF tests which don't work with x520 * increase VPPApiClient timeout to 14s, as x520 show hardware is slower on Taishan * re-enable vhost and memif tests * remove tx2 mrr daily tag list; no tx2 is used for perf testing * remove taishan workaround * add scipy arm prerequisites and scipy workaround * rework inventories/lf_inventory/hosts; move cpu_microarchitecture to host files Change-Id: I5f10bd07b8146ac3b8be8c54fbb4d924a9373813 Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
2019-07-18Papi socket: except more errors to insert err_msgVratko Polak1-10/+14
Change-Id: Ided91ee2b47dafb6aad83091126294d79f67aeac Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-07-17Use PapiSocketProvider for most PAPI callsVratko Polak1-238/+436
Ticket: CSIT-1541 Ticket: VPP-1722 Ticket: CSIT-1546 + Increase timeout to hide x520 slownes of show hardware detail. - Install sshpass and update ssh client in virl bootstrap. + Added TODOs to remove when CSIT-1546 is fixed. + Enable default socksvr on any startup conf. + Improve OptionString init and repr. - The non-socket executor still kept for stats. + Remove everything unrelated to stats from non-socket executor. - Remove some debug-loooking calls to avoid failures. TODO: Introduce proper parsing to the affected keywords. + Reduce logging from PAPI code to level INFO. - Needs https://gerrit.fd.io/r/20660 to fully work. + Change default values for LocalExecution.run() + Return code check enabled by default. Code is more readable when rc!=0 is allowed explicitly, and the test code will now detect unexpected failures. + Logging disabled by default. Output XML is large already. Important logging can be enabled explicitly. + Restore alphabetical order in common.sh functions. Change-Id: I05882cb6b620ad14638f7404b5ad38c7a5de9e6c Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-07-12PapiExecutor always verifiesVratko Polak1-309/+131
Do not support returning unverified replies anymore. Basically, ".get_replies().verify_replies()" is now just ".get_replies()". This allows fairly large simplifications both at call sites and in PapiExecutor.py + Rename get_dumps to get_details. + Introduce get_reply and get_sw_if_index. + Rename variables holding get_*() value, + e.g. get_stats() value is stored to variable named "stats". + Rename "item" of subsequent loop to hint the type instead. + Rename "details" function argument to "verbose". + Process reply details in place, instead of building new list. - Except hybrid blocks which can return both list or single item. - Except human readable text building blocks. + Rename most similar names to sw_if_index. - Except "vpp_sw_index" and some function names. + Use single run_cli_cmd from PapiExecutor. + Do not chain methods over multiple lines. + Small space gain is not worth readability loss. + Include minor code and docstrings improvement. + Add some TODOs. Change-Id: Ib2110a3d2101a74d5837baab3a58dc46aafc6ce3 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-06-16FIX: IPUtil after vpp api changesJan Gelety1-7/+34
+ do not log all ip_route_add_del api calls to PAPI history in case of scale tests + fix for SRv6 proxy tests + support of more complex structures in api calls/replies in PapiExecutor + update of vpp stable build to version 19.08-rc0~487-gb98dbb1 Change-Id: I9972e126b68ce1cb57f781e3d90ea9b3914de69e Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-06-19VAT-to-PAPI: VPPCountersTibor Frank1-1/+21
Change-Id: I5954fdd61ead9b4143f8cc4e20294cf8e199e0af Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-06-19VAT-to-PAPI: NATUtilTibor Frank1-0/+17
Change-Id: Id64bbf899e78c7c55410a8ce608393c22fa596ab Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-06-19VAT-to-PAPI: VPPUtilsTibor Frank1-0/+28
Change-Id: If4eb592e2718c4564f1f7929ca6ff91c02f074a6 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-06-18PAPI: Reduce the amount of logged informationTibor Frank1-1/+1
Change-Id: I5cfd19a9ecca6891232d92d232a159422c0a835e Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-05-31CSIT-1468: InterfaceUtil migration from VAT to PAPIJan Gelety1-2/+17
Change-Id: I0062710d58996be767a852dc00545fedd60a5c72 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-04-15Fix pylint error in PapiExecutorVratko Polak1-52/+26
+ Remove ret_val as it cannot be nonzero outside _execute_papi. + Change indentation to save vertical space. + Return computed values without storing them to variable. + Add TODO to remove duplicated method. + Add missing fields to docstring. + Minor formatting changes. Change-Id: I8e8f41d139de8aff3b76a7fe27ee450e89e8d1de Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-04-01CSIT-1337: Migrate L2Util library from VAT to PAPIJan Gelety1-1/+5
Change-Id: I22879c7bdd100d00216b9528663bf17406169826 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-03-27CSIT-1460: Add VPP-stats to PAPI ProviderTibor Frank1-108/+225
Change-Id: I2665700a4948c481585d66c987f94af748f102c3 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-03-18PAPI Executor: Add more desciptive error messageTibor Frank1-1/+6
- Add more desciptive error message to the processing of replies. Change-Id: Ie43651370d5754aedf2515438c02ff4aa21bdc46 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-03-15PAPI: Add verification of the responseTibor Frank1-32/+137
Change-Id: I86afcaeae865f0af076b8dd974386a83de07bf44 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-03-13PAPI: Use Python3 for PapiProviderTibor Frank1-1/+1
Change-Id: I39e237db5cba8311ae11fd709b10a17297f3a729 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-03-07Papi: Rename methods argumentTibor Frank1-5/+9
The argument name 'csit_papi_command' must be unique enough as it cannot be repeated in kwargs. - PapiExecutor.add(self, csit_papi_command, **kwargs) - PapiHistory.add_to_papi_history(node, csit_papi_command, papi=True, **kwargs) Change-Id: I243a20d6f03befb149891c37a88e0e6359ea2940 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-03-06CSIT-1451: PapiHistoryTibor Frank1-3/+2
Change-Id: Idb51f377fe0c196fbe24aab21c294dad595adcd2 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-03-06CSIT-1450: PAPI executorVratko Polak1-111/+245
Change-Id: I4c756cc4b29901184594a728f6184c30cadd9c1a Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-03-04Rename to Constants.pyVratko Polak1-1/+1
Motivation: Make the constants available also for Robot. Restraint: Robotframework user guide says: Because variable files are always imported using a file system path, creating them as classes has some restrictions: Python classes must have the same name as the module they are located. Change-Id: I638ef3fe045db132e366de2e2699638b8637e45e Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2018-12-17FIX: Update PAPI to work with string changes in Python APIJan Gelety1-3/+4
Change-Id: I3b5f0568b5928cf12aaf2a555f52dd9809348579 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2018-11-27CSIT python API introductionJan Gelety1-0/+223
Jira: CSIT-1336 Change-Id: I96d2b0221c5a7466484a82339fc132c5921532d1 Signed-off-by: Jan Gelety <jgelety@cisco.com>