[Gluster-infra] glusterfs github is out of sync.

Michael Scherer mscherer at redhat.com
Wed Nov 25 16:48:32 UTC 2015


Le mercredi 25 novembre 2015 à 12:25 +0100, Michael Scherer a écrit :
> Le mercredi 25 novembre 2015 à 11:52 +0100, Michael Scherer a écrit :
> > Le mercredi 25 novembre 2015 à 15:47 +0530, Kaushal M a écrit :
> > > On Wed, Nov 25, 2015 at 3:42 PM, Michael Scherer <mscherer at redhat.com> wrote:
> > > > Le mercredi 25 novembre 2015 à 11:05 +0530, Kaushal M a écrit :
> > > >> On Wed, Nov 25, 2015 at 12:22 AM, Michael Scherer <mscherer at redhat.com> wrote:
> > > >> > Le lundi 23 novembre 2015 à 11:56 +0100, Michael Scherer a écrit :
> > > >> >> Le jeudi 29 octobre 2015 à 11:24 +0000, Niels de Vos a écrit :
> > > >> >> > Humble Chirammal <hchiramm at ...> writes:
> > > >> >> > >
> > > >> >> > >
> > > >> >> > >     Hi,
> > > >> >> > >     FYI,
> > > >> >> > >     It seems that, https://github.com/gluster/glusterfs code
> > > >> >> > >     repo has not synced from gerrit for some time and the last commit (
> > > >> >> > >     51632e1eec3ff88d19867dc8d266068dd7db432a)
> > > >> >> > >     recorded on  Sep 10 .
> > > >> >> > >     Does any one know, why the gerrit plugin is broken? --
> > > >> >> >
> > > >> >> > I've now manually synced the glusterfs repo on GitHub with the current state
> > > >> >> > from Gerrit. If the automatic sync takes time to get configured/setup again, we
> > > >> >> > might need to do this on regular basis? Anyway, ping me if it needs to be done
> > > >> >> > again (not for each commit though!).
> > > >> >>
> > > >> >> One solution is to just add a ssh key on the repo, it can be found in
> > > >> >> the settings.
> > > >> >>
> > > >> >> That's how I plan to do for the salt repo, but github is being annoying
> > > >> >> a requires 1 different ssh key per repo, and I do need to take that in
> > > >> >> account.
> > > >> >> (the joy of having a SaaS service...)
> > > >> >
> > > >> > So I was looking at that, and just want to be sure I do publish the good
> > > >> > repository.
> > > >> >
> > > >> > So we are looking at pushing the git repo from dev.gluster.org ( ie,
> > > >> > gerrit ), in /review/review.gluster.org/git
> > > >> >
> > > >> > And there is all of them:
> > > >> >
> > > >> > All-Projects.git
> > > >> > automation.git
> > > >> > glusterfs-afrv1.git
> > > >> > glusterfs.git
> > > >> > glusterfs-hadoop.old.git
> > > >> > glusterfs-nsr.git
> > > >> > glusterfs-quota.git
> > > >> > glusterfs-snapshot.git
> > > >> > glusterfs-specs.git
> > > >> > gluster-nagios-addons.git
> > > >> > gluster-nagios-common.git
> > > >> > gluster-nagios.git
> > > >> > gluster-operations-guide.git
> > > >> > gluster-swift.git
> > > >> > gmc.git
> > > >> > libgfapi-python.git
> > > >> > nagios-gluster-addons.git
> > > >> > nagios-server-addons.git
> > > >> > qa.git
> > > >> > regression.git
> > > >> > swiftkrbauth.git
> > > >> >
> > > >> > Should all be synced ?
> > > >>
> > > >> Most of these are inactive. We'll need to check with the owners to
> > > >> find out if they need to be replicated.
> > > >> The most important and active repos here would be glusterfs.git and
> > > >> glusterfs-specs.git. These need to be replicated.
> > > >
> > > > Ok. And I assume I can sync the anonymous clone, and use git push -f ?
> > > >
> > > > I propose to have a separate small VM for that, so the ssh keys to push
> > > > on github are separate from any complex application like github. We can
> > > > later move it back on a regular server ( or just use some magic
> > > > kubernetes/atomic system ).
> > > 
> > > Gerrit itself is capable of pushing changes to mirrors and this
> > > capability was being used till the ssh-keys were removed. I don't know
> > > if it's possible to use a different ssh-key for each mirror in gerrit,
> > > but if it is then we should be able to do this easily. No need to set
> > > up a different VM for that.
> > 
> > Ok, seems faster. I was looking at a generic solution for the git of
> > salt too, but maybe I do over engineer stuff :)
> > 
> > Let me see on gerrit side, and then I will look at a work around if it
> > doesn't work.
> 
> So, the trick I used is the following.
> 
> In the replication config file:
> /review/review.gluster.org/etc/replication.config
> I have placed that:
> 
> [remote "github"]
> 	push = +refs/heads/*:refs/heads/*
> 	push = +refs/tags/*:refs/tags/*
> 	url = ssh://git@${name}-github.com/gluster/${name}.git
> 
> Then in the .ssh/config of the review user:
> Host *-github.com
> 	Hostname github.com
> 	IdentityFile ~/.ssh/%h-id_rsa
> 
> so it should use a per repo key. Now, I just need to create the keys,
> add them and then see if it work.

Obviously, as much as I like when plan come together, this is never the
case.

So gerrit use a custom ssh client, who do not support the advanced
options of ssh. Worst, the doc of gerrit is wrong.

So I had to:
- place 1 remote per repo to sync (and filter per repo):

[remote "github-glusterfs"]
	push = +refs/heads/*:refs/heads/*
	push = +refs/tags/*:refs/tags/*
	url = ssh://git@glusterfs.github.com/gluster/${name}.git
	projects = glusterfs

(because the ${name} is not replaced in the server name, for some
reason, and that's not in the doc)

- place 1 config line per repo, since I need one key per repo:
https://help.github.com/articles/error-key-already-in-use/

(because jssh do not support the %h expansion of .ssh/config)

Host glusterfs-specs.github.com
	Hostname github.com
	IdentityFile ~/.ssh/glusterfs-specs-github.com-id_rsa

So that's uglier than what i wanted, but it seems to be working
(no error message, and the same amount of commit on github and gerrit)

> Automating that is left as a exercise for later. I did see that
> Microsoft did a lot of interesting stuff on that, with their portal
> tying github auth with microsoft one, but I do not have time to code
> that, so I will have to convince someone of doing it :)
> 
> 
> _______________________________________________
> Gluster-infra mailing list
> Gluster-infra at gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-infra

-- 
Michael Scherer
Sysadmin, Community Infrastructure and Platform, OSAS


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://www.gluster.org/pipermail/gluster-infra/attachments/20151125/8b201a7c/attachment.sig>


More information about the Gluster-infra mailing list