eosnetworkfoundation / mandel

Obsolete. Use https://github.com/AntelopeIO/leap instead.
Other
87 stars 30 forks source link

[3.2] move trace api plugin activation out of tests and into cluster #750

Closed ClaytonCalabrese closed 2 years ago

ClaytonCalabrese commented 2 years ago

Investigate whether Cluster requires Trace API Plugin to be enabled now to work at all. If so, we should just have Cluster automatically add this if not already added instead of requiring most tests to add the launch config params:

traceNodeosArgs = " --plugin eosio::trace_api_plugin --trace-no-abis "

Initial investigation reveals that the requirement stems from whether Cluster.py launch 's function will use bootstrap or bios_bootstrap.

If bootstrap will be called which in turn goes into Node.py and calls publishContract with waitForTransBlock=True and eventually calls getBlockNumByTransId which requires a call to getTransaction and reaches out to cleos with a get transaction_trace command, which requires the Trace API.

If bootstrap is not used, in favor of conditions where bios_bootstrap is used, it may not require the Trace API plugin.

Due to some updates to mandel, trace_api_plugin was needed across a wide number of tests. Previously this was done manually in each test by passing it to extraNodeosArgs. Rather than doing it that way, it is cleaner to activate in cluster, defaulting to --trace-no-abis unless the less common --trace-rpc-abi is passed in from a test.

Resolves https://github.com/eosnetworkfoundation/mandel/issues/285