Hi,
I have spent a few days learning LAVA with QEMU and the Beagle Bone black. Now, I'm trying to setup a Renesas iwg20m board but I have some strange problem. # I'm using LAVA v2016.12.
The actions in the job definition looks as follows (sorry pastebin is blocked by our proxy):
actions: - boot: method: u-boot commands: msd type: uimage auto_login: login_prompt: '(none) login: ' username: root prompts: - 'myiwg20m: # ' timeout: minutes: 2 failure_retry: 5 - test: timeout: minutes: 5 failure_retry: 3 name: kernel-version-singlenode definitions: - repository: metadata: format: Lava-Test Test Definition 1.0 name: kernel-version-basic description: "check kernel version" run: steps: - lava-test-case linux-INLINE-uname --shell uname -a from: inline name: kernel-version-inline path: inline/kernel-version-basic.yaml
So far LAVA has been successful at powering on the board, interrupting u-boot, sending the u-boot commands, recognizing the boot login prompt and auto-login in. In other words, the boot actions seems to be working fine.
The problem comes with the 'test' action. I have mostly copied the code from the inline example included in the help but I get the following errors: (sorry again for not pasting it on pastebin)
- {"dt": "2017-09-11T05:19:03.602576", "lvl": "target", "msg": "Debian GNU/Linux 8 (none) /dev/ttySC0"} - {"dt": "2017-09-11T05:19:03.605709", "lvl": "debug", "msg": "Matched prompt #6: \(none\) login: "} - {"dt": "2017-09-11T05:19:03.606979", "lvl": "debug", "msg": "Sending username root"} - {"dt": "2017-09-11T05:19:03.608100", "lvl": "debug", "msg": {"sending": "root\n"}} - {"dt": "2017-09-11T05:19:03.864073", "lvl": "target", "msg": "(none) login: root"} - {"dt": "2017-09-11T05:19:03.865475", "lvl": "debug", "msg": "auto-login-action: Wait for prompt ['myiwg20m: # ']. 120 seconds"} - {"dt": "2017-09-11T05:19:03.868416", "lvl": "target", "msg": "root"} - {"dt": "2017-09-11T05:19:03.898283", "lvl": "target", "msg": ""} - {"dt": "2017-09-11T05:19:03.904742", "lvl": "target", "msg": "The programs included with the Debian GNU/Linux system are free software;"} - {"dt": "2017-09-11T05:19:03.911114", "lvl": "target", "msg": "the exact distribution terms for each program are described in the"} - {"dt": "2017-09-11T05:19:03.915433", "lvl": "target", "msg": "individual files in /usr/share/doc/*/copyright."} - {"dt": "2017-09-11T05:19:03.921821", "lvl": "target", "msg": "Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent"} - {"dt": "2017-09-11T05:19:03.923941", "lvl": "target", "msg": "permitted by applicable law."} - {"dt": "2017-09-11T05:19:03.927111", "lvl": "target", "msg": "login[816]: root login on 'ttySC0'"} - {"dt": "2017-09-11T05:19:03.928112", "lvl": "target", "msg": ""} - {"dt": "2017-09-11T05:19:03.933510", "lvl": "target", "msg": "BusyBox v1.22.1 (2017-09-01 01:37:39 UTC) built-in shell (ash)"} - {"dt": "2017-09-11T05:19:03.937734", "lvl": "target", "msg": "Enter 'help' for a list of built-in commands."} - {"dt": "2017-09-11T05:19:03.938979", "lvl": "debug", "msg": "Setting shell prompt(s) to ['myiwg20m: # ', 'lava-test: # ']"} - {"dt": "2017-09-11T05:19:03.939504", "lvl": "debug", "msg": {"sending": "export PS1="lava-test: # "\n"}} - {"dt": "2017-09-11T05:19:05.310766", "lvl": "target", "msg": "myiwg20m: # [6nexport PS1=\"lava-test: # \""} - {"dt": "2017-09-11T05:19:05.311542", "lvl": "debug", "msg": "auto-login-action duration: 3.93"} - {"dt": "2017-09-11T05:19:05.312062", "lvl": "results", "msg": {"case": "auto-login-action", "definition": "lava", "duration": !!float "3.929234027862549", "extra": !!python/object/apply:collections.OrderedDict [[["success", "No kernel warnings or errors detected."]]], "level": "1.5.5", "result": "pass"}} - {"dt": "2017-09-11T05:19:05.313427", "lvl": "debug", "msg": "start: 1.5.6 expect-shell-connection (max 120s)"} - {"dt": "2017-09-11T05:19:05.313967", "lvl": "debug", "msg": "expect-shell-connection: Waiting for prompt myiwg20m: # , lava-test: # "} - {"dt": "2017-09-11T05:19:05.314522", "lvl": "debug", "msg": "expect-shell-connection: Wait for prompt ['myiwg20m: # ', 'lava-test: # ']. 300 seconds"} - {"dt": "2017-09-11T05:19:05.315249", "lvl": "target", "msg": "export PS1=\"lava-test: # \""} - {"dt": "2017-09-11T05:19:05.315963", "lvl": "debug", "msg": "expect-shell-connection duration: 0.00"} - {"dt": "2017-09-11T05:19:05.316851", "lvl": "debug", "msg": "start: 1.5.7 export-device-env (max 120s)"} - {"dt": "2017-09-11T05:19:05.317390", "lvl": "debug", "msg": "export-device-env duration: 0.00"} - {"dt": "2017-09-11T05:19:05.317890", "lvl": "debug", "msg": "Setting default test shell prompt"} - {"dt": "2017-09-11T05:19:05.318373", "lvl": "debug", "msg": ["myiwg20m: # ", "lava-test: # "]} - {"dt": "2017-09-11T05:19:05.318902", "lvl": "debug", "msg": "uboot-retry: Wait for prompt ['myiwg20m: # ', 'lava-test: # ']. 240 seconds"} - {"dt": "2017-09-11T05:19:05.339032", "lvl": "debug", "msg": "uboot-retry duration: 8.48"} - {"dt": "2017-09-11T05:19:05.339643", "lvl": "info", "msg": "uboot-action duration: 8.50"} - {"dt": "2017-09-11T05:19:05.340189", "lvl": "info", "msg": "start: 2 lava-test-retry (max 300s)"} - {"dt": "2017-09-11T05:19:05.340724", "lvl": "debug", "msg": "start: 2.1 lava-test-shell (max 300s)"} - {"dt": "2017-09-11T05:19:05.341253", "lvl": "info", "msg": "Executing test definitions using ShellSession"} - {"dt": "2017-09-11T05:19:05.341753", "lvl": "debug", "msg": {"sending": "#\n"}} - {"dt": "2017-09-11T05:19:05.442940", "lvl": "target", "msg": "lava-test: # [6n#"} - {"dt": "2017-09-11T05:19:05.443483", "lvl": "debug", "msg": "lava-test-shell: Wait for prompt ['myiwg20m: # ', 'lava-test: # ']. 300 seconds"} - {"dt": "2017-09-11T05:19:05.446189", "lvl": "target", "msg": "#"} - {"dt": "2017-09-11T05:19:05.469109", "lvl": "exception", "msg": "Traceback (most recent call last):\n File "/usr/lib/python2.7/dist-packages/lava_dispatcher/pipeline/action.py", line 290, in run_actions\n new_connection = action.run(connection, args)\n File "/usr/lib/python2.7/dist-packages/lava_dispatcher/pipeline/actions/test/shell.py", line 243, in run\n for running in xrange(stage + 1):\nTypeError: unsupported operand type(s) for +: 'NoneType' and 'int'\n"} - {"dt": "2017-09-11T05:19:05.470260", "lvl": "debug", "msg": "start: 3.1 power_off (max 5s)"} - {"dt": "2017-09-11T05:19:05.470796", "lvl": "info", "msg": "nice curl http://admin:<omitted>@192.168.11.68/set.cmd?cmd=setpower+p61=0"} - {"dt": "2017-09-11T05:19:05.534407", "lvl": "debug", "msg": !!python/unicode "command output % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\r100 20 0 20 0 0 371 0 --:--:-- --:--:-- --:--:-- 377\n<html>p61=0</html>\r\n"} - {"dt": "2017-09-11T05:19:05.535945", "lvl": "debug", "msg": "power_off duration: 0.07"} - {"dt": "2017-09-11T05:19:05.536462", "lvl": "results", "msg": {"case": "power_off", "definition": "lava", "duration": !!float "0.06516695022583008", "extra": !!python/object/apply:collections.OrderedDict [[["status", "success"]]], "level": "3.1", "result": "pass"}} - {"dt": "2017-09-11T05:19:05.644487", "lvl": "error", "msg": "Status: Incomplete\nErrors ['Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/lava_dispatcher/pipeline/action.py", line 290, in run_actions new_connection = action.run(connection, args) File "/usr/lib/python2.7/dist-packages/lava_dispatcher/pipeline/actions/test/shell.py", line 243, in run for running in xrange(stage + 1):TypeError: unsupported operand type(s) for +: \'NoneType\' and \'int\'', 'Incomplete']"} - {"dt": "2017-09-11T05:19:05.646006", "lvl": "exception", "msg": "Traceback (most recent call last):\n File "/usr/lib/python2.7/dist-packages/lava_dispatcher/pipeline/action.py", line 290, in run_actions\n new_connection = action.run(connection, args)\n File "/usr/lib/python2.7/dist-packages/lava_dispatcher/pipeline/logical.py", line 57, in run\n new_connection = self.internal_pipeline.run_actions(connection)\n File "/usr/lib/python2.7/dist-packages/lava_dispatcher/pipeline/action.py", line 302, in run_actions\n raise RuntimeError(action.errors)\nRuntimeError: ['Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/lava_dispatcher/pipeline/action.py", line 290, in run_actions new_connection = action.run(connection, args) File "/usr/lib/python2.7/dist-packages/lava_dispatcher/pipeline/actions/test/shell.py", line 243, in run for running in xrange(stage + 1):TypeError: unsupported operand type(s) for +: \'NoneType\' and \'int\'']\n"} - {"dt": "2017-09-11T05:19:05.647870", "lvl": "debug", "msg": "start: 3.1 power_off (max 5s)"} - {"dt": "2017-09-11T05:19:05.648393", "lvl": "debug", "msg": "power_off duration: 0.00"} - {"dt": "2017-09-11T05:19:05.648864", "lvl": "results", "msg": {"case": "power_off", "definition": "lava", "duration": !!float "3.0994415283203125e-05", "extra": !!python/object/apply:collections.OrderedDict [[["status", "success"], ["duration", !!float "0.06516695022583008"], ["connection-timeout", !!float "300.0"], ["timeout", !!float "5.0"], ["level", "3.1"]]], "level": "3.1", "result": "pass"}} - {"dt": "2017-09-11T05:19:05.650619", "lvl": "error", "msg": "status: ['Incomplete']"}
Any hint of what's going on? # One thing I don't understand is that even though I have set the "prompts" variable on the job, LAVA seems to force it to become "lava-test: #".
Thanks, Daniel