Hello
On 24/09/15 15:21, Richard Maw wrote:
Hi all.
You may remember that we've previously developed a tool called firehose to
generate candidate changes to Baserock's definitions, based on upstream's
changes.
We previously developed it to push changes to gerrit, with the idea that we
would be using some of OpenStack's tooling to perform tests on these candidate
branches.
Current thinking is that now it should be fed through a CI pipeline before
candidates are posted, to reduce the amount of noise from candidates proposed
by automation, which are subsequently rejected by automation.
That makes sense!
So currently we're working with an older version which has rolled
back to
before it was made to only be able to work with gerrit, with the intention of
resurrecting the useful code at a later stage in the pipeline, after we have
some confidence in being able to make use of the change.
This would have the benefit of also being useful for projects not using Gerrit
for code review, as a human could watch the pipeline and merge the candidate
changes manually.
This is the first element in the pipeline shown in
http://52.19.1.31:8010/waterfall
Looks cool! Nice that you are reusing Buildbot as well. I hope we will
can improve the labelling, I find it quite hard to understand the UI at
present, which I imagine is because I don't know what things like 'sh
triggers/firehose_trigger.sh' actually mean. But I know this is an early
prototype anyway.
We're not yet where we need to be with this, as no iteration of
Firehose allows
it to integrate multiple candidate branches simultaneously.
The original design specified that Firehose should allow this, but given it may
need a redesign to not depend heavily on morphlib and morph's internal
behaviours, there's an argument for working around it rather than developing it
further, and impose an external mechanism to meet our needs.
The simplest version proposed is to require integrators to manually group sets
of integrations, probably by directory, such that everything in a directory is
configured to use the same landing ref.
What's the goal of 'integrating multiple candidate branches
simultaneously'? I'm a bit confused what it means. Is this about
reducing the number of rebuilds that need to run, by updating say 10
refs at once instead of one at a time? Or something else?
--
Sam Thursfield, Codethink Ltd.
Office telephone: +44 161 236 5575