[openstack-dev] [Manila][Infra] A proposal for 3rd-party vendor CI in Manila
ben at swartzlander.org
Wed May 13 21:23:07 UTC 2015
We (the Manila community) have known for a while that we would like to
have 3rd-party vendor CI similar to the Cinder project, but up until now
the details of what that would look like have been vague. I would like
to make a proposal for how we should proceed so we can set deadlines and
socialize them at the design summit next week.
I'm assuming based on previous discussions that everyone understands the
value of CI systems and there's no disagreement that Liberty is the
right time frame to add a requirement. If not, then we need to have a
different discussion. But if so, then I'd like to get consensus from the
community about what the deadlines should be and how we should deal with
drivers that can't or won't set up CI systems to test them.
My proposal consists of 4 deadlines, aligned to the Liberty milestones.
liberty-1 (Jun 25)
* Every driver must have an associated maintainer with contact
information. We will create a wiki/etherpad to collect this information.
* Maintainers should understand the 3rd party CI requirement and have a
plan for how to meet the deadlines. A plan includes how and when any
needed materials will be obtained (hardware, other compute resources,
accounts, firewall exceptions etc).
* Maintainers should already be in contact with #openstack-infra and
other resources to get help with how to build a CI system if help is needed.
liberty-2 (July 30)
* Maintainers should have created any needed accounts and obtained any
needed resources and should be making progress towards getting the
system to run tests on their backends.
* Maintainers are be expected to be able to show logs of Tempest running
on Manila with their drivers if they aren't able to report results
directly to gerrit.
* Any tests that aren't passing should have bugs filed to get them fixed.
liberty-3 (Sept 3)
* CI systems are expected to be running by this point, and posting
results to gerrit (whether successful or not).
* Maintainers shouldn't be working on the CI system itself at this point
but only fixing driver bugs or other issues related to stability.
liberty-rc1 (Sept 24)
* Drivers which don't have CI systems posting successful results
reliably will get removed from the master branch before the RC1 cut.
My theory is that by creating multiple checkpoints, we can identify
anyone who's is having issues early on and assist them, to avoid nasty
surprises late in the release. Also, this forces maintains to at least
start thinking about the requirement early on so they don't
underestimate the difficultly/effort required and try to do it all a the
The Cinder community took roughly 12 months to go from a decision that
CI was a good idea to having the requirement fully implemented. I
believe the Manila community can do it in 6 months, by taking lessons
learned from Cinder's experience, and also taking advantage of the
excellent resources that the infra team has built up over the last year.
The specifics of the requirement are open to debate, as far as what
deadlines we should enforce, and how we deal with drivers that don't
meet the requirement, so please add feedback to this thread if you have
any suggestions or disagreements. We will discuss this topic at the
Manila weekly meeting tomorrow as well (May 14, 1500 UTC).
More information about the OpenStack-dev