intel / lkp-tests

Linux Kernel Performance tests
GNU General Public License v2.0
260 stars 157 forks source link

Unable to execute autotest-part1-cyclictest on Clear Linux #43

Closed ckoppolu closed 5 years ago

ckoppolu commented 5 years ago

Hello,

I am a new user of lkp-tests and have been playing with example tests. Well the ones that I used worked on Ubuntu 18.04, but when shifted to Clear Linux. The lkp-tests for the out of the box example autotest-part1-cyclictest.yaml failed. Here are the steps executed:

lkp split jobs/autotest-part1.yaml - PASSED sudo lkp install autotest-part1-cyclictest.yaml - PASSED sudo lkp run autotest-part1-cyclictest.yaml - Failed with the following error message: 2019-07-25 22:10:47 python2.7 client/autotest-local run cyclictest 22:10:48 ERROR| Can not find test cyclictest/control kill 18106 vmstat --timestamp -n 10 kill 18104 dmesg --follow --decode wait for background processes: 18109 meminfo

The same test works fine in Ubuntu with kernel version: 4.15.0-54-generic, but fails on Clear Linux with kernel version: 4.19.50-12.iot-lts2018-preempt-rt

zhouhao3 commented 5 years ago

I conducted the relevant tests and it worked successfully.

root@clear-lkp-30040~/lkp-tests # lkp run autotest-part1-cyclictest.yaml                                                                                                            
2019-07-29 05:07:08 python2.7 client/autotest-local run cyclictest                                                                                                                   
05:07:09 INFO | Writing results to /lkp/benchmarks/autotest/client/results/default                                                                                              
05:07:09 ERROR| Could not determine initlevel, assuming 2                                                                                                                         
05:07:09 INFO | Could not symlink init scripts (lack of permissions)                                                                                                              
05:07:09 INFO | START   ----    ----    timestamp=1564376829    localtime=Jul 29 05:07:09                                                                                       
05:07:09 INFO |         START   cyclictest      cyclictest      timestamp=1564376829    localtime=Jul 29 05:07:09                                                                
05:07:09 WARNI| System python is too old, crash handling disabled                                                                                                               
05:08:52 INFO | System log file not found (looked for ['/var/log/messages', '/var/log/syslog'])
05:08:52 INFO |                 GOOD    cyclictest      cyclictest      timestamp=1564376932    localtime=Jul 29 05:08:52       completed successfully
05:08:52 INFO |         END GOOD        cyclictest      cyclictest      timestamp=1564376932    localtime=Jul 29 05:08:52
05:08:52 INFO | END GOOD        ----    ----    timestamp=1564376932    localtime=Jul 29 05:08:52
05:08:52 INFO | Report successfully generated at /lkp/benchmarks/autotest/client/results/default/job_report.html
kill 12224 vmstat --timestamp -n 10
kill 12222 dmesg --follow --decode
wait for background processes: 12226 meminfo

If I delete the tests under autotest/client/tests, I will see the problem you said after testing again.

root@clear-lkp-30040~/lkp-tests # lkp run autotest-part1-cyclictest.yaml
2019-07-29 05:34:52 python2.7 client/autotest-local run cyclictest
05:34:52 ERROR| Can not find test cyclictest/control
kill 13462 vmstat --timestamp -n 10
kill 13460 dmesg --follow --decode
wait for background processes: 13465 meminfo

I think the reason you made a mistake is that you haven't download all the autotest tests. Because autotest contains submodules. You can check if the following test exists in the path below.

root@clear-lkp-30040/lkp/benchmarks/autotest/client/tests # ls
aborttest            compilebench  docker            fio          iosched_bugs      LICENSE         parallel_dd      regression        smatch                  unixbench
aio_dio_bugs         connectathon  ebizzy            flail        iozone            linus_stress    perfmon          requirements.txt  sparse                  unixbench5
aiostress            cpuflags      error_cleanup     fsdev        iperf             linux-tools     pi_tests         rmaptest          spew                    uptime
asynctest            cpu_hotplug   error_initialize  fsfuzzer     ipv6connect       lmbench         pktgen           rtc               stress                  virt
autotest_regression  ctcs          error_setup       fs_mark      isic              ltp             posixtest        rttester          synctest                wb_kupdate
barriertest          cyclictest    error_skip_step   fsstress     kernbench         lvsetup         profiler_sync    runtests.py       sysbench                xfstests
bash_shared_mapping  dacapo        error_test_bug    fsx          kernelbuild       memory_api      profiler_test    scrashme          systemtap               xmtest
...

. There is a patch has solved this problem, you can try to lkp install autotest-part1-cyclictest.yaml using the latest code, I think it should be able to solve this problem. Please let me know if there is any problem.

ckoppolu commented 5 years ago

Thanks for the test, I see part of the problem still exists on my side. I checked out the latest code and went through the steps to install and run autotest-part1-cyclictest.yaml. The result is the same and there are not test artifacts installed under /lkp/benchmarks/autotest/client/tests. Here is my output:

ckoppolu@jfsrtse-clear~/lkp-tests $ ls -lart /lkp/benchmarks/autotest/client/tests/ total 8 drwxr-xr-x 11 root root 4096 Jul 25 20:31 .. drwxr-xr-x 2 root root 4096 Jul 30 22:26 .

I didn’t see any error while installing the package or running any tests to be able to point to the root cause. Which step updates /lkp/benchmarks/autotest/client/tests?

zhouhao3 commented 5 years ago

ckoppolu@jfsrtse-clear~/lkp-tests $ ls -lart /lkp/benchmarks/autotest/client/tests/ total 8

It seems that it have not downloaded all the tests here.There will be no error when executing lkp install. Because your original autotest file has only a few partial tests, re-executing git submodule update --init --recursive has no effect.

I suggest you do the following:

  1. Delete the /lkp/behchmarks/autotest file
  2. Delete the /tmp/build-autotest/autotest file
  3. Re-run lkp install autotest-part1-cyclictest.yaml

I think this will solve your problem.

ckoppolu commented 5 years ago

Yes, it did! thanks for the solution.