Migrating git repos to OpenDev

James E. Blair corvus at inaugust.com
Thu Mar 7 21:45:55 UTC 2019


Hi,

As discussed in November[1], the OpenStack project infrastructure is
being rebranded as "OpenDev" to better support a wider community of
projects.

We are nearly ready to perform the part of this transition with the
largest impact: moving the authoritative git repositories for existing
projects.

In this email, I'd like to introduce the new hosting system we are
preparing, discuss the transition, and invite projects to work with us
on the logistics of the change.

Gerrit
======

Gerrit is the core of our system and it will remain so in OpenDev.  As
part of this move, we will rename the gerrit server from
review.openstack.org to review.opendev.org.  As part of the transition,
we will automatically merge appropriate changes to all branches of all
repositories updating .gitreview and Zuul configuration files.  Any
further changes (README files, etc.) we expect to be made by individual
project contributors.

Repository Browsing
===================

Currently our canonical *public* repository system is the cgit server at
https://git.openstack.org/ (and git.airshipit.org, git.starlingx.io, and
git.zuul-ci.org).  This is a load balanced cluster of several servers
which is designed to handle all the public git repository traffic, as it
scales much better than Gerrit (and has a more friendly domain name).
>From a technical standpoint, it's excellent, but its usability could be
improved.

Therefore, as part of this transition, we will replace the cgit servers
with a new system based on Gitea.  Gitea is a complete development
collaboration system, but it's very flexible and will allow us to
disable components which we aren't using.  We will operate it in a
read-only configuration where it will act as the public mirror for
Gerrit.  The advantages it has over the current system are:

* Shorter domain name in project URLs:
  https://git.openstack.org/openstack/nova   vs
  https://opendev.org/openstack/nova
* Clone and browsing URLs are the same (with cgit, the browsing URL has
  an extra path component)
* More visually pleasing code browsing
* Integrated code searching
* Ability to highlight multiple lines in links

When we perform the transition we will install redirects from
git.openstack.org (and the other git sites) to opendev.org, and will
maintain those redirects for the foreseeable future.  We will construct
them so that even existing deep links to individual files in individual
commits to cgit will redirect to the correct location on opendev.org.

This system is up and running now with a live mirror of data from
Gerrit, and you can start testing it out today at https://opendev.org/

Please let us know if you encounter any problems.

If you would like to read more about the design of this system and the
transition, see the infra-spec[2].

GitHub
======

Currently all OpenStack projects are replicated to GitHub.  We do not
plan on changing that during the transition, however, any projects
outside of the openstack*/ namespaces will not automatically be
replicated to GitHub, and we do not plan on adding that in the future.
We do, however, support projects using Zuul to run post-merge jobs to
push updates to GitHub or any other third-party mirrors with their own
credentials.  We will be happy to work with anyone interested in that to
help set up jobs to do so.

We are adopting this approach so that individual projects can have more
control over how they are represented in social media, and to give us
more flexibility in supporting our own organizational namespaces on
OpenDev without assuming they map directly to GitHub.

Eventually we plan on moving the OpenStack project to that system as
well and retiring direct replication from Gerrit to GitHub completely.
But we will defer that work until after this transition.

Logistics
=========

We can prepare much of the system in advance (as we have for the hosting
system on opendev.org), but the actual transition and renaming of the
Gerrit server will need to happen at once during an outage window.  We
need to schedule that outage and begin preparing for it.

Since all of the project git URLs are going to change (to replace
git.openstack.org with opendev.org and review.openstack.org with
review.opendev.org), we can additionally take the opportunity to
reorganize projects into different organizations.

For example, during the transition we will rename Zuul, and it's
associated projects, from the "openstack-infra" org to "zuul".  So their
new names will be "zuul/zuul", "zuul/nodepool", etc.

This is an excellent time for the rest of the OpenStack Foundation
pilot projects to do the same.

If the OpenStack project desires this, it would also be a good time to
move unofficial projects out of the openstack/ namespace.

Therefore, we need your help:

Action Items
============

We need each of the following projects:

  * OpenStack
  * Airship
  * StarlingX
  * Zuul

To nominate a single point of contact to work with us on the transition.
It would be helpful for that person to attend the next (and possibly
next several) openstack infra team meetings in IRC [3].  We will work
with those people on scheduling the transition, as well as finalizing
the list of projects which should be renamed as part of the transition.

If you manage an unofficial project and would like to take the
opportunity to move or rename your project, please add it to this
ethercalc[4].

[1] http://lists.openstack.org/pipermail/openstack-dev/2018-November/136403.html
[2] http://specs.openstack.org/openstack-infra/infra-specs/specs/opendev-gerrit.html
[3] http://eavesdrop.openstack.org/#Project_Infrastructure_Team_Meeting
[4] https://ethercalc.openstack.org/opendev-transition



More information about the openstack-discuss mailing list