ppc64le / sls-tool

IBM Structured LTP Stress SLS Tool
GNU General Public License v2.0
14 stars 4 forks source link
hacktoberfest

IBM Structured LTP Stress SLS Tool

SLS is a tool designed to run opensource Linux Test Project tests in System Test or Stress Test environment. It mainly uses several control structures to regulate the stress during long incubation cycles.

The test scenarios are dynamiclly generated based on config file input. It makes use of the resource utilization effectively, to keep the system busy all the time without overcommiting the resource. It does mix of tests dynamically at run time, to check the system stability in longer run

The initial Open Source release of SLS caters to all manners of Power platforms running Linux. It supports any type of Linux running in different guest modes (Baremetal, PowerVM LPAR, KVM Guest). Although, the scope of execution is limited within the operating sytem boundry, this has not been tested on other architecture.

Test Grouping

LTP contains large number of testcases. It is important to organise the tests into smaller sub groups, to have a flexible run during stress test. The group of tests can be found under tc_group

Prerequisites

* Python 
* Passwordless ssh should be setup between LHOST and RHOST

Copy SLS

$ git clone https://github.com/ppc64le/sls-tool
$ cd sls-tool

Setting up SLS:

It is necessary to prepare the test environment to effectively run SLS. This involves setting up the latest LTP code, installing necessary RPMs, starting the services, loading modules etc.,

./install_sls.py

WARNING It is improtant to run this successfully before going to next step. Failing to install or start any services has to be manually addressed, else the associated LTP tests will fail.

Starting SLS:

Review and edit sls_config file. Refer README

Review start.sls.py usage and start accordingly

./start_sls.py --help
usage: start_sls.py [-h] [-b] [-i] [-t] [-n] [-s S [S ...]] [-r R [R ...]]
Start SLS
optional arguments:
  -h, --help    show this help message and exit
  -b            BASE Tests
  -i            IO Tests
  -t            Network Tests
  -n            NFS Tests
  -s S [S ...]  Test Suites
  -r R [R ...]  Run with Sceanrio file

More Examples:

To run all the four focus area (-t and -n require RHOST and LHOST varilable to be exported in sls_config)

$ ./start_sls.py -b -i -n -t 

To run only BASE tests

$ ./start_sls.py -b

To run with last scenario file (This is helpful while recreating the problems, since it maintains the order of execution)

./start_sls.py -r /tmp/SCENARIO_LIST

To run testcases from syscalls suite

./start_sls.py -s syscalls

Monitoring

To view the status and details of tests running:

$ ./show_results.py

Review show_results.py usage and use accordingly

./show_results.py --help
usage: show_results.py [-h] [-c] [-m] [-s] [-t] [-i] [-d]

Show LTP Results

optional arguments:
  -h, --help  show this help message and exit
  -c          Show CPU Usage
  -m          Show Memory Usage
  -s          Show Test Scenarios
  -t          Show Tests
  -i          Show In Progress Tests
  -d          Show Details of In Progress Tests

The hierarchical logs are created under the path specified by TC_HTML_PATH

Default Path --> /LOGS/SLS/Distro Name/Distro Level/Machine_Name/Date & Time Stamp/

Refer to README to know about the logs created during execution

Stopping tests

To stop SLS tests

./stop_sls.py

Debugging SLS

In order to help SLS developers during code problems, please collect sls.tar and send

./collect_logs.py

Authors & Maintainers

Original author, who developed the initial version of SLS under shell code

Chethan Jain -chetjain@in.ibm.com

Additional owner, who helped in rewriting the code in Python language

Manjunath H.R -manjuhr1@in.ibm.com