Age | Commit message (Collapse) | Author | Files | Lines |
|
- From 2n-zn2 testing
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I9b1f0916f0f1d90a223918cfe48409d29f2ee773
|
|
Change-Id: I74641cc89d2f25d50b67d51bf2567082b420aabb
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
- continuation of https://gerrit.fd.io/r/c/csit/+/26898 as there was
reached limit of changes (1000)
Jira: CSIT-1711
- udp synthetic profiles w/o data packets
- udp cps perf tests, phase I (no special "search cps" KW)
Part I means that we are using MRR tests to collect traffic data
until there is ready new CPS test type with corresponding algorithm.
Change-Id: I0d30feb9ecf1d0bff937152656f8eb422f831378
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
+ Measure latency in 90/50/10/0% PDR loads in ndrpdr tests.
+ Do not measure latency anywhere else.
- Needs manual editing to re-enable in soak tests.
Change-Id: I69fa11bfcf71012f683061c5effea52a1be91620
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
- provide base routines to run T-Rex in advanced stateful mode
Change-Id: Ib0dc5f2919c370753335f6446860683dc4b12d93
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Change-Id: I6da359d25edc415e44263d3f85f166369e564987
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
+ Keep apache license for now, until this is completed:
https://wiki.fd.io/view/TSC/Relicensing_Procedure
+ Add utilities for switching license comment blocks.
- They do not preserve attributes, so executable flag is lost.
+ Move the affected files to GPL/.
+ Update paths so files are executed from the new location.
+ Change the way scripts are started to do not require executable flag.
+ Employ OptionString when constructing longer command lines.
+ Move also PacketVerifier.py and TrafficScriptArg.py
as they are linked with traffic scripts.
+ That means the two files are outside "resources" package tree now.
+ Added __init__.py files so relative imports work in new package tree.
+ Start traffic scripts as python modules to allow relative imports.
+ Once again needed because they are outside the default PYTHONPATH.
Change-Id: Ieb135629e890adbaf5b79497570f3be25b746f9f
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
- API to provide duration for send and receive traffic
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: Id186a200be66b7703348e6fd3099ffd405e915ae
|
|
Change-Id: I9af632035a1415666b2470c62a41d1b6acbf33c8
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
- try to kill t-rex only if it is running
- do not fail the whole test suite when t-rex test suite tear down
action has failed
Change-Id: I3748a08a3da4dd3617cb54e8fdd344d49566fc7d
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
regardless of ports state.
Signed-off-by: Maros Mullner <maros.mullner@pantheon.tech>
Change-Id: Iaafb5ff3a53a290ca79506bdb559a32d39570482
|
|
+ Detect NUMA
+ Pin based on numa location
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: Ife350f8c70e5437ac7c1413c7753f2a2f62777d9
|
|
- TrafficProfile
- IPsec jumbo
- TDLK leftover
- Trex scapy server
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: I0601ea75ed6e7318c46124fb02e9c61066089791
|
|
Since https://gerrit.fd.io/r/c/csit/+/24056
csit-vpp perf tests are failing.
Turns out the reason is too large limit_memory value,
but other improvements applied during investigation
are included as well.
+ Cat trex.log if trex fails to start.
+ Improve trex startup command formatting (remove double spaces).
+ Reorder imports.
Change-Id: I2c1106ea6f88a1a275682e73eba212d08c7947c8
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: Ia9832e5e65dbcf2d4f99c52fd0570d456262ab9a
|
|
+ When possible, fix the violation.
+ Else, add a comment:
+ An explanation (if not already present) and keep disable.
+ A TODO (if not already present) and remove the disable.
- This makes tox job report more pylint violations,
but any such violation is fixable and should be fixed.
- Although some need to be fixed in VPP, such as enum item long names.
Change-Id: I48604b5eda070083d79dff1439620dbd9e798e1f
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Change-Id: I1392c06b1d64f62b141d24c0d42a8e36913b15e2
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
+ Ansible
+ Service for auto load during restart
+ By default created 2 instances of Docker container
+ Small modification of Trex to use prefixes
+ DNV topology to use ssh port to connect to docker
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: Ibc2b2f0e509d920fc3e05d012b88abc388f5c3e7
|
|
HRDhistogram output contains essential trailing equals.
Edit all fields even though we do not expect equals in others.
Change-Id: I9f4f07fc4d6f4583989a9c0e45f68bc0cd9a65fe
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
+ Add functions for creating rdma interface
+ Fix traffic generator
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: I81787b72ff5ee926ed652d350888c4f86da766f1
|
|
+ Enable hdrh in trex server.
+ Append hdrh coded output after min/avg/max/.
+ Read (not show nor decode) hdrh value in PAL.
+ Also, remove old ndrpdrdisc code.
Change-Id: I99d99f10386a621772b5419ca1f36080fa15aca7
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
TRex does not zero the server counters.
It copies the values to use as reference,
and subtracts them when asked for results.
But the reference is stored in the client (not the server).
And CSIT uses different scripts to start and stop async traffic,
which means different clients.
This patch introduces a workaround.
Async start will return xstats objects to use as reference,
and async stop will use the objects to compute the correct results.
The xstats objects are stored in TrafficGenerator instance.
Sync measurement does not export the counters, to shorten logs.
Other improvements:
+ Make stop_traffic_on_tg return measurement results directly.
+ Rename --async to --async_start as "async" is reserved in Python 3.7
+ Minor pylint, docstring and typo fixes.
Change-Id: I5fc56a0763afb7d62cfa7c0651f96b6867de3e15
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Change-Id: I0c2bee5a1ff8ad29e47c4f947388e7b97dd17fff
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
+ Rename bool unidirection to int traffic_directions.
+ Rename "untagged" to "initial" for bandwidth calculation.
+ Fix latency measurement for unidirectional traffic.
+ Remove duplicate colon in soak test message.
+ Edit PAL to accept both forms.
+ Fix minor documentation issues.
Change-Id: I6c76f2dc090ae493f2fbd7e9ccd45229d2306dea
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
- HDRhistogram can be rebased and used in separate patch.
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: Ic7ce752344c6e1791af7cf7b7effde65ac2be680
|
|
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: I5ab8fe05074a842301a511bbd3ab5e67f8d1a9f0
|
|
This is a partial fix for:
Ticket: CSIT-1434
and should fix one pylint violation.
Many files to remove SSH() from remain.
+ Use -E (together with previous -S) in ssh.py when sudo=True.
Needed in some cases, no downsides expected.
Change-Id: Ie2ad03b3c656a4d3965a61a1e5435276f99a28c0
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Ticket: CSIT-1551
+ Config copied from other suites.
+ Layer keywords prepared for additional chains.
+ Renamed "create" argument to "vlan_per_chain".
+ TrafficGenerator result extraction improvements.
+ Also unified TG type and subtype checking.
+ Throughput estimated as PDR for zero PLR.
+ Actual Qemu start is skipped.
+ Parse xstats instead of stats in trex stop scipt.
- Because stats are unconditionally cleared on each script connect.
+ Remember start values to get better ReceiveMeasurementResult at stop.
+ Expose loss count and time as appropriate test message.
+ Autogen support.
+ Multiple chain amounts and core densities.
- Only 1 additional chain.
+ Proper TAGs. Documented.
+ Clarified min framesize tags are for TG-DUT.
+ Added a TODO concerning overhead values.
+ Added 118B tag.
+ Robot performance keywords improvements.
+ Added missing return value documentation.
+ Frame size as required test variable, not an explicit argument.
+ MLRsearch keyword to store result (not into test message).
- TODO: De-duplicate: main keyword to measure, minor to set test message.
- But implementation uses the fact default arguments are different.
+ Keywords for starting and stopping background traffic.
- No checks whether start-stop pair is complete.
+ Multiple minor indentation and logging improvements.
- Missing / TODOs:
- Support also vlan_per_chain=True?
- Support dot1q without vxlan?
- Support also deletion?
- How to package config steps so -reconf can be generated from -ndrpdr?
Change-Id: If0270697f9ffa837c34ef802917220a53f156703
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
- 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
|
|
Change-Id: I71010c18210e88828ded0bc679997d76f34886cb
Signed-off-by: Peter Mikus <pmikus@cisco.com>
|
|
Change-Id: I2c0877f4d8b6cad2694c43a4350998cd2b830680
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
+ Extract several tracker classes and use them in Integrator.
+ Apply next_rate workarounds to focus more on critical region.
+ Rewrite stretch function, as the previous implementation was wrong.
+ Rework logging:
++ Use injected trace() function in Integrator.
++ Inject function that skips trace logging on default initialization.
++ Use the same multiprocessing-safe passing, but separate queue.
+ Set duration to 120m in Robot, but keep at 30m in Python.
+ Apply minor changes to make computations more reproducible:
++ Attempt to log everything needed by reproducibility in one line.
++ Log samples used, and make it settable as upper limit.
++ Use repr output in TRex scripts, to avoid rounding when copypasting.
+- Numpy seems to be sharing PRNG between processes.
+-- An edit to disable one thread is needed for full reproducibility.
+-- Such an edit is prepared, but will not be merged anytime soon.
Change-Id: Icf56429b34ab6de2d18a12e6c676e2d242b3ba4c
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
The two types were not well distinguished before.
Error introduced in:
https://gerrit.fd.io/r/#/c/17811/84/resources/libraries/robot/performance/performance_setup.robot@255
Error hotfixed in:
https://gerrit.fd.io/r/#/c/18847/4/resources/libraries/robot/shared/default.robot@109
+ Rename some arguments and improve method docstrings.
Newly introduced argument name osi_layer should be dissimilar enough.
Change-Id: Ie0f6f97dc010fc6477f09c54574970f1d15462e2
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
+ All perf suites updated, as autogen change is backward incompatible.
+ Only x710 -ndrpdr suites remain in git repository.
+ Removed retry feature of run_tests.
+ Renamed topology_type and traffic_type to traffic_profile.
+ Renamed framesize to frame_size; nic_model to nic_name.
+ Reordered Variables table to start with nic_name and overhead.
+ Fixed wrong overhead value in some cbc-sha1 suites.
+ Fixed some suite tags.
++ Introduced tags to distinguish suites, such as IPSECINT.
+ Bound crypto hardware to NIC name.
+ Implemented NIC limit hiding.
+ Also search and teardown related arguments are now hidden.
+ Main measurement keywords updated to new arg handling.
+ Max rate related keywords moved to performance_limits.robot
+ Teardowns unified.
+ Generated tests are archived.
++ Generated directory is .gitignore-d.
+ Regenerator raises an exception on seeing non-compatible suite.
++ Relatively helpful message should be seen in exception.
+ Suite and template Documentation has generated parts.
+- With short NIC names only.
+ Autogen checker also upgraded.
+ Tag expressions replaced with long files to ensure analogous tests.
Change-Id: I60e9a999187e7da1f60d0eb4fb02afa14682aa46
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
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>
|
|
- Latency is now reported in both directions.
-- For unidirection that means additional -1/-1/-1.
+ Changed function argument wrapping to save vertical space.
+ Changed trex command synthesys to save vertical space.
+ Fixed handling of command line arguments to avoid superfluous spaces.
+ More care distinguishing (0, 1) from (port_0, port_1).
- Not renaming the original port arguments.
Change-Id: I7b1736b594f6edea52eb07e5bc76ef52d0af92f8
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
The original unidirection Chhange [0] has changed the order,
breaking some call sites.
Also, use different indentation to save some vertical space.
[0] https://gerrit.fd.io/r/#/c/16696/3/resources/libraries/python/TrafficGenerator.py@551
Change-Id: Ife9bd994da73f0afcd24fc16794f822a831c4353
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Missing bits:
- Add up-to-date .rst document (in child Change).
- Prepare for releasing to PyPI.org (in child Change):
-- Either copy dependencies from MLRsearch, or list in requirements.
-- Perhaps move common dependencies to separate package
for both search to depend on.
-- All the other metadata stuff.
Jira: CSIT-1276
Change-Id: I277efdb63dbb90b30e11f4e30a82e2130ac8efc3
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Extend TG in CSIT to support to send unidirectional traffic, and then
it can be used by unidirectional test cases e.g. Load balancer.
Change-Id: Ie25bcdf7d4525a6d88d8ecd11a1b6d98275fa4d6
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
|
|
- Decrease pylint errors. Part: easy
Change-Id: I452e5b5a11e9b78c03cd173a3848babe21b93c73
Signed-off-by: Peter Mikus <pmikus@cisco.com>
|
|
Make number of doublings configurable,
keep Python default at 1, set Robot default to 2.
Also make docstring types unique
(pylint was complaining about classes and modules having the same name).
Increase MLRsearch version to 0.2.0.
Change-Id: Ib846032e79ff52994503c0cfef2f86655502c275
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Delete the corresponding ndrpdrdisc suites.
MRR suites are also edited,
to make them less different from NDRPDR suites.
Now, there is a script to re-generate testcases of selected suites.
For that, resources/libraries/python/autogen is created,
with Regenerator holding the most of script logic.
The script looks at files matching a glob expression,
reuses a "prolog", but overwites test cases with the default template
and hardcoded set of testcase arguments.
Also, handling of overhead size has been simplified,
using new keyword Get Max Rate And Jumbo And Handle Multi Seg.
Default value for search timeout is increased to 12 minutes
to make timeout failures less frequent.
Change-Id: I394ad61f262b3078e5ca719034b15ada48987ee0
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
+ Rename search to MLRsearch in resources/libraries/python/.
+ Make PyPI/MLRsearch/MLRsearch a symlink to the renamed directory.
+ TrafficGenerator.py to import from the renamed directory/module.
- No change to MLRsearch code.
- Version stays at 0.1.1 to point to the latest released code.
Change-Id: I4a38b0b7f8f083fbb1a93b25522560144b4ef556
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
This reverts commit 0c2c57d9965ab1db0d5404ad103871ac250339cb.
Reason for revert: unless you will fix this broken patch we have to revert this as it breaks several thing in the csit core ci/cd.
1) all tb are pypi offline this means no new pypi is automatically dowloaded. Everytime you change your version you have to update every tb. As this is not automated this will never work and put extreme overhead
2) this code is not pylint checked and not verified by any existing job breaking any kind of verificition mechanics in csit
3)there is no automation in terms of creating pypi (no job) this creates chicken egg problem that you cannot verify change unless new version is installed
Next time please think or consult with more seniored csit core developer
Unless above will be fixed i will revert on monday as now it breaks all jobs. I will set hard verification to framework setup (exception) so this will prevent next time merge.
Possible solution:
1)Move the directory back to resources and reference from csit directly not via pypi, leave the setup crap in dir and let users to create package on their own
Change-Id: Id530a9f19f668e45f73ffc9e7371bb453b59fd1b
Signed-off-by: Peter Mikus <pmikus@cisco.com>
|
|
+ Delete resources/libraries/python/search/.
+ Add MLRsearch==0.1.1 to requirements.txt.
+ Bump PyPI/MLRsearch version to 0.1.2.
Change-Id: I1f86d75ac8eb90ee3946dbac8c56280f39302f4d
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
+ Use first intermediate with goal in initial phase.
+ Measure above MRR if that got zero loss.
+ Always prioritizes NDR in internal search.
+ Rename classes.
+ Copy code for standalone PyPI publishing.
- Original files will be deleted after publish.
Change-Id: I5169d602d1e5e35a1894645cd52e70d791871608
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Also add TODOs and improve comments.
Change-Id: I50bd652c83c272c3f7662dd487ab617be2b7de08
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Change-Id: I1da9a64fb06e015f2b2a0aacb46a53d70349b4b6
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
- Fail the testcase if there is no traffic pass.
Change-Id: I162187073aafa286793ce488fda9fd065bb55213
Signed-off-by: Peter Mikus <pmikus@cisco.com>
|
|
+ Place the libraries into resources/libraries/python/search/.
+ Except OptimizedTrexSearch in TrafficGenerator.py
+ Change traffic generator to support floats for duration and warmup.
+ Remove explicit type conversions where not needed.
+ Add robot keywords to performance_utils.robot
+ for calling the optimized search.
+ for reporting the resulting values.
+ for checking the minimal performance has been reached.
+ for running five second "Traffic should pass with no loss" after the search.
- Add methodology documentation in subsequent Change.
- Add simulator for testing algorithm correctness in a subsequent Change.
- Add tests using the libraries in subsequent Change.
Change-Id: Ia041008382ee4c9a562172099aea794c854d5f2f
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|