Hi all,
I have been having issues doing solely boot and test with serial (specific issue(s) not diagnosed, but presumably something to do with telnet), but that's not the discussion here.
I want to be try booting the device with the serial method then deploying/running tests using ssh, since it seems like ssh can't power on and power off the DUT. If that is wrong then please let me know so I can try that.
I have two proposed ideas: 1) boot with serial -> deploy test (however works) -> run test with serial -> power off 2) boot with serial -> deploy test (however works) -> run test with ssh -> power off
I started with a multinode job (I still don't quite understand multinode yet) and this is my current job definition, if you could please help point out issues with it as it doesn't work: #multinode job for controller deployment job_name: controller deploy test
protocols: lava-multinode: roles: host: context: lava_test_results_dir: /tmp/lava-%s device_type: controller timeout: minutes: 10 count: 1 guest: context: lava_test_results_dir: /tmp/lava-%s request: lava-start count: 3 expect_role: host timeout: minutes: 10 connection: ssh host_role: host
timeouts: job: minutes: 15 action: minutes: 5 connection: minutes: 2 priority: medium visibility: public
actions: - deploy: role: - host timeout: minutes: 10 to: tftp authorize: ssh kernel: url: file:///kernel.img type: uimage ramdisk: url: file:///ramdisk.gz compression: gz dtb: url: file:///u-boot.dtb
- deploy: role: - guest timeout: minutes: 10 to: ssh protocols: lava-multinode: - action: prepare-scp-overlay request: lava-wait messageID: ipv4 message: ipaddr: $ipaddr
- boot: role: - host timeout: minutes: 5 method: minimal prompts: ["# "] auto_login: login_prompt: "login: " username: root
- boot: role: - guest timeout: minutes: 5 prompts: ["# $"] parameters: hostID: ipv4 # messageID host_key: ipaddr # message key method: ssh connection: ssh
- test: role: - host timeout: minutes: 15 definitions: - repository: metadata: format: Lava-Test Test Definition 1.0 name: install-ssh description: "install step" scope: - functional run: steps: # messageID matches, message_key as the key. - lava-send ipv4 ipaddr=$(lava-echo-ipv4 eth0) - lava-send lava_start - lava-sync clients from: inline name: ssh-inline path: inline/ssh-install.yaml
- test: role: - guest timeout: minutes: 5 definitions: - repository: https://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@github.com/MichaelPed/lava-... from: git path: smoke-tests/smoke.yaml name: smoke-tests # run the inline last as the host is waiting for this final sync. - repository: metadata: format: Lava-Test Test Definition 1.0 name: client-ssh description: "client complete" scope: - functional run: steps: - df -h - free - lava-sync clients from: inline name: ssh-client path: inline/ssh-client.yaml
And this is my device dictionary, if you could please let me know what needs changing: {% extends 'controller.jinja2' %}
{% set power_off_command = 'python /power.py 12 off' %} {% set soft_reboot_command = 'reboot'%} {% set hard_reset_command = 'python /power.py 12 reboot' %} {% set power_on_command = 'python /power.py 12 on' %} {% set connection_list = ['uart0'] %} {% set connection_commands = {'uart0': 'telnet 10.60.2.209 7001'} %} {% set connection_tags = {'uart0': ['primary', 'telnet']} %} {% set bootm_kernel_addr = '/kernel.img' %}
If you guys have any questions please ask away! Also, if there is somehow something other than a multinode job that will do what I want then please let me know!
Best regards, Michael
lava-users@lists.lavasoftware.org