openbmc\telemetry - upstreaming process boost

Adrian Ambrożewicz adrian.ambrozewicz at linux.intel.com
Mon Sep 7 20:02:50 AEST 2020


Hi all,

For those who don't know - we are currently in the process of 
upstreaming first iteration of DMTF TelemetryService D-Bus back-end at 
https://gerrit.openbmc-project.xyz/c/openbmc/telemetry/+/34273 . After 2 
months of review and almost 300 comments and discussions, together with 
team we've decided to propose slight change in the process to speed up 
development time.

== The past ==
Let me admit to several faults and mistakes first, so we could all know 
our lessons learned:
- patch is too big for the review, even as an initial commit. 
Unfortunately it was not our decisions, but unpleasant side effect of 
legal processes;
- we didn't expect amount of effort nor prepare properly for 
simultaneous upstreaming and developing the same code;
- because of above - we have two separate implementations to maintain, 
test and fix, which are diverging over time;
- part of discussions in upstream code aim to rework parts of 
implementation, which in some cases doesn't apply for downstream (more 
ahead) implementation, making both ours and reviewers efforts .

In short - we've screwed up, ask for community understanding and 
forgiveness, and the most importantly - we ask for help.

== The present ==
Current situation and arguments for change are the following:
- we have big chunk of code in the review with many discussions already 
resolved. It looks like the most crucial issues were resolved, leaving 
mostly coding style or micro-optimizations.
- we're working on new features (i estimate that around 50% of planned 
scope is completed). Due to limited resources we cannot afford to keep 
maintaining two versions of the code and we want to switch to 
upstream-only as soon as possible.
- upstream code is becoming more and more behind our downstream 'top', 
and the incoming task to sync them will be harder the longer we wait.

== The future ==
So.. Having said all that we would like to propose a solution which will 
not only allow to continue the usual review and improvement process, 
while enabling working on next iterations and making life easier for 
both reviewers and maintainers. Seems like a good trade, right?:) I 
would like to propose a plan of resolving that situations and seek for 
your advice and acceptance.

Plan is to do the following:
1) Merge current big-bang review as-is, opening GitHub issues for all 
existing comments to address them at convenient time.
2) Sync downstream implementation with upstream. Split changes in chain 
of reviews to separate them as much as possible.
3) Work on the chain of reviews and addressing aforementioned issues 
until in usual manner.
4) As soon as code is more stable - work on new features.

As you can see - only 1st step of the plan is diverging from usual 
Gerrit flow.

We really hope for your understanding and count on acceptance of such 
workflow. Let us know what you think.

Regards,
TelemetryService team




More information about the openbmc mailing list