action #161399
closedcoordination #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
Use Tumbleweed again for openqa-single-instance container size:S
Description
Motivation¶
In #87695 we downgraded the openqa-single-instance container because Tumbleweed did not work in GitHub codespaces.
I created a bugreport here:
https://github.com/orgs/community/discussions/127083
Installing awk
and tar
fixes it, see https://progress.opensuse.org/issues/161399#note-6
Acceptance criteria¶
- AC1: A Tumbleweed based openqa-single-instance codespaces container is used in osado and other projects where currently Leap based
- AC2: The pure openqa-single-instance container does not explicitly install anything that's only needed in codespaces
- AC3: openqa-single-instance container uses Tumbleweed again
Suggestions¶
- Idea is to have two new container files in
openQA/containers/
and in OBS,tumbleweed-codespaces
withawk
andtar
, andopenqa-single-instance-codespaces
building from that. Our devcontainer definitions then could use theopenqa-single-instance-codespaces
container. - Create a new container definition based on https://github.com/os-autoinst/openQA/blob/master/container/single-instance/Dockerfile at best inheriting that, not copying
- Add container build instructions in devel:openQA like in https://build.opensuse.org/package/show/devel:openQA/openQA-single-instance-container
- Provide the required containers
- Where we currently have devcontainers that need to be updated:
- https://github.com/os-autoinst/os-autoinst-distri-example/ , for example https://github.com/os-autoinst/os-autoinst-distri-example/blob/main/.devcontainer/devcontainer.json#L3
- https://github.com/os-autoinst/os-autoinst-distri-openQA/
- https://github.com/os-autoinst/openQA
- Pending PR https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/19488
Updated by tinita 6 months ago
- Copied from action #87695: Full openQA test development, maintenance and administration from browser without the need of a local terminal size:M added
Updated by okurz 6 months ago
- Status changed from New to Blocked
- Assignee set to okurz
- Target version changed from Ready to future
I subscribed to https://github.com/orgs/community/discussions/127083 . Let's block on that
Updated by okurz 5 months ago
I asked in https://matrix.to/#/!XpAJOYggtDiIfDZZBr:opensuse.org/$ps-jpbRJPTawRdS-FOGvgWNH7YQ0bEys_iE_bhBqcFs
hi guys, we observed an interesting error trying out GitHub codespaces using a Tumblweed container: https://github.com/orgs/community/discussions/127083 Trying that container just yields an error message in the user's browser session "An unexpected error occurred that requires a reload of this page.". Our internal ticket https://progress.opensuse.org/issues/161399 . Leap 15.5 works fine so we use that as workaround for now. Any idea what could cause this?
Updated by mpagot 5 months ago
I just tested codespace proposed in https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/18324 , that is also a TW based one, and nowadays is broken in the same way:
An unexpected error occurred that requires a reload of this page.
The workbench failed to connect to the server (Error: exception was thrown by handler. exception: failed to start vs code remote server.)
Updated by mpagot 5 months ago
Issue in TW not to be usable for codespace is the lack of awk
in the default container image
In TW
$ podman run --rm opensuse/tumbleweed:latest awk --version
Error: crun: executable file `awk` not found in $PATH: No such file or directory: OCI runtime attempted to invoke a command that was not found
In Leap
$ podman run --rm opensuse/leap:15.5 awk --version
GNU Awk 4.2.1, API: 2.0
Copyright (C) 1989, 1991-2018 Free Software Foundation......
AWK is needed by part of the codespace deployment, one of the latest part where some binary are "uploaded" in the running container to allow communication with the VScode that "host" it.
Viable solution is to change the codespace config file to get TW using a Dockerfile and then install awk as part of it (to be safe awk and tar as both are required by the codespace deployment process).
Here some "documentation" --> https://github.com/microsoft/vscode-remote-release/issues/9620
Here an example about how to fix it --> https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/18324 and in particular https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/18324/commits/084a5706d981dc22ca14d3ef159a8d95a4585d19
Updated by jbaier_cz 4 months ago
I created
- part 1: https://github.com/os-autoinst/openQA/pull/5818
- part 2: https://github.com/os-autoinst/openQA/pull/5819
In between the parts, the project needs to be defined in the OBS and the image needs to be build for the first time.
Updated by jbaier_cz 4 months ago
Apparently replace_using_package_version
service needs the package inside the zypper cache during the build so a minor adjustment has to be made: https://github.com/os-autoinst/openQA/pull/5823