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