cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Min Chen <min.c...@citrix.com>
Subject Re: [VOTE] Adapting git workflow for release branches
Date Tue, 19 Aug 2014 18:11:56 GMT
I personally don't think introducing CI or gerrit or github pull request
will take away a committer's privilege to commit. If you are a stakeholder
who really care about your product, you will not be scared away by this
extra enforcement, this will actually make our cloudstack ecosystem better
and healthier, and will also benefit other contributors in the same
community. To me, this is not a punishment per se, your code is just not
directly committed in, and you can enhance it and commit later. We are not
even requesting for bug-free code, I know, that is not possible in
software world, but at least we should have some stableness in our code to
not block other peers. As far as I know, Linux has much better control
about what patch to be pulled in, which makes it much more stabler than
us. As for your traffic example, at least there we have DMV road test,
traffic light, traffic patrol infrastructure to have basic guard.
CI/gerrit are just like those basic enforcement infrastructure for
CloudStack development process.

I don't want this to become a two-person argument forever. I already
clearly explained my ideas and takes on this. Let's hear others.

Thanks
-min

On 8/19/14 10:55 AM, "Rohit Yadav" <rohit.yadav@shapeblue.com> wrote:

>tl;dr? hope you read it;
>
>On 19-Aug-2014, at 7:10 pm, Min Chen <min.chen@citrix.com> wrote:
>
>> I will hesitate on this "No enforcement" approach in the flow. I bet
>>that
>> without some kind of enforcement, based on past experience, after one
>
>Stakeholder will always care. The system should be optimistic to allow
>things in and not to punish in advance.
>That’s how many scalable opensource project such as Linux, Firefox and
>our own Apache works (people over code that is).
>
>If you’ve any ideas please share. We’ve to find a “non-strict”
>enforcement to get best of all things and I don’t have a solution right
>now to suggest.
>
>“Strict enforcement” won’t be scalable anyway, hackers always find way
>around gaming the system.
>
>Unicorns, Santas and bug-less code perhaps don’t exist IMHO so may never
>guarantee code quality but only improve over time. Even things like
>pacemakers, realtime systems used in mining, surgery, aerospace, mars
>rover etc; openssl (heartbleed) have bugs and issues. This is not to say
>that we should not have code reviews, other processes and automated
>build/CI/smoke-tests are “not” needed, they are needed but they “should"
>come only gradually. I also think improvements are better severed in
>small nibbles than a one big main course.
>
>In my past startup, last year, I helped them introduce a non-strict code
>reviewing process and what it did was not to scare anyone but slowly and
>gradually everyone started using code reviews and that became a process
>now. What I learnt was that people like slow changes (don’t put the frog
>in hot water), processes should be effortless and invisible (you don’t
>have to think much on how to do it, like say driving a car or touch
>typing on keyboard), and a cultural change is best implemented without
>enforcement. For example, in a many countries people don’t honk i.e. the
>culture even if no one gets a ticket for honking which is my point we
>need an understanding, a guideline, a protocol to implement a culture not
>an “enforcement” or team of police.
>
>> release, we will come together to discuss flaw in our flow again:) Sorry
>> if I am too pessimistic on this.
>
>To introduce an enforcement would mean take away a committer’s privilege
>to commit. If you have some ideas start a thread.
>
>IMO “pessimistic approach" is not a good approach — you don't ban or
>restrict people driving cars just because of accidents or ban the
>Internet just because there are things you don’t like on it, or put
>people in jail just because they can commit a crime in future. I would
>want an open and transparent workflow/protocol/guideline that is
>agreeable to all/most of us and that does not impose any restrictions.
>
>Cheers.
>
>>
>> Thanks
>> -min
>>
>> On 8/19/14 10:00 AM, "Rohit Yadav" <rohit.yadav@shapeblue.com> wrote:
>>
>>> Hi,
>>>
>>> On 19-Aug-2014, at 6:48 pm, Min Chen <min.chen@citrix.com> wrote:
>>>
>>>> In that case, we should call out this procedure
>>>>
>>>> If (you¹re a committer) {
>>>> Go create a hotfix branch and ask RM to pick it up
>>>> } else {
>>>> Go upload your patch and get RM to review your request from
>>>>reviewboard
>>>> }
>>>>
>>>>
>>>> in your proposal. I don't want people to have a misunderstanding that
>>>> with
>>>> this proposal, RM is not needed anymore. Actually, RM is MORE
>>>>IMPORTANT
>>>> with this proposal.
>>>
>>> Yes.
>>>
>>>> Also, we should also call out the enforcement plan for this procedure.
>>>
>>> Subjective. All committers have privilege to commit so enforcement will
>>> be unnecessary, instead if you find an issue with anyone/anything you
>>> raise it privately or on public dev ML just like we do it now.
>>>
>>>> What happens if somebody still directly commits to release branch
>>>>after
>>>> it
>>>> is cut? Ideally, based on this proposal, after RC is cut, we should
>>>>only
>>>> see branch merge/cherry-pick done by RM. If not, RM should revert it
>>>>to
>>>> enforce the flow.
>>>
>>> At RM’s discretion.
>>>
>>> Cheers.
>>>
>>>>
>>>> Thanks
>>>> -min
>>>>
>>>>
>>>>
>>>>
>>>> On 8/19/14 9:19 AM, "Rohit Yadav" <rohit.yadav@shapeblue.com> wrote:
>>>>
>>>>> Hey,
>>>>>
>>>>> On 19-Aug-2014, at 5:34 pm, Pierre-Luc Dion <pdion@cloudops.com>
>>>>>wrote:
>>>>>
>>>>>> Thanks Min for the comment, make sense.
>>>>>>
>>>>>> Rohit,  how do we plan to managed merge request or submit one?  I
>>>>>> don't
>>>>>> think using the mailing list to keep track of merge request is good,
>>>>>> does
>>>>>> https://reviews.apache.org/account/login/ is keep up to date and
all
>>>>>> merge
>>>>>> request should go there ?
>>>>>
>>>>> If (you¹re a committer) {
>>>>> Go create a hotfix branch and ask RM to pick it up
>>>>> } else {
>>>>> Go upload your patch and get RM to review your request from
>>>>>reviewboard
>>>>> }
>>>>>
>>>>>> What about using Jira to follow merge request ? maybe by having a
>>>>>> 'merge-request' issue type as sub-task?
>>>>>
>>>>> You may do that as long as RMs are okay with that. We don¹t want
>>>>>people
>>>>> to attack RMs from too many of channels such as reviewboard, jira,
>>>>> twitter, fb, linkedin and whatnot; sticking to just using email is
>>>>> recommended.
>>>>>
>>>>>> Also I'm a bit confuse for some commit cases:
>>>>>>
>>>>>> Let say that I want to fix the release version display in the API
>>>>>>doc,
>>>>>> it
>>>>>> is not code related right not it show as 4.2.0, it's not a bugfix
>>>>>>or a
>>>>>> new
>>>>>> feature, so should I create branch + merge request  or this type
of
>>>>>> commit
>>>>>> could be push directly in the release branch (ie: 4.4) ?
>>>>>
>>>>> Such cases will ³depend" on your chemistry with the RM, if they¹re
>>>>>cool
>>>>> you go ahead alongwith them and fix doc/build fixes directly on
>>>>>release
>>>>> (4.4 in the example) branch.
>>>>>
>>>>> This is a reason as to why this proposal is flexible, and it does not
>>>>> introduce any policing but gives a guideline for people to follow.
>>>>>
>>>>> Lastly, checking out branches and working on them using git is not
>>>>> expensive at all, just few keyboard strokes maybe so just don¹t be
>>>>> afraid.
>>>>>
>>>>> Also, for multiple fixes feel free to do several bugfixes and ask the
>>>>> RM
>>>>> to pick the fixes from that (hot/bug) fix branch.
>>>>>
>>>>> HTH, cheers.
>>>>>
>>>>>> Sorry if I add confusion...
>>>>>>
>>>>>> Pierre-Luc
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Aug 19, 2014 at 11:16 AM, Min Chen <min.chen@citrix.com>
>>>>>> wrote:
>>>>>>
>>>>>>> I would rather CI be considered together with this thread, since
>>>>>>>this
>>>>>>> thread needs to decide at what condition RM can merge a
>>>>>>>hotfix/bugfic
>>>>>>> branch to release branch.
>>>>>>>
>>>>>>> Thanks
>>>>>>> -min
>>>>>>> Sent from my iPhone
>>>>>>>
>>>>>>>> On Aug 19, 2014, at 8:09 AM, "Pierre-Luc Dion"
>>>>>>>><pdion@cloudops.com>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> +1 ,  CI shouldn't be another topic?
>>>>>>>>
>>>>>>>> What is required or missing to have CI in place?
>>>>>>>>
>>>>>>>>
>>>>>>>> *Pierre-Luc DION*
>>>>>>>> Architecte de Solution Cloud | Cloud Solutions Architect
>>>>>>>> t 855.652.5683
>>>>>>>>
>>>>>>>> *CloudOps* Votre partenaire infonuagique* | *Cloud Solutions
>>>>>>>>Experts
>>>>>>>> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
>>>>>>>> w cloudops.com *|* tw @CloudOps_
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Aug 19, 2014 at 5:50 AM, Rohit Yadav
>>>>>>>> <rohit.yadav@shapeblue.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On 19-Aug-2014, at 11:29 am, Sebastien Goasguen
>>>>>>>>>><runseb@gmail.com>
>>>>>>> wrote:
>>>>>>>>>> Say you grab a patch from review board and stick
it in a hotfix
>>>>>>>>>> branch,
>>>>>>>>> test that Šcall for merge on release branch.
>>>>>>>>>> Do we *merge* to master or can we apply the patch
directly to
>>>>>>>>>> master
>>>>>>>>> (git am -sŠ) ?
>>>>>>>>>
>>>>>>>>> Once the hotfix branch is merged on release branch, we
would
>>>>>>>>>merge
>>>>>>>>> the
>>>>>>>>> release branch to master, that will bring the hotfix
on master as
>>>>>>>>> well.
>>>>>>>>>
>>>>>>>>> We don¹t want to encourage working on master for fixes
that
>>>>>>>>>qualify
>>>>>>>>> for
>>>>>>>>> release branches directly so ideally we should not git
am -s the
>>>>>>>>> patch
>>>>>>> on
>>>>>>>>> master. But there is scope for non-strictness for a situation
>>>>>>>>> needing
>>>>>>> git
>>>>>>>>> am -s <patch> on master directly, it would be at
the discretion
>>>>>>>>>of
>>>>>>>>> the
>>>>>>> RM
>>>>>>>>> and committers.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Rohit Yadav
>>>>>>>>> Software Architect, ShapeBlue
>>>>>>>>> M. +41 779015219 | rohit.yadav@shapeblue.com
>>>>>>>>> Blog: bhaisaab.org | Twitter: @_bhaisaab
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Find out more about ShapeBlue and our range of CloudStack
related
>>>>>>> services
>>>>>>>>>
>>>>>>>>> IaaS Cloud Design & Build<
>>>>>>>>> http://shapeblue.com/iaas-cloud-design-and-build//>
>>>>>>>>> CSForge ­ rapid IaaS deployment
>>>>>>>>> framework<http://shapeblue.com/csforge/
>>>>>>>>
>>>>>>>>> CloudStack
>>>>>>>>>Consulting<http://shapeblue.com/cloudstack-consultancy/>
>>>>>>>>> CloudStack Infrastructure Support<
>>>>>>>>> http://shapeblue.com/cloudstack-infrastructure-support/>
>>>>>>>>> CloudStack Bootcamp Training Courses<
>>>>>>>>> http://shapeblue.com/cloudstack-training/>
>>>>>>>>>
>>>>>>>>> This email and any attachments to it may be confidential
and are
>>>>>>> intended
>>>>>>>>> solely for the use of the individual to whom it is addressed.
Any
>>>>>>>>> views
>>>>>>> or
>>>>>>>>> opinions expressed are solely those of the author and
do not
>>>>>>>>> necessarily
>>>>>>>>> represent those of Shape Blue Ltd or related companies.
If you
>>>>>>>>>are
>>>>>>>>> not
>>>>>>> the
>>>>>>>>> intended recipient of this email, you must neither take
any
>>>>>>>>>action
>>>>>>>>> based
>>>>>>>>> upon its contents, nor copy or show it to anyone. Please
contact
>>>>>>>>> the
>>>>>>> sender
>>>>>>>>> if you believe you have received this email in error.
Shape Blue
>>>>>>>>> Ltd
>>>>>>>>> is
>>>>>>> a
>>>>>>>>> company incorporated in England & Wales. ShapeBlue
Services India
>>>>>>>>> LLP
>>>>>>> is a
>>>>>>>>> company incorporated in India and is operated under license
from
>>>>>>>>> Shape
>>>>>>> Blue
>>>>>>>>> Ltd. Shape Blue Brasil Consultoria Ltda is a company
incorporated
>>>>>>>>> in
>>>>>>> Brasil
>>>>>>>>> and is operated under license from Shape Blue Ltd. ShapeBlue
SA
>>>>>>>>>Pty
>>>>>>>>> Ltd
>>>>>>> is
>>>>>>>>> a company registered by The Republic of South Africa
and is
>>>>>>>>>traded
>>>>>>>>> under
>>>>>>>>> license from Shape Blue Ltd. ShapeBlue is a registered
trademark.
>>>>>>>>>
>>>>>>>
>>>>>
>>>>> Regards,
>>>>> Rohit Yadav
>>>>> Software Architect, ShapeBlue
>>>>> M. +41 779015219 | rohit.yadav@shapeblue.com
>>>>> Blog: bhaisaab.org | Twitter: @_bhaisaab
>>>>>
>>>>>
>>>>>
>>>>> Find out more about ShapeBlue and our range of CloudStack related
>>>>> services
>>>>>
>>>>> IaaS Cloud Design &
>>>>> Build<http://shapeblue.com/iaas-cloud-design-and-build//>
>>>>> CSForge ­ rapid IaaS deployment
>>>>> framework<http://shapeblue.com/csforge/>
>>>>> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
>>>>> CloudStack Infrastructure
>>>>> Support<http://shapeblue.com/cloudstack-infrastructure-support/>
>>>>> CloudStack Bootcamp Training
>>>>> Courses<http://shapeblue.com/cloudstack-training/>
>>>>>
>>>>> This email and any attachments to it may be confidential and are
>>>>> intended
>>>>> solely for the use of the individual to whom it is addressed. Any
>>>>>views
>>>>> or opinions expressed are solely those of the author and do not
>>>>> necessarily represent those of Shape Blue Ltd or related companies.
>>>>>If
>>>>> you are not the intended recipient of this email, you must neither
>>>>>take
>>>>> any action based upon its contents, nor copy or show it to anyone.
>>>>> Please
>>>>> contact the sender if you believe you have received this email in
>>>>> error.
>>>>> Shape Blue Ltd is a company incorporated in England & Wales.
>>>>>ShapeBlue
>>>>> Services India LLP is a company incorporated in India and is operated
>>>>> under license from Shape Blue Ltd. Shape Blue Brasil Consultoria Ltda
>>>>> is
>>>>> a company incorporated in Brasil and is operated under license from
>>>>> Shape
>>>>> Blue Ltd. ShapeBlue SA Pty Ltd is a company registered by The
>>>>>Republic
>>>>> of
>>>>> South Africa and is traded under license from Shape Blue Ltd.
>>>>>ShapeBlue
>>>>> is a registered trademark.
>>>
>>> Regards,
>>> Rohit Yadav
>>> Software Architect, ShapeBlue
>>> M. +41 779015219 | rohit.yadav@shapeblue.com
>>> Blog: bhaisaab.org | Twitter: @_bhaisaab
>>>
>>>
>>>
>>> Find out more about ShapeBlue and our range of CloudStack related
>>>services
>>>
>>> IaaS Cloud Design &
>>> Build<http://shapeblue.com/iaas-cloud-design-and-build//>
>>> CSForge – rapid IaaS deployment
>>>framework<http://shapeblue.com/csforge/>
>>> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
>>> CloudStack Infrastructure
>>> Support<http://shapeblue.com/cloudstack-infrastructure-support/>
>>> CloudStack Bootcamp Training
>>> Courses<http://shapeblue.com/cloudstack-training/>
>>>
>>> This email and any attachments to it may be confidential and are
>>>intended
>>> solely for the use of the individual to whom it is addressed. Any views
>>> or opinions expressed are solely those of the author and do not
>>> necessarily represent those of Shape Blue Ltd or related companies. If
>>> you are not the intended recipient of this email, you must neither take
>>> any action based upon its contents, nor copy or show it to anyone.
>>>Please
>>> contact the sender if you believe you have received this email in
>>>error.
>>> Shape Blue Ltd is a company incorporated in England & Wales. ShapeBlue
>>> Services India LLP is a company incorporated in India and is operated
>>> under license from Shape Blue Ltd. Shape Blue Brasil Consultoria Ltda
>>>is
>>> a company incorporated in Brasil and is operated under license from
>>>Shape
>>> Blue Ltd. ShapeBlue SA Pty Ltd is a company registered by The Republic
>>>of
>>> South Africa and is traded under license from Shape Blue Ltd. ShapeBlue
>>> is a registered trademark.
>>
>
>Regards,
>Rohit Yadav
>Software Architect, ShapeBlue
>M. +41 779015219 | rohit.yadav@shapeblue.com
>Blog: bhaisaab.org | Twitter: @_bhaisaab
>
>
>
>Find out more about ShapeBlue and our range of CloudStack related services
>
>IaaS Cloud Design &
>Build<http://shapeblue.com/iaas-cloud-design-and-build//>
>CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
>CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
>CloudStack Infrastructure
>Support<http://shapeblue.com/cloudstack-infrastructure-support/>
>CloudStack Bootcamp Training
>Courses<http://shapeblue.com/cloudstack-training/>
>
>This email and any attachments to it may be confidential and are intended
>solely for the use of the individual to whom it is addressed. Any views
>or opinions expressed are solely those of the author and do not
>necessarily represent those of Shape Blue Ltd or related companies. If
>you are not the intended recipient of this email, you must neither take
>any action based upon its contents, nor copy or show it to anyone. Please
>contact the sender if you believe you have received this email in error.
>Shape Blue Ltd is a company incorporated in England & Wales. ShapeBlue
>Services India LLP is a company incorporated in India and is operated
>under license from Shape Blue Ltd. Shape Blue Brasil Consultoria Ltda is
>a company incorporated in Brasil and is operated under license from Shape
>Blue Ltd. ShapeBlue SA Pty Ltd is a company registered by The Republic of
>South Africa and is traded under license from Shape Blue Ltd. ShapeBlue
>is a registered trademark.

Mime
View raw message