[tc] Project repository namespaces
Ben Nemec
openstack at nemebean.com
Tue Mar 19 19:34:18 UTC 2019
On 3/19/19 4:45 AM, Thierry Carrez wrote:
> Jim Rollenhagen wrote:
>> [...]
>> 2) Move unofficial projects to "stackforge" or some other namespace,
>> which is
>> only a small amount of work to list the repositories, but probably
>> a large
>> amount of bikeshedding^Wdiscussion to come up with a name.
>>
>> 3) Do (2), but also namespace the OpenStack projects in a more
>> fine-grained
>> manner, by project team. For example: nova/nova, ironic/bifrost, etc.
>> This is a larger chunk of work, but looks a bit nicer. Also makes
>> it easier
>> to move a project out of OpenStack later, as we don't have to move
>> namespaces. This has an open question of whether we use one large
>> namespace
>> for unofficial projects, or give them each their own. It also has
>> a downside
>> of making more effort to move a repository between project teams,
>> though
>> I think that's fairly rare.
>
> IMHO the key difference between (2) and (3) is that it will be much
> harder to see which projects are part of OpenStack with (3).
>
> Historically we've seen a lot of confusion with a single "openstack/"
> namespace, with things claiming to be OpenStack projects while not being
> produced by the OpenStack community under the 4 opens.
>
> The move to opendev gives us an opportunity to move things that are not
> OpenStack out of the "openstack/" namespace, into their own namespaces.
> But if at the same time we also move OpenStack components into their own
> project-level namespaces, then the confusion as to what is a part of
> openstack and what is not will stay.
>
> So between (2) and (3) I'd really prefer if we did (2).
Somewhat selfish +1 to this because it avoids me having to negotiate
whose namespace is going to own the various co-owned Oslo libs. :-)
>
>> 4) ??
>
> I'd propose this:
>
> 4) Create several namespaces to match the OpenStack map[1] buckets:
>
> - openstack/ to hold first-level components in the central box
> - openstack-operations/ to hold operational tooling from the rights box
> - openstack-lifecyclemanagement/ to hold deployment recipes
> - openstack-user/ for SDK and CLI
> - openstack-adjacentenablers/ for adjacent tech bridges
>
> Plus:
> - openstack-libs/ to hold libraries and second-order dependencies
> - openstack-dev/ for all repositories that we end up creating in order
> to get things done but have otherwise no relationship with the end product
>
> [1] https://openstack.org/openstack-map
>
>
> Of those 3 options, (2) is a community-oriented view (openstack or not
> openstack), (3) is a developer-oriented view (organized by project
> teams, which really only matter to developers), and (4) is a
> user-oriented view (organized by what users are looking for).
>
> My preference would be (4), otherwise (2).
>
4 sounds mildly more painful as a developer (I can no longer
unthinkingly clone openstack/PROJECT_NAME), but if it helps
discoverability for users I'll survive.
This mostly sidesteps the namespacing issue I mentioned above, although
I think we'd still have a few conflicts like cliff, which is currently
co-owned by the CLI and Oslo teams. That one pretty clearly belongs in
the openstack-user namespace though, so I don't foresee much difficulty.
More information about the openstack-discuss
mailing list