Improve upstream project status depending on downstream status

Registered by Deepti B. Kalakeri

Jenkins does not seem to have a plugin where we could update the upstream project status depending on the actual status of the triggered downstream job.

 For example while working on the https://blueprints.launchpad.net/linaro-image-tools/+spec/regression-automation-for-old-releases BP, we needed a plugin where

1 ) A single parent job could help us trigger muliple jobs, wait for the downstream projects to complete and modify its (parent) status depending on the collective status of the downstream jobs.

2) Also, another criteria was that all the specified downstream projects( which in turn triggered more jobs) had to be run before upstream job updated its status.

3) It allows us to get a nice visualization of the upstream and downstream job relation.

Though we found MultiJob Plugin and Trigger Parametrized plugin, Matrix Plugin something that would help us with our needs.
We found Triggered Parametrized plugin would help us with the criteria of kicking the downstream projects, but would not help with the visualization and updated upstream job status. Matix plugin would not help us with the visualization part.
Multiplugin was more useful than others when compared. It was useful completely for requirement (3), but it did not satisfy our criteria (1) and (2) completely and here are the reasons:

Multijob plugin has an option to set the upstream projects status depending on the downstream project completion criteria, it either sets as successful if all the downstream jobs are
"successful"
"Stable or Unstable but not Failed"
"Complete (always continue)"

The problem was if we selected the first criteria(successful) for our upstream/downstream job status then the minute the first downstream job running failed the upstream job would exit with the status of the latest job that failed without completing the other downstream jobs. hence this option was not suitable.

The second criteria "Stable or Unstable but not Failed" does not suit either. The only option that would allow all the downstream projects to be run even when one of the jobs failed and still a gave nice visualization was choosing criteria "Complete (always continue). But the flip side of this was we lost the charm of the upstream projects getting a valid status based on the downstream project status.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Medium
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
milestone icon backlog
Completed by
Milo Casagrande

Related branches

Sprints

Whiteboard

Meta:
Headline: So the idea is we need to come up with a plugin which sastify all our criteria's (1)(2)(3) or modify the multijob plugin wihch would help us get a valid status for the upstream job after running all the downstream jobs even if one of the downstream job fails and updating the upstream status depending on collective downstream status.
Acceptance: A new plugin which sastifies all our criteria's (1)(2)(3) or a modified multijob plugin wihch would help us get a valid status for the upstream job after running all the downstream jobs even if one of the downstream job fails and updating the upstream status depending on collective downstream status.

[danilo, 2012-11-22] This is related to https://blueprints.launchpad.net/linaro-image-tools/+spec/expand-automated-regression-testing as well.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.