action #87695
open
coordination #58184: [saga][epic][use case] full version control awareness within openQA
coordination #48641: [epic] Trigger openQA tests in pull requests of any product github pull request
Full openQA test development, maintenance and administration from browser without the need of a local terminal size:M
Added by okurz over 3 years ago.
Updated 2 days ago.
Category:
Feature requests
Description
Motivation¶
To allow easier workflows for web centric users, e.g. using https://github.com/features/codespaces , we should offer possibilities to interact with openQA without needing a local terminal with openqa cli tools, maybe using curl only.
Acceptance criteria¶
- AC1: openQA jobs can be triggered from remote web-based IDEs (or just terminals)
Suggestions¶
Further details¶
Related to #86063
Related issues
2 (2 open — 0 closed)
- Copied from action #86063: [epic] Add possibility to trigger openQA API calls, e.g. single "jobs", without the need of the client / over the webUI / with curl added
- Target version changed from future to Ready
- Subject changed from [epic] full openQA test development, maintenance and administration from browser without the need of a local terminal to Full openQA test development, maintenance and administration from browser without the need of a local terminal
- Description updated (diff)
- Description updated (diff)
- Subject changed from Full openQA test development, maintenance and administration from browser without the need of a local terminal to Full openQA test development, maintenance and administration from browser without the need of a local terminal size:M
- Description updated (diff)
- Status changed from New to Workable
- Target version changed from Ready to future
- Description updated (diff)
- Target version changed from future to Ready
- Status changed from Workable to In Progress
- Assignee set to tinita
- Description updated (diff)
I was able to build from this Dockerfile and run it in codespace:
FROM docker.io/opensuse/leap:15.6
RUN zypper in -y git bash
RUN zypper in -y openQA-single-instance openQA-bootstrap \
qemu-arm qemu-ppc qemu-x86 qemu-tools sudo iputils os-autoinst-distri-opensuse-deps && \
zypper clean -a
Branch: https://github.com/perlpunk/openQA/tree/codespace
I started openqa-bootstrap and had a working webui on https://some-name-80.app.github.dev
.
I cloned this test: https://openqa.opensuse.org/tests/4191283
However the test died:
[2024-05-15T21:55:44.230858Z] [info] [pid:6527] ::: backend::baseclass::die_handler: Backend process died, backend errors are reported below in the following lines:
QEMU terminated before QMP connection could be established. Check for errors below
[2024-05-15T21:55:44.231141Z] [info] [pid:6527] ::: OpenQA::Qemu::Proc::save_state: Saving QEMU state to qemu_state.json
[2024-05-15T21:55:44.234059Z] [debug] [pid:6527] Passing remaining frames to the video encoder
[2024-05-15T21:55:44.334945Z] [debug] [pid:6527] Waiting for video encoder to finalize the video
[2024-05-15T21:55:44.335038Z] [debug] [pid:6527] The built-in video encoder (pid 6530) terminated
[2024-05-15T21:55:44.335922Z] [debug] [pid:6527] QEMU: QEMU emulator version 8.2.2 (SUSE Linux Enterprise 15)
[2024-05-15T21:55:44.335985Z] [debug] [pid:6527] QEMU: Copyright (c) 2003-2023 Fabrice Bellard and the QEMU Project developers
[2024-05-15T21:55:44.336058Z] [warn] [pid:6527] !!! : qemu-system-x86_64: CPU model 'host' requires KVM or HVF
[2024-05-15T21:55:44.336762Z] [debug] [pid:6527] sending magic and exit
[2024-05-15T21:55:44.337059Z] [debug] [pid:6294] received magic close
[2024-05-15T21:55:44.441401Z] [warn] [pid:6294] !!! main: failed to start VM at /usr/lib/os-autoinst/backend/driver.pm line 104.
[2024-05-15T21:55:44.441738Z] [debug] [pid:6294] stopping command server 6516 because test execution ended through exception
I also cloned a different test using a Python test module and it complained that Inline::Python is not installed.
Adding "runArgs": [ "--privileged", "--device", "/dev/kvm" ]
in devcontainer.json did not help
I added QEMU_APPEND="-enable-kvm"
to openqa-clone-job. Now I get:
[2024-05-16T08:45:29.471397Z] [debug] [pid:6331] QEMU: Copyright (c) 2003-2023 Fabrice Bellard and the QEMU Project developers
[2024-05-16T08:45:29.471444Z] [debug] [pid:6331] QEMU: Could not access KVM kernel module: Permission denied
[2024-05-16T08:45:29.471548Z] [warn] [pid:6331] !!! : qemu-system-x86_64: failed to initialize kvm: Permission denied
[2024-05-16T08:45:29.472298Z] [debug] [pid:6331] sending magic and exit
[2024-05-16T08:45:29.472581Z] [debug] [pid:6098] received magic close
[2024-05-16T08:45:29.577241Z] [warn] [pid:6098] !!! main: failed to start VM at /usr/lib/os-autoinst/backend/driver.pm line 104.
I did:
chown root:kvm /dev/kvm
Now I get:
[2024-05-16T08:49:46.622010Z] [warn] [pid:8060] !!! : qemu-system-x86_64: -vnc :91,share=force-shared: Failed to find an available port: Address already in use
In our collab session we tried several things to change the vnc port.
In the end it helped to restart the worker instance with an instance number of 10 instead of 1. (we needed to create the pool directory first)
With that qemu started and the test passed.
We didn't find out why the default 5091 port did not work, as there was nothing else listening on that port.
But it would be good if the bootstrap script and our code was a bit more flexible to configure certain ports.
Also it would be nice if one could just stop everything and restart the bootstrap script after making changes. Running the bootstrap script twice currently fails early when adding the zypper repository (complaining that it already exists).
Also available in: Atom
PDF