Gerrit and which project to migrate first?

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Holger Freyther holger at freyther.de
Tue May 3 22:08:56 UTC 2016


Hi guys,

at our wonderful OsmoDevCon 2016 we have decided to give a Gerrit based workflow a try. Right now the components are set-up and we need to figure out where to start, how to integrate and then also how to migrate.


URL:

https://gerrit.osmocom.org will host our installation of Gerrit.



Authentication:

It is using the OpenID authentication scheme to register to it. I have found and massaged a redmine plugin to turn our redmine into an OpenID provider[1].



Set-up/ACLs:

There is a complex set of rules for ACLs. In terms of user branches it will be the easiest if they are located at "user/*" instead of our current "*" scheme. For a transition period we can continue to allow to push directly into gerrit as well.



Registering:

https://gerrit.osmocom.org/login, sign-in with your OpenID provider. And then set a username (this will be used for the git log-in). Register additional email addresses and install your ssh key.


Projects:

I have currently created "osmo-ci" for some CI scripts and Dockerfiles and started to play with it, e.g. using git to manage notifications of this project.


Jenkins:

http://jenkins.osmocom.org/jenkins/job/osmo-pcpap-gerrit/16/ is an example of a build triggered (and failed and reported as failure) to the Gerrit installation.

Tricks: 

$ git ls-remote gerrit
...
5f3b6b8472a319d8d1184266cf9f80b5dbb709b6	refs/changes/23/23/1

'23' the 'hashed' structure
'23' the actual change #23
'1'  the first patch

so one can use git fetch to fetch the patchset and browse

$ ssh -p 29418 zecke at gerrit.osmocom.org gerrit --help



Next:

We need to pick some projects to start with. I would propose to start with libosmocore and OpenBSC or one of the two.


Approach:

Regardless of what we start with the approach would be:

* Create project on Gerrit
* Make current code available to gerrit
* Set-up jenkins integration
* Remove all but gerrit's push right for this specific repository
* Set-up replication



What is missing:

* Which projects to migrate when
* Gerrit / Jenkins integration
* Gerrit => git.osmocom.org replication (and github?)
* Additional build jobs (with docker). Decision if we 
* Group set-up if we want fine-grained review per project. I think we can start without.
* Create wiki page/documentation


sorry, the mail is a bit too long.

holger




[1] Don't trust it as your general ID provider, but you might prefer using it for gerrit instead of yahoo or canonical. The URL is https://osmocom.org/openid. The heavy lifting is done by a ruby library (which has some DH code.. but I didn't see a configure knob to change the prime.. so probably everyone is using https://openid.net/specs/openid-authentication-2_0.html#pvalue?


More information about the OpenBSC mailing list