Project

General

Profile

Actions

action #91509

open

coordination #102906: [saga][epic] Increased stability of tests with less "known failures", known incompletes handled automatically within openQA

coordination #88229: [epic] Prevent unintended test coverage decrease

[spike-solution]Easy way to check and compare coverage in multiple openQA instances

Added by hurhaj over 3 years ago. Updated about 2 months ago.

Status:
New
Priority:
High
Assignee:
-
Category:
-
Target version:
Start date:
2021-04-23
Due date:
% Done:

0%

Estimated time:
(Total: 0.00 h)

Description

Motivation

We have (AFAIK) three official instances of openQA:

  1. openqa.suse.de
  2. openqa.qam.suse.cz
  3. openqa.opensuse.org

To get a full picture of our openQA efforts, we need data from all of them, otherwise we will be missing info about some of the products (e.g. QEM has runs in both o.s.d and o.q.s.c).

The tool should be able to answer two main questions:

  1. What is the coverage / What tests do we run for product X? (i.e. What tests are running on SLE 15 SP2?)
  2. What is the difference in coverage for products X and Y? (i.e. What tests are running on openSUSE Tumbleweed but not on SLE 15 SP2 and vice versa? )
    • both of these questions were already asked, but it's hard to give quick and precise answer at this moment

## Suggestions

  • Come up with one or multiple proposals for how to implement this
  • Consider a basic web app which can fetch data from multiple openQA instances
  • Could this be implemented as an openQA plugin? Make osd the primary place to look at complete coverage?
  • Generate reports in GitLab pipelines a la openqa_review
  • Ask PMs such as Heiko and Timo what they would find useful

Subtasks 1 (1 open0 closed)

action #91656: [qe-core] os-autoinst-distri-opensuse YAML schedule file comparisonNew2021-04-23

Actions
Actions #1

Updated by hurhaj over 3 years ago

  • Description updated (diff)
Actions #2

Updated by VANASTASIADIS over 3 years ago

  • Category set to Feature requests
  • Target version set to future
Actions #3

Updated by okurz over 3 years ago

  • Parent task set to #88229
Actions #4

Updated by okurz over 3 years ago

I have linked this ticket to already existing #88229 . I have the feeling that we did not see this need as severly before most of SUSE openQA contributors have selected to use YAML schedule files per openQA scenario in comparison to previously using a shared schedule definition where differences would all be noted down explicitly. IMHO the whole problem of differing coverage was made worse with #54839 which of course helped to mitigate short-term pain because teams "felt" as if they would step less on each other's toes.
Would we need a "tool" to compare coverage in case we would simply use the same schedule definitions by default?

Actions #5

Updated by okurz over 3 years ago

  • Subject changed from [tools] Create tool for checking and comparing coverage in openQAs to Easy way to check and compare coverage in multiple openQA instances

As discussed in chat

To be able to proceed we need actual use cases. For example I wonder: What are the actual goals you want to achieve? The template https://progress.opensuse.org/projects/openqav3/wiki/#Feature-requests should help to fill the necessary details.

Actions #6

Updated by hurhaj over 3 years ago

okurz wrote:

To be able to proceed we need actual use cases. For example I wonder: What are the actual goals you want to achieve?

From the description:

The tool should be able to answer two main questions:

What is the coverage / What tests do we run for product X? (i.e. What tests are running on SLE 15 SP2?)
What is the difference in coverage for products X and Y? (i.e. What tests are running on openSUSE Tumbleweed but not on SLE 15 SP2 and vice versa? )
both of these questions were already asked, but it's hard to give quick and precise answer at this moment

Actions #7

Updated by okurz over 3 years ago

I have read the description. But why do you need the coverage? What would you do with this information if you have it?

Actions #8

Updated by okurz over 3 years ago

  • Project changed from openQA Project (public) to openQA Tests (public)
  • Category changed from Feature requests to Enhancement to existing tests
Actions #9

Updated by tjyrinki_suse over 3 years ago

  • Subject changed from Easy way to check and compare coverage in multiple openQA instances to [tools] Easy way to check and compare coverage in multiple openQA instances
Actions #10

Updated by hurhaj over 3 years ago

okurz wrote:

I have read the description. But why do you need the coverage? What would you do with this information if you have it?

Mostly for filling the gaps, checking if all is OK during release of new service pack or even whole new SLES. Also there is a possibility that someone will want to use it for whatever statistics they need.

It seems to be very interesting for product owners, but any team in QE could find it useful.

Actions #11

Updated by okurz over 3 years ago

Just to get expectations aligned: SUSE QE Tools has not much experience with the test distribution os-autoinst-distri-opensuse itself and also not expectations regarding something like the expected test coverage data. AFAIK reading data from multiple instances and comparing against each other has never been done so far. What I could think of being possible here is an external script accessing the databases of each instance directly, reading test modules, sorting test modules by DISTRI, FLAVOR, VERSION, ARCH, MACHINE . I assume what we would end up with is a very big document that can be used for reference and searching for individual test modules. This can help to answer a question like "Is module X tested on Y at all". But I think it will not be usable to effectively compare test coverage to find gaps assuming that the actual difference will be very big. This is the reason why I proposed #91656 assuming that it's easier to implement, easier to use and more helpful in the long run.

In the meantime maybe also https://github.com/okurz/scripts/blob/master/openqa-db_query_last_use_of_module can be helpful to find out in which scenarios specified modules are used.

Regarding a time expectation when we could come to implementing the current ticket my current estimate is in the range of months. See the complete current SUSE QE Tools team backlog under https://progress.opensuse.org/issues?query_id=230

Actions #12

Updated by hurhaj over 3 years ago

I'm fully aware how difficult this issue is. And my personal expectations don't matter, really, as this is coming more from product owners and I'm here just a middleman who created the ticket. As I mentioned in chat, most interested people in this kind of functionality were Marita, Heiko and Timo. I suggest you talk to each other and align expectations, without me introducing needles noise to the discussion.

Actions #13

Updated by okurz over 3 years ago

I understand. Yes, that makes sense. I guess it's best to do that then in #72877

Actions #15

Updated by szarate over 2 years ago

These tickets are not on high prio

Actions #16

Updated by szarate over 2 years ago

  • Tags set to bulkupdate

These tickets are not on high pro

Actions #17

Updated by szarate over 2 years ago

  • Tags deleted (bulkupdate)
  • Project changed from openQA Tests (public) to openQA Project (public)
  • Category changed from Enhancement to existing tests to Feature requests
  • Assignee set to okurz

Maybe reject the ticket based on: #91509#note-13?

Actions #18

Updated by okurz over 2 years ago

@szarate I don't understand why you think that we should reject this topic. The original requirement is still not fulfilled, so why reject?

Actions #19

Updated by szarate over 2 years ago

okurz wrote:

@szarate I don't understand why you think that we should reject this topic. The original requirement is still not fulfilled, so why reject?

perhaps I misunderstood your comment, I guess you were referring to Juraj's discussion?

Actions #20

Updated by okurz over 2 years ago

  • Project changed from openQA Project (public) to openQA Tests (public)
  • Subject changed from [tools] Easy way to check and compare coverage in multiple openQA instances to [qe-core] Easy way to check and compare coverage in multiple openQA instances
  • Category changed from Feature requests to Enhancement to existing tests
  • Assignee deleted (okurz)

Well, in any case this isn't done. Moving back to "openQA Tests" as the problem seems to be really self-made due to the decision to have the yaml-based schedule separate per product/version/flavor in os-autoinst-distri-opensuse instead of (my preference) to try to keep the test schedule as much aligned as possible and only apply exceptions, e.g. skip "scc_registration" on openSUSE, skip "steam" on SLE but do the same otherwise for SLE and openSUSE. Also see #91509#note-4 where I have explained this.

Actions #21

Updated by szarate over 2 years ago

  • Project changed from openQA Tests (public) to openQA Project (public)
  • Subject changed from [qe-core] Easy way to check and compare coverage in multiple openQA instances to Easy way to check and compare coverage in multiple openQA instances
  • Category deleted (Enhancement to existing tests)
  • Assignee set to okurz

Please reject the ticket if the tools team doesn't see a valid request, don't reassign to core, as it goes beyond our scope.

Actions #22

Updated by okurz over 2 years ago

  • Assignee deleted (okurz)

Well, I still see this as a valid request though still specific to os-autoinst-distri-opensuse. Let's keep in future for now

Actions #23

Updated by livdywan about 2 months ago

  • Subject changed from Easy way to check and compare coverage in multiple openQA instances to [spike-solution]Easy way to check and compare coverage in multiple openQA instances
  • Description updated (diff)
Actions

Also available in: Atom PDF