On 10/10/2018 03:17 PM, Ben Nemec wrote:

On 10/10/18 1:35 PM, Greg Hill wrote:

    I'm not sure how using pull requests instead of Gerrit changesets would
    help "core reviewers being pulled on to other projects"?

The 2 +2 requirement works for larger projects with a lot of contributors. When you have only 3 regular contributors and 1 of them gets pulled on to a project and can no longer actively contribute, you have 2 developers who can +2 each other but nothing can get merged without that 3rd dev finding time to add another +2. This is what happened with Taskflow a few years back. Eventually the other 2 gave up and moved on also.

As the others have mentioned, this doesn't need to continue to be a blocker. If the alternative is nobody working on the project at all, a single approver policy is far better. In practice it's probably not much different from having a general oslo core rubber stamp +2 a patch that was already reviewed by a taskflow expert.

Just piling on on this. We do single-core approves in openstacksdk, although for REALLY hairy patches I try to get a few more people to get eyeballs on something.

    Is this just about preferring not having a non-human gatekeeper like
    Gerrit+Zuul and being able to just have a couple people merge whatever     they want to the master HEAD without needing to talk about +2/+W rights?

We plan to still have a CI gatekeeper, probably Travis CI, to make sure PRs past muster before being merged, so it's not like we're wanting to circumvent good contribution practices by committing whatever to HEAD. But the +2/+W rights thing was a huge PITA to deal with with so few contributors, for sure.

I guess this would be the one concern I'd have about moving it out. We still have a fair number of OpenStack projects depending on taskflow[1] to one degree or another, and having taskflow fully integrated into the OpenStack CI system is nice for catching problems with proposed changes early.

I second this. Especially for a library like taskflow where the value is in the behavior engine, describing that as an API with an API surface is a bit harder than just testing a published library interface.

It's also worth noting that we're working on plans to get the OpenStack Infra systems rebranded so that concerns people might have about brand association can be mitigated.

I think there was some work recently to get OpenStack CI voting on Github, but it seems inefficient to do work to move it out of OpenStack and then do more work to partially bring it back.

Zuul supports cross-source dependencies and we have select github repos configured in OpenStack's Zuul so that projects can do cross-project verification.

I suppose the other option is to just stop CI'ing on OpenStack and rely on the upper-constraints gating we do for our other dependencies. That would be unfortunate, but again if the alternative is no development at all then it might be a necessary compromise.

I agree - if the main roadblock is just the 2x+2 policy, which is solvable without moving anything, then the pain of moving the libraries out to github just to turn around and cobble together a cross-source advisory testing system seems not very worth it and I'd be more inclined to use upper-constraints.

By and large moving these is going to be pretty disruptive, so I'd personally prefer that they stayed where they. There are PLENTY of things hosted in OpenStack's infrastructure that are not OpenStack - or even OpenStack specific.

1: http://codesearch.openstack.org/?q=taskflow&i=nope&files=requirements.txt&repos=

    If it's just about preferring the pull request workflow versus the
    Gerrit rebase workflow, just say so. Same for just preferring the
    UI versus Gerrit's UI (which I agree is awful).

I mean, yes, I personally prefer the Github UI and workflow, but that was not a primary consideration. I got used to using gerrit well enough. It was mostly the  There's also a sense that if a project is in the Openstack umbrella, it's not useful outside Openstack, and Taskflow is designed to be a general purpose library. The hope is that just making it a regular open source project might attract more users and contributors.

I think we might be intertwining a few things that don't have to be intertwined.

The libraries are currently part of the OpenStack umbrella, and as part of that are hosted in OpenStack's developer infrastructure.

They can remain "part of OpenStack" and be managed with a relaxed core reviewer policy. This way, should they be desired, things like the release management team can still be used.

They can cease being "part of OpenStack" without needing to move away from the OpenStack Developer Infrastructure. As I mentioned earlier we're working on rebranding the Developer Infrastructure, so if there is a concern that a git repo existing within the Developer Infrastructure implies being "part of OpenStack" - that confusion should be improved in the not-too-distant-future. But - over half of the repos contained in the OpenStack Developer Infrastructure are already not "part of OpenStack" - so they would not be alone.

Finally, they can stop being "part of OpenStack" AND they can move their development to somewhere else.

This may or may not bear out, but as it is, there's no real benefit to staying an openstack project on this front since nobody is actively working on it within the community.

At the same time, taskflow is used by a good number of OpenStack services - to the point that taskflow developing an issue would be a *problem* for OpenStack. If something goes wrong, the OpenStack project and the Oslo team currently can fix it. Since, as you mentioned, there isn't a super active dev team currently - we'd be looking at moving from important-library-that-can-be-fixed-by-OpenStack-if-OpenStack-breaks to important-library-with-dev-team-of-unknown-size-or-resources-that-might-stay-broken.

The last time we did this it was for an optional extra service with no real internal-OpenStack dependencies. If the end result had been the project completely ceasing to exist, as much as some humans would have been sad, OpenStack wouldn't have become broken.

Absent a compelling reason to the contrary, I'd argue that it's in OpenStack's best interests that the libraries remain not only in the OpenStack developer infrastructure but also under the governance of the Oslo team. Relaxing reviewer requirements seems like a fine idea and not at all problematic.

Obviously that's just me, but I'd love to see if we can work out making the current home more pleasant before we start ejecting libraries.


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe

Reply via email to