Opensuse h4ckweek 2022

Logo

Opensuse h4ckweek 2022 navigation log

View the Project on GitHub michelepagot/opensuse.hackweek.2022

28 June 2022

Day2 is hot

by michelepagot

Back

I hope for myself more Wezterm fun…

DONE

Hackweek webpage

From the github project page configuration I selected the theme jeklly-theme-minimal. The theme official documentation is at minimal.

openQA

Day1 ended up in a solid failure, even of the basic boot/boot_to_desktop test of the selected Tumbleweed cloned from a passing test.

openqa-clone-job \
  --from https://openqa.opensuse.org/tests/2436441 \
  --skip-chained-deps \
  SCHEDULE=tests/boot/boot_to_desktop

It was like this on both:

It turn out that most of the long execution time was dedicated to log collection after the failure in the post_fail_hook. First trick that I get is to run the test with _SKIP_POST_FAIL_HOOKS=1 if I don’t need the lengthy log collection ( more details here).

openqa-clone-job \
  --from https://openqa.opensuse.org/tests/2436441 \
  --skip-chained-deps \
  SCHEDULE=tests/boot/boot_to_desktop \
  _SKIP_POST_FAIL_HOOKS=1

Talking about the failure itself, it seems something related to the needles.

# Test died: no candidate needle with tag(s) 'generic-desktop, emergency-shell, emergency-mode, opensuse-welcome, gnome-activities' matched

It turn out that I’m not using the proper needles repository in my openQA instance. The right one to use is os-autoinst-needles-opensuse

Now that the boot_to_desktop is PASS, I can try something more.

openqa-clone-job \
  --from https://openqa.opensuse.org/tests/2436441 \
  --skip-chained-deps \
  SCHEDULE=tests/boot/boot_to_desktop,tests/x11/wezterm \
  _SKIP_POST_FAIL_HOOKS=1

Image

Now maybe I can try also to start the just installed Wezterm, it is just like adding in the test code:

x11_start_program('wezterm');

What I need now is to create a first needle. Unfortunately:

Image

sounds like geekotest user can not write to my openQA instance needles.

% ls -lai  products/opensuse/needles
794678 -rw-r--r-- 1 mpagot geekotest   213 Apr 19 10:24 products/opensuse/needles/apache2_changehat-adminer-database-dropped-20190418.json
794679 -rw-r--r-- 1 mpagot geekotest 45804 Apr 19 10:24 products/opensuse/needles/apache2_changehat-adminer-database-dropped-20190418.png

Indeed -rw-r--r-- 1 mpagot geekotest. So I need to adjust permissions accordingly

# chown -R <YOUR_USERNAME>:geekotest needles/
$ chmod g+rw needles
$ chmod g+rw needles/*

And now they are like:

% ls -lai  products/opensuse/needles/
1072275 -rw-rw-r-- 1 mpagot geekotest   213 Jun 28 15:54 products/opensuse/needles/apache2_changehat-adminer-database-dropped-20190418.json
1072276 -rw-rw-r-- 1 mpagot geekotest 45804 Jun 28 15:54 products/opensuse/needles/apache2_changehat-adminer-database-dropped-20190418.png

And now: Image

isotovideo

I’m following kalikiana post about isotovideo

mkdir openqa
git clone https://github.com/os-autoinst/os-autoinst-distri-example
cd os-autoinst-distri-example
podman run --rm -it -v .:/tests:Z registry.opensuse.org/devel/openqa/containers/isotovideo:qemu-x86 casedir=./tests
cd ..
git clone https://github.com/os-autoinst/os-autoinst-distri-opensuse
cd os-autoinst-distri-opensuse
podman run --pull=always --rm -it -v .:/opt/tests registry.opensuse.org/devel/openqa/containers-tw/isotovideo:qemu-x86-os-autoinst-distri-opensuse -d casedir=/opt/tests productdir=products/opensuse _exit_after_schedule=1
git clone --depth 1 https://github.com/os-autoinst/os-autoinst-needles-opensuse products/opensuse/needles

At this point, the execution produce a printscreen like:

Image

It is time to get some images and ISO. I get them from openQA directly, for example from the download page of my reference TW test.

I place them in the pool folder and I can use them like:

podman run \
  --rm -it \
  -v .:/opt/tests
  -v ./pool:/opt/pool -w /opt/pool \
  registry.opensuse.org/devel/openqa/containers-tw/isotovideo:qemu-x86-os-autoinst-distri-opensuse \
  -d casedir=/opt/tests productdir=products/opensuse \
  SCHEDULE=tests/boot/boot_to_desktop \
  HDD_1=opensuse-Tumbleweed-x86_64-20220625-gnome-x11@64bit.qcow2

that, for the moment, result in

[2022-06-28T12:36:44.028534Z] [debug] >>> testapi::_check_backend_response: match=text-logged-in-root timed out after 60 (assert_screen)
[2022-06-28T12:36:44.124456Z] [debug] post_fail_hook failed: no candidate needle with tag(s) 'text-logged-in-root' matched
[2022-06-28T12:36:44.127656Z] [debug] ||| finished boot_to_desktop tests/boot (runtime: 728 s)
[2022-06-28T12:36:44.127832Z] [debug] ||| post fail hooks runtime: 110 s
[2022-06-28T12:36:44.143325Z] [debug] stopping overall test execution after a fatal test failure
[2022-06-28T12:36:44.145149Z] [debug] stopping autotest process 14
[2022-06-28T12:36:44.165515Z] [debug] [autotest] process exited: 0

TODO

Hackweek webpage

openQA

Wezterm

tags: