Project

General

Profile

action #524

define dependencies between jobs

Added by lnussel over 9 years ago. Updated almost 8 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Feature requests
Target version:
Start date:
2013-06-07
Due date:
% Done:

100%

Estimated time:
Difficulty:

Description

for the future:
define dependencies on jobs, so that e.g. exotic options like raid are only tested if the base test ("kde") succeeded.

History

#1 Updated by aplanas over 9 years ago

  • Target version set to T12. Issues for the next iteration

#2 Updated by aplanas over 8 years ago

  • Project changed from openQA improvement to openQA Project
  • Target version deleted (T12. Issues for the next iteration)

#3 Updated by ancorgs over 8 years ago

  • Parent task set to #2396

Is not exactly a subtask of #2396, but we should consider this issue while refactoring, so...

#4 Updated by ancorgs over 8 years ago

  • Target version set to Sprint 07

#5 Updated by ancorgs over 8 years ago

  • Target version deleted (Sprint 07)

#6 Updated by coolo almost 8 years ago

  • Category set to 122
  • Parent task deleted (#2396)

#7 Updated by coolo almost 8 years ago

  • Assignee set to nadvornik

#8 Updated by coolo almost 8 years ago

  • Target version set to Sprint 12

At this point checking how jenkins does it and how we can interface with it, would be worthy. (you need to speak JAVA for that though I'm afraid)

#9 Updated by nadvornik almost 8 years ago

For OpenQA only solution I'd suggest this:

  • add JobDependencies table with (job_id, main_job_id, dep_type)
  • use dependency type PreReq for this case (other types can be useful for multimachine etc.)
  • when a main job fails, set all dependent jobs to "canceled" transitively
  • do not schedule dependent jobs until the main job is finished
  • add similar dependencies to Testsuites table as a template

I also looked at jenkins. It seems to be possible to connect it with OpenQA by simple script that enters the job in the queue and waits until it is finished. However, specifying various combination of parameters in jenkins (like machines or testsuites) seems to be rather complicated and I am not sure if jenkis would be any help:

http://stackoverflow.com/questions/7515730/jenkins-and-multi-configuration-matrix-jobs

Maybe we could use jenkins only for collecting results.

#10 Updated by nadvornik almost 8 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 100

Usage:

In TestSuites add variable START_AFTER_TEST with name of base testsuite.

Example:

                 {
                   name => "kde+btrfs",
                   prio => 50,
                   settings => [
                     { key => "BTRFS", value => 1 },
                     { key => "DESKTOP", value => "kde" },
                     { key => "HDDSIZEGB", value => 20 },
                     { key => "START_AFTER_TEST", value => "kde" },
                   ],
                   variables => "",
                 },

From my point of view this can be closed as done, but I can't do it for some reason.

#11 Updated by coolo almost 8 years ago

  • Status changed from In Progress to Resolved

Also available in: Atom PDF