Introduce RFC (Require For Comments) mechanism to CI.

Registered by Tang Chen

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.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Tang Chen
Direction:
Needs approval
Assignee:
Tang Chen
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Tang Chen

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.