job_name: LXC and secondary connection with a device timeouts: job: minutes: 30 action: minutes: 3 connection: minutes: 5 priority: medium visibility: public metadata: # please change these fields when modifying this job for your own tests. docs-source: writing-multinode docs-filename: examples/test-jobs/bbb-lxc-ssh-guest.yaml build-readme: https://files.lavasoftware.org/components/lava/standard/debian/stretch/armhf/3/debian-stretch-armmp-armhf-readme.html build-script: https://files.lavasoftware.org/components/lava/standard/debian/stretch/armhf/3/armmp-nfs.sh # PROTOCOL_BLOCK protocols: lava-lxc: host: name: lxc-ssh-test template: debian distribution: debian release: stretch lava-multinode: # expect_role is used by the dispatcher and is part of delay_start # host_role is used by the scheduler, unrelated to delay_start. roles: host: device_type: beaglebone-black count: 1 timeout: minutes: 10 guest: # protocol API call to make during protocol setup request: lava-start # set the role for which this role will wait expect_role: host timeout: minutes: 15 # no device_type, just a connection connection: ssh count: 3 # each ssh connection will attempt to connect to the device of role 'host' host_role: host # actions_block actions: - deploy: role: - host namespace: probe timeout: minutes: 5 to: lxc packages: - usbutils - procps - lsb-release - util-linux - boot: role: - host namespace: probe prompts: - 'root@(.*):/#' timeout: minutes: 5 method: lxc # device_actions - deploy: role: - host namespace: device timeout: minutes: 4 to: tftp # authorize for ssh adds the ssh public key to authorized_keys authorize: ssh kernel: url: https://files.lavasoftware.org/components/lava/standard/debian/stretch/armhf/3/vmlinuz-4.9.0-4-armmp sha256sum: b6043cc5a07e2cead3f7f098018e7706ea7840eece2a456ba5fcfaddaf98a21e type: zimage ramdisk: url: https://files.lavasoftware.org/components/lava/standard/debian/stretch/armhf/3/initrd.img-4.9.0-4-armmp sha256sum: 4cc25f499ae74e72b5d74c9c5e65e143de8c2e3b019f5d1781abbf519479b843 compression: gz modules: url: https://files.lavasoftware.org/components/lava/standard/debian/stretch/armhf/3/modules.tar.gz sha256sum: 10e6930e9282dd44905cfd3f3a2d5a5058a1d400374afb2619412554e1067d58 compression: gz nfsrootfs: url: https://files.lavasoftware.org/components/lava/standard/debian/stretch/armhf/3/stretch-armhf-nfs.tar.gz sha256sum: 46d18f339ac973359e8ac507e5258b620709add94cf5e09a858d936ace38f698 compression: gz dtb: url: https://files.lavasoftware.org/components/lava/standard/debian/stretch/armhf/3/dtbs/am335x-boneblack.dtb sha256sum: c4c461712bf52af7d020e78678e20fc946f1d9b9552ef26fd07ae85c5373ece9 - deploy: role: - guest namespace: guest timeout: # timeout for the ssh connection attempt seconds: 30 to: ssh connection: ssh protocols: lava-multinode: - action: prepare-scp-overlay request: lava-wait # messageID matches hostID messageID: ipv4 message: # the key of the message matches value of the host_key # the value of the message gets substituted ipaddr: $ipaddr timeout: # delay_start timeout minutes: 5 - boot: role: - host namespace: device timeout: minutes: 15 method: u-boot commands: nfs auto_login: login_prompt: 'login:' username: root prompts: - 'root@stretch:' parameters: shutdown-message: "reboot: Restarting system" - boot: role: - guest namespace: guest timeout: minutes: 3 prompts: - 'root@stretch:' parameters: hostID: ipv4 # messageID host_key: ipaddr # message key method: ssh connection: ssh - test: role: - host namespace: device timeout: minutes: 30 definitions: - repository: metadata: format: Lava-Test Test Definition 1.0 name: install-ssh description: "install step" run: steps: - apt-get -q update - lava-test-case apt --shell apt-get -q -y install ntpdate openssh-server net-tools - lava-test-case ntpdate --shell ntpdate-debian # 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 - repository: http://git.linaro.org/lava-team/lava-functional-tests.git from: git path: lava-test-shell/smoke-tests-basic.yaml name: smoke-tests - repository: http://git.linaro.org/lava-team/lava-functional-tests.git from: git path: lava-test-shell/single-node/singlenode02.yaml name: singlenode-intermediate - test: role: - guest namespace: guest timeout: minutes: 5 definitions: - repository: http://git.linaro.org/lava-team/lava-functional-tests.git from: git path: lava-test-shell/smoke-tests-basic.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" run: steps: - df -h - free - lava-sync clients from: inline name: ssh-client path: inline/ssh-client.yaml - test: role: - host namespace: probe timeout: minutes: 5 definitions: - repository: metadata: format: Lava-Test Test Definition 1.0 name: network description: "installation" run: steps: - lava-test-case apt --shell apt-get -q -y install net-tools - lava-test-case inline --shell ls /dev/serial/by-id from: inline name: lxc-test path: inline/lxc-test.yaml - test: role: - host namespace: device timeout: minutes: 10 definitions: - repository: http://git.linaro.org/lava-team/lava-functional-tests.git from: git path: lava-test-shell/single-node/singlenode03.yaml name: singlenode-advanced