Project

General

Profile

Actions

action #524

closed

define dependencies between jobs

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

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

100%

Estimated time:

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.

Actions #1

Updated by aplanas almost 11 years ago

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

Updated by aplanas about 10 years ago

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

Updated by ancorgs almost 10 years ago

  • Parent task set to #2396

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

Actions #4

Updated by ancorgs almost 10 years ago

  • Target version set to Sprint 07
Actions #5

Updated by ancorgs almost 10 years ago

  • Target version deleted (Sprint 07)
Actions #6

Updated by coolo over 9 years ago

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

Updated by coolo over 9 years ago

  • Assignee set to nadvornik
Actions #8

Updated by coolo over 9 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)

Actions #9

Updated by nadvornik over 9 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.

Actions #10

Updated by nadvornik over 9 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.

Actions #11

Updated by coolo over 9 years ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF