Hello,
We are testing our custom debian image and have added banner messages before login and after login and after the implementation LAVA job is failing on auto-login.
Please find example banner messages:
|_ _/
| |
| |
_| |
|_____\
Info:
Example.....: ABC
Example......: ABC
IP:
etho.......:123
Info:
1. some info
Some Info:
1. ###
Some more info: ####
login :
It looks like due to a huge banner message before the login prompt it is getting confused and due to this, it gets stuck at auto login and timeouts. Please suggest if we can ignore this in LAVA to login and execute the test case
Please find the job details:
device_type: qemu
job_name: banner
timeouts:
job:
minutes: 30
action:
minutes: 25
connection:
minutes: 5
priority: medium
visibility: public
context:
arch: amd64
lava_test_results_dir: "/home/lava-%s"
actions:
- deploy:
timeout:
minutes: 15
to: tmpfs
images:
rootfs:
url: file:///home/image
image_arg: XXXX
- boot:
timeout:
minutes: 15
method: qemu
media: tmpfs
prompts:
- 'login:'
auto_login:
login_prompt: "login:"
username: abc
password_prompt: "Password:"
password: "abc"
- test:
timeout:
minutes: 15
definitions:
- repository: git(a)test.git
from: git
path: test.yaml
name: basic
Thanks,
Sweta
Hello,
I'm currently using version 2024.09, and when running the test monitor, I encounter the following error at the top of my job: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')). I don't notice anything unusual in the test logs. Could this be a bug with the test monitor?
Best Regards,
Andy
Hi,
I think there is something terribly wrong with job timeouts in 2024.05
release. Total job timeout seems to be ignored. This was working fine
on 2024.01 release. I'll try to debug, but IMHO this is a pretty
critical bug that should be addressed immediately. I'll report it in
gitlab as well.
Best Regards,
Milosz
Hello,
I am spinning up debian image using Qemu and want to copy a custom package from my lava server to debian vm for testing. I could see that support for tar is planned https://docs.lavasoftware.org/lava/actions-test.html#inline-test-definition… . But is there any way I can include my custom package in tarbar created at Deploy Action to ship to my VM easily?
Hello,
I have multiple machines over which I test using LAVA job using primary ssh connection. As my devices OS gets installed every now and then I have to manually update the ssh public key before executing the job so that LAVA can connect to DUT over passwordless SSH.
Is there a way I can include a script in device dictionary to copy the keys automatically before requesting a ssh connection? As I understand password option is not there. Kindly suggest.
Hello,
I want to spin up an image with tpm enabled using qemu, and I need to execute swtpm socket command before image boot-ups via qemu. Please suggest if I could execute this command or script in qemu.jinja2 file or any other file.
Thanks,
Sweta
Hi,
I want clone a gitlab repo with id and token during job execution. To hide the token I am passing the value in my job. How can I export the value of GIT_TOKEN in environment file of LAVA? So that whenever job is executed it will read the value from its environment file. I tried to use export and tried to add "GIT_TOKEN=abcd" in env.yaml file. But I guess its not correct format. I couldn't find what kind of values we can add in env.yaml in documents. I also added GIT_TOKEN value in /etc/profile of the LAVA server still the job didn't pick it. Could you please suggest how can we clone the repo in LAVA job without exposing its password. Also I understand that ssh key of root will work but I want to avoid using ssh key of root. Kindly suggest
- test:
timeout:
minutes: 15
definitions:
- repository: https://gitid:$GIT_TOKEN@gitlab.com/lava-tests.git
from: git
path: tests/cisscan/cis.yaml
branch: pipeline
name: cis-benchmark
Hi all,
I run into some unexpected behavior when it comes to LAVA job IDs
reported by the "lavacli jobs sumit" command for multi node tests.
What I get is a list of newline separated job IDs like:
lavacli jobs submit <my-job-description>
132.0
132.1
To my understanding this tries to express that 132.1 is a sub job of
132. OK, but this is a problem if I now try to download the junit
report for the second job (=132.1).
It seems 132.1 is not a valid job ID (API wise), it has to be
translated to 133 to work properly.
This is still doable, but I'm unsure if I can relay on 133 really being
the 132.1 job in case there are several job submissions at the same
time.
Is that a bug of lavacli? What is the reasoning for returning a sub job
ID which seems to be invisible to the rest of the LAVA infrastructure /
API?
I'm currently running lavacli 1.2-1, as shipped by Debian 12.
Any input welcome...
Best regards,
Florian
Hello,
I am new to LAVA, I want to boot up my hardware(NET-I System)which is a x86_64 and install debian bookworm image over it and execute test cases. My h/w is connected to my LAVA server via a serial device.Below is the high level job that I am planning to use. But where should I specify the serial device information and other information?Could please share any example job and device .jija2 that I can refer regarding what all information needs to be provided for LAVA server to properly connect to H/W and also is u-boot correct for my usecase? or if there is any other suggestions :
device_type: your_device_type
job_name: debian_boot_test
timeouts:
job:
minutes: 15
action:
minutes: 5
connection:
minutes: 2
actions:
- deploy:
timeout:
minutes: 10
to: tftp
images:
rootfs:
url: <Debian Image>
- boot:
method: u-boot
commands: your_device_boot_commands
prompts:
- 'login:'
parameters:
boot_options: root=/dev/ram0
- test:
timeout:
minutes: 5
definitions:
- repository:
metadata:
format: Lava-Test Test Definition 1.0
name: debian-check-test
description: "Test to verify Debian OS"
os:
- debian
run:
steps:
- echo 'Checking if OS is Debian'
- 'if [ "$(lsb_release -is)" = "Debian" ]; then echo "OS is Debian"; else echo "OS is not Debian"; fi'
from: inline
name: debian-check-test
path: inline/debian-check-test.yaml
Hello,
I would like to change path to /mnt from below:
"lava_test_dir": "/lava-%s",
"lava_test_results_dir": "/lava-%s",
I am using an immutable image and due to which don't have permission to write, so cannot create directory eg /lava-34 due to which cannot execute test. We have partition /mnt which we can mount and run the test cases over our os. But for that to work I need to change path. I tried changing it in /usr/lib/python3/dist-packages/lava_dispatcher/deployment_data.py , but jobs fails once I change it. I have only changed the debian section as the image we are using is a debian image.
Could you please help me if there is any option to make these changes while executing job or any other file for devices.
Thanks,
Sweta