Project

General

Profile

action #91257

coordination #80142: [saga][epic] Scale out: Redundant/load-balancing deployments of openQA, easy containers, containers on kubernetes

coordination #80150: [epic] Scale out openQA: Easier openQA setup

coordination #90758: [epic] python bindings for openQA

try out python backend for production tests in a new test distribution or os-autoinst-distri-openQA

Added by okurz 6 months ago. Updated about 2 months ago.

Status:
Resolved
Priority:
Low
Assignee:
Category:
Feature requests
Target version:
Start date:
2021-04-15
Due date:
% Done:

0%

Estimated time:
Difficulty:

Description

Motivation

To show if the python test backend for os-autoinst works it should be used in a test distribution

Acceptance criteria

  • AC1: the python test backend is used in at least one test module in a test distribution

Related issues

Related to openQA Project - action #95533: [easy][beginner] try out code ref handling in python backend for productionNew2021-07-15

History

#1 Updated by okurz 6 months ago

  • Tracker changed from coordination to action

#2 Updated by cdywan 6 months ago

  • Status changed from Workable to In Progress
  • Assignee set to cdywan

#3 Updated by cdywan 6 months ago

On o3 I get this rather opaque failure:

[2021-04-23T09:31:55.798 CEST] [debug] scheduling login /tests/openQA/login.pm
[2021-04-23T09:31:55.926 CEST] [warn] !!! autotest::loadtest: error on /tests/openQA/search.py: Error -- py_eval raised an exception at /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at (eval 130) line 5.

error on /tests/openQA/search.py: Error -- py_eval raised an exception at /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at (eval 130) line 5.
Compilation failed in require at /usr/lib/os-autoinst/OpenQA/Isotovideo/Utils.pm line 211.

Possibly broken due to https://github.com/os-autoinst/os-autoinst/pull/1655 but guessing (see #90758).

#4 Updated by okurz 6 months ago

Possibly broken due to https://github.com/os-autoinst/os-autoinst/pull/1655 but guessing (see #90758).

Not "due to", but "fixed by"

#5 Updated by okurz 6 months ago

  • Due date set to 2021-05-07

#6 Updated by cdywan 5 months ago

Re-running my test via script/openqa-clone-custom-git-refspec https://github.com/os-autoinst/os-autoinst-distri-openQA/pull/68 https://openqa.opensuse.org/tests/1709703 PYTHON=1: https://openqa.opensuse.org/tests/1729756 to see if the aforementioned fix works

#7 Updated by cdywan 5 months ago

cdywan wrote:

Re-running my test via script/openqa-clone-custom-git-refspec https://github.com/os-autoinst/os-autoinst-distri-openQA/pull/68 https://openqa.opensuse.org/tests/1709703 PYTHON=1: https://openqa.opensuse.org/tests/1729756 to see if the aforementioned fix works

It'd be nice if there was a way to link up "outdated" tests. I re-ran it and got Download of "/var/lib/openqa/cache/openqa1-opensuse/opensuse-Tumbleweed-x86_64-20210420-Tumbleweed@64bit.qcow2" failed: 404 Not Found and nothing in the web UI helps me advance from there. I feel like we should have the information needed to avoid such obvious errors?

In the meanwhile script/openqa-clone-custom-git-refspec https://github.com/os-autoinst/os-autoinst-distri-openQA/pull/68 https://openqa.opensuse.org/tests/1736056 PYTHON=1 is what I want, I think. Let's see if this is going to prove more fruitful.

https://openqa.opensuse.org/t1736130

#8 Updated by okurz 5 months ago

  • Due date deleted (2021-05-07)
  • Status changed from In Progress to Feedback

https://openqa.opensuse.org/tests/1736573#step/search/2 looks promising. You should be able to continue by simply creating the needle. As this is a "Low" ticket and you are less available this week I will leave creating the needle as a learning opportunity for yourself :)

#9 Updated by cdywan 3 months ago

  • Due date set to 2021-08-31

Setting a due date here. It's a low ticket but still would be nice to wrap up at some point

#10 Updated by cdywan 3 months ago

  • Status changed from Feedback to In Progress

Let's see if I can wrap this up now. Needle for openqa-search with match area for the text field created, to be re-run like so (the previous test no longer has the necessary assets):

./script/openqa-clone-custom-git-refspec https://github.com/os-autoinst/os-autoinst-distri-openQA/pull/68 https://openqa.opensuse.org/tests/1839904 PYTHON=1

#11 Updated by okurz 3 months ago

https://github.com/os-autoinst/os-autoinst-distri-openQA/pull/68 merged. Looks great! Please await a successful production job for verification.

I would also appreciate if you could add like a single sentence to our openQA docs linking to your test code as showcase example for python test implementation.

#12 Updated by cdywan 3 months ago

okurz wrote:

https://github.com/os-autoinst/os-autoinst-distri-openQA/pull/68 merged. Looks great! Please await a successful production job for verification.

Ack. I added this to the job template:

@@ -5,6 +5,7 @@
     settings:
       INSTALL: '1'
       INSTALL_ONLY: '1'
+      PYTHON: '1'
       QEMUCPU: host
       UPDATE: '0'

I would also appreciate if you could add like a single sentence to our openQA docs linking to your test code as showcase example for python test implementation.

I actually added the full snippet. We have existing ones for Perl so that seems a little more inclusive me thinks: https://github.com/os-autoinst/openQA/pull/4049

#13 Updated by cdywan 3 months ago

Looks like some of the tests fail now, e.g. https://openqa.opensuse.org/tests/1841566 with openqa-cli being unavailable. I think what's happening is that the container/git tests simply don't have that executable so I'll change the schedule.

@@ -5,7 +5,6 @@
     settings:
       INSTALL: '1'
       INSTALL_ONLY: '1'
-      PYTHON: '1'
       QEMUCPU: host
       UPDATE: '0'

@@ -22,6 +21,7 @@
         settings:
           PUBLISH_HDD_1: 'opensuse-Tumbleweed-%ARCH%@%MACHINE%-%BUILD%.qcow2'
           PUBLISH_PFLASH_VARS: 'opensuse-Tumbleweed-%ARCH%@%MACHINE%-%BUILD%-uefi-vars.qcow2'
+          PYTHON: '1'
         description: >-
           Maintainer: okurz@suse.de Test for installation of openQA itself.
           To be used with "openqa" distri. Publishes an qcow2 image including the openQA installation

#14 Updated by cdywan 3 months ago

  • Related to action #95533: [easy][beginner] try out code ref handling in python backend for production added

#15 Updated by cdywan 3 months ago

Related observation: The search won't include Python modules when searching filenames and file contents (unless they're in job modules which works differently). So I proposed a PR to address that: https://github.com/os-autoinst/openQA/pull/4051

#16 Updated by cdywan 3 months ago

  • Status changed from In Progress to Resolved

The http://open.qa/docs/ got updated so I think this is concluded

#17 Updated by okurz about 2 months ago

  • Due date deleted (2021-08-31)

Also available in: Atom PDF