Create a package gating flow with OST

Description

The OST flows today run on package repos that are composed wither from all available updates (As in the case of the 'experimental' flows) or on manually curated repos (As in the case of the 'older' OST flows or the manual flows).

The existing flows lack feedback. When OST fails it can be hard to know which of the group of changes that happened before it ran was the one to cause to to fail. This places a severe workload on the infra team to diagnose and report OST failures.

This ticket suggest the creation of a new flow where all changes to all OST input sources are tracked, so that when OST fails it is possible to run a bisection algorithm and automatically report to the developers about the change that caused the failure.

This approach can more cheaply provide most of the benefits of pre-merge gating while side-stepping some of the technical complications.

Activity

Show:

Barak Korren June 10, 2018 at 4:45 PM
Edited

This ticket is very old and tracked all work done to implement the change queue since before it has existed.

The change-queue had been working reliably for a long time now, and while it is not perfect, it had been decided to close this ticket and track all further refinement work in and OVIRT-2185.

Barak Korren June 15, 2017 at 2:28 PM

In order to allow tracking of this work, I've started creating tasks for the individual steps that are still left to be done. Those tasks are linked to this task as blocking tasks.

Barak Korren April 5, 2017 at 3:44 PM

  • 16 patches consisting of most of the infrastructure code needed for gating were merged. These include:

    • Core change queueing, failure cause detection and dependency resolution algorithms

    • Infrastructure for storing Python objects in Jenkins and moving them around between jobs

    • Infrastructure for reporting change status via email or Gerrit comments (Gerrit comments code still pending review)

    • Graphical UI to present change queue status

    • Groovy wrappers to attach all this to Jenkins

  • Example jobs to allow testing and playing with the change queue code were created in the upstream staging Jenkins instance.

Fixed

Details

Assignee

Reporter

Components

Priority

Created January 24, 2017 at 3:17 PM
Updated September 2, 2018 at 3:50 PM
Resolved June 10, 2018 at 4:46 PM