Introduce RFC (Require For Comments) mechanism to CI.
In OpenStack community, BP is designed for developers, reviewers
and maintainers to discuss direction, and once a BP is approved,
developers start coding. This workflow could reduce coding rework.
But most of the time, we may want to propose some RFC patches for
the following reasons:
1. Maybe approvers are busy on their own works, it takes a long
time to get a BP approved. During this time, developers may
want to submit v1 (RFC) patches to declare exactly what they
want to do.
2. Descriptions in a BP may be too simple for reviewers to understand,
or coding is the best description.
3. Many details cannot be clearly describe in a BP or a spec. Even
with approved BP and spec, many patch-sets are modified for about
20+ times. But actually, not all the submitted patches need to be
tested.
CI systems will run tests once a patch is submitted or modified, even
if the patch is not fully prepared. Most CI systems occupy a lot of
resource, and take a long time to run tests (1 or 2 hours for one patch).
It may cause a lot of waste.
The RFC mechanism aims at reducing CI system overload. The overall idea
looks like this:
1. Introduce something like a flag, RFC, which indicate the patch
is not ready for testing. The flag may be put in commit message,
or somewhere else zuul is able to see.
2. Improve zuul. Once it recognizes the patch is with an RFC flag,
do not notify jenkins to run the jobs.
3. zuul may feed back something if needed.