Hi,
I have made a test setup with LAVA to run some test cases on my AM335X based platform. I want to execute some simple test cases like testing the status of "ifconfig eth0" command. I don't want to deploy any image and my goal is to execute only this test directly(target is booted with root file system mounted).I have the below job submitted to the lava worker. ethernet.yaml contains the shell script which actually performs the ifconfig test. ============================================================================================= { "actions": [ { "command": "dummy_deploy", "parameters": { "target_type": "oe" } }, { "command": "lava_test_shell", "parameters": { "testdef_repos": [ { "testdef": "/root/lava_tests/yaml/ethernet.yaml" } ], "timeout": 60 } }, { "command": "submit_results_on_host", "parameters": { "server": "http://10.24.252.13:81/RPC2/", "stream": "/anonymous/lavaserver/" } } ], "device_type": "ELIN", "health_check": false, "job_name": "elin-ethernet-test", "logging_level": "DEBUG", "timeout": 60 } ======================================================================================================= Lava dispatcher is able to connect to the target and start the job. But finally I am getting a timeout. Please find the attached log for details. I can see that after connecting with the target the dispatcher is checking/finding some information related to the file system, and looks like it is getting timed out there. How can I avoid this and make the dispatcher to directly perform the test on the target platform?
Any help any help would be appreciated.
Best Regards, Pradeepkumar Soman
On 19 April 2016 at 14:03, pradeepkumar pradeep.soman@u-blox.com wrote:
I have made a test setup with LAVA to run some test cases on my AM335X based platform. I want to execute some simple test cases like testing the status of "ifconfig eth0" command. I don't want to deploy any image and my goal is to execute only this test directly(target is booted with root file system mounted)
But it is booted into an image with a prompt that LAVA V1 does not recognise.
Lava dispatcher is able to connect to the target and start the job. But finally I am getting a timeout. Please find the attached log for details. I can see that after connecting with the target the dispatcher is checking/finding some information related to the file system, and looks like it is getting timed out there.
It is looking for a shell prompt:
4.0 <LAVA_DISPATCHER>2016-04-19 11:38:23 AM DEBUG: expect (10): '['root@master \[rc=(\d+)\]# ', <class 'pexpect.TIMEOUT'>]'
6.0 root@elin-w160-evk:~#
How can I avoid this and make the dispatcher to directly perform the test on the target platform?
The list of test shell prompts in LAVA V1 using the test_image_prompts variable in the device configuration.
<LAVA_DISPATCHER>2016-04-19 11:38:33 AM INFO: IN the system master image
You have set this device as a master image type device in the device configuration, so that mandates that the booted image *must* come up into a master image and that kind of image *always* has a 'master' hostname, so matches the root@master prompt.
You need to change the device configuration to not be a master device and change the test_image_prompts *or* change the hostname of the device.
Hi Neil,
Thanks for your reply.
I will make the changes and test it.
But I think the default image type is taken as master.
How/where can I change that setting?
Regards,
Pradeepkumar Soman.
On 19 April 2016 at 16:27, pradeepkumar pradeep.soman@u-blox.com wrote:
Hi Neil,
Thanks for your reply.
I will make the changes and test it.
But I think the default image type is taken as master.
How/where can I change that setting?
It will be in the device-type configuration. e.g. https://git.linaro.org/lava/lava-dispatcher.git/blob/HEAD:/lava_dispatcher/d... client_type =
Your device-type configuration should be in /etc/lava-dispatcher/device-types/
We've already changed most of the device-types away from master (most use a "dynamic master" which is NFS).
In your device configuration, you need to specify a client_type other than master (this is why you are seeing "attempting to access master filesystem" in your log files). You may find that "dummy" is a suitable device_type but I can't tell without knowing your existing configuration. If you attach the relevant device_types/ conf file and devices/ conf file it may be clearer.
My old device-types file is as below(ELIN.conf) ====================================================== client_type = bootloader
test_image_prompts = \r\nroot@elin-w160-evk:~# sh#
dummy_driver = bootloader lmc_dev_arg = ELIN connection_command = telnet -l root localhost 4000 ======================================================
My new device-types file is as below(ELIN.conf) ====================================================== client_type = dummy
test_image_prompts = \r\nroot@elin-w160-evk:~# sh#
dummy_driver = dummy lmc_dev_arg = ELIN connection_command = telnet -l root localhost 4000 =========================================================
Below is the device file content I didn't change(elin1.conf). ======================================================= device_type = ELIN hostname = elin-w160-evk #NOTE: the ttyUSBX below needs to be updated to match your configuration connection_command = telnet -l root localhost 4000 username = root ===========================================================
I tried with the new device-type file, which is having the client_type as "dummy". But the tests didn't executed as the dispatcher is showing the following error. I removed the option "dummy_driver" option and tried, but no success. ============================================================================ 2016-04-19 15:55:46,932 [INFO] [lava_scheduler_daemon.dbjobsource.DatabaseJobSource] elin1 started running job 71 2016-04-19 15:55:46,961 [DEBUG] [lava_scheduler_daemon.dbjobsource.DatabaseJobSource] jobStarted_impl transaction committed 2016-04-19 15:55:46,968 [INFO] [lava_scheduler_daemon.job.JobRunner.71] starting job {u'health_check': False, u'device_type': u'ELIN', u'actions': [{u'command': u'dummy_deploy', u'parameters': {u'target_type': u'oe'}}, {u'command': u'lava_test_shell', u'parameters': {u'timeout': 60, u'testdef_repos': [{u'testdef': u'/root/lava_tests/yaml/ethernet.yaml'}]}}, {u'command': u'submit_results_on_host', u'parameters': {'token': u'95o8j32k7a26dd23iig36q3j90p6oi13s5d7l0qpb4o0ad01y27e5ff7ouzkiz9mw4sze5ciwmk4cxdk7ytrmm0jnmw24syhngyobk5j9xfhjy8fg3aimoyqrebm76jn', u'stream': u'/anonymous/lavaserver/', u'server': u'http://lavaserver@10.24.252.13:81/RPC2/%27%7D%7D], u'job_name': u'elin-ethernet-test', u'timeout': 60, u'logging_level': u'DEBUG', 'target': u'elin1'} 2016-04-19 15:55:46,969 [INFO] [lava_scheduler_daemon.job.MonitorJob] executing "setsid lava-server manage schedulermonitor lava-dispatch elin1 /tmp/tmpjXen3M -l debug -f /var/log/lava-server/lava-scheduler.log" M 2016-04-19 15:55:48,286 [DEBUG] [root] not cancelling M 2016-04-19 15:55:49,935 [INFO] [lava_scheduler_daemon.job.DispatcherProcessProtocol] processExited for elin1: A process has ended with a probable error condition: process ended with exit code 1. M 2016-04-19 15:55:49,935 [INFO] [lava_scheduler_daemon.job.DispatcherProcessProtocol] childConnectionLost for elin1: 1 M 2016-04-19 15:55:49,935 [INFO] [lava_scheduler_daemon.job.DispatcherProcessProtocol] childConnectionLost for elin1: 2 M 2016-04-19 15:55:49,935 [INFO] [lava_scheduler_daemon.job.DispatcherProcessProtocol] processEnded for elin1: A process has ended with a probable error condition: process ended with exit code 1. M 2016-04-19 15:55:49,935 [INFO] [lava_scheduler_daemon.job.Job.elin1] job finished on elin1 =================================================================================================================================
Regards, Pradeepkumar Soman