Difference between revisions of "LizardIRC-JDNet network merge"

From LizardWiki, FastLizard4's wiki and website
Jump to: navigation, search
(Atheme DB Merge Script Development: Add link to Jenkins project page)
(Going public: Add an obvious one that I somehow missed)
Line 53: Line 53:
 
=== Going public ===
 
=== Going public ===
 
The following will change if we decide to make the LizardIRC/atheme-db-merge project public:
 
The following will change if we decide to make the LizardIRC/atheme-db-merge project public:
 +
*Repository becomes readable by all (including current tree and all revisions)
 
*Gerrit patchsets become viewable by all
 
*Gerrit patchsets become viewable by all
 
*Gerrit patchsets can be submitted by any registered user on Gerrit (though only LizardIRC staff will get the ability to review or merge those patchsets)
 
*Gerrit patchsets can be submitted by any registered user on Gerrit (though only LizardIRC staff will get the ability to review or merge those patchsets)

Revision as of 10:45, 23 May 2015

LizardIRC-JDNet merge proposal document.pdf

A merge between the LizardIRC IRC network and the JDNet IRC network has been proposed.

This page will be expanded with more details and discussion later, but for now, please refer to the initial proposal document seen to the right.

The first meeting between the staff of both networks was logged and can be found here.

If you have any questions, please feel free to join the channel #networkmerge on LizardIRC (irc://irc.lizardirc.org/networkmerge)

Things remaining to be discussed

(Discussions themselves will be carried out on the talk page)

  • LizardIRC post-merge oper class for Revi and TCN7JM.
  • Whether or not to use the contrib/ircd_announceserv services module on LizardIRC
  • Whether to permanently remove the chanserv/why services module from LizardIRC for privacy reasons (it has already been removed as precaution)

Things to do

  • Create script to merge JDNet's Atheme database into LizardIRC's
  • Assess community opinion on this merge

Merge Procedure

  • Get new SSL certificates for all servers
  • DNS records updated for all servers (phazon.lizardirc.org and ridley.lizardirc.org kept as legacy, but deprecated)
    • Give JD access to the LizardIRC DNS zone (hosted by Linode's nameservers)
  • Set up SSH access to the LizardIRC accounts for JD and FastLizard4 on all servers, as needed
    • Also set up the LizardIRC isolated account on servers that don't already have it
  • Install new modules on LizardIRC, use configuration from JDNet
  • Merge services database
  • Rename and restart servers as appropriate
  • Get Revi and TCN7JM set up on LizardNet OTRS

Atheme DB Merge Script Development

I've spun up a repository we can use to develop the Atheme database merge script/program on LizardNet Code Review. Currently, it's private, but if there's consensus we can also make it public (and, as part of that, I can easily set up a read only mirror of the repository from LNCR to GitHub's LizardNet project).

A list of open Gerrit patchsets can be found here, while the repository itself can be seen on the web here.

To be able to view and push patchsets to the project, you'll need to link your LizardWiki account to Gerrit and create your Gerrit account if you haven't already (see here for instructions). Once you have your Gerrit account, poke FastLizard4 or JD to get added to the LizardIRC Developers group.

There's also a Jenkins job on LizardNet Continuous Integration that can vote Verified+1/-1 on patchsets based on whether they past linting tests, unit tests, build tests, etc.; however, this is currently disabled as nothing has been set up to be tested. Once enabled, though, you'll need permissions to be able to view the Jenkins data for the project (unless we just make everything public). Jenkins accounts you can create yourself, then poke FastLizard4 to get added to the view list for the project. Note that if you're worried about forgetting your Jenkins password, you can in your Jenkins user configuration associate an OpenID profile (preferably LizardWiki's) with your account and use that as an alternative authentication method.

Once your Jenkins access is set up, you can view the project's build history here.

If this seems complicated, yeah, it kinda is, sorry. But it's cheaper than paying GitHub for a private repository.  :P

How to use Gerrit

If you've committed code to the Gerrit installation Wikimedia uses, you already know what to do. Everything works exactly the same, just the repository server is different. MediaWiki's documentation on how to use Gerrit, which is close enough to how LizardWiki's works (again, URLs and such will be different, but the how will be the same), can be found here (short version).

The authenticated clone address is ssh://gerrit_username@gerrit.fastlizard4.org:1234/LizardIRC/atheme-db-merge.git.

Self-merging and self-reviewing is discouraged, as is direct push bypassing code review (only FL4 and JD are capable of this).

Going public

The following will change if we decide to make the LizardIRC/atheme-db-merge project public:

  • Repository becomes readable by all (including current tree and all revisions)
  • Gerrit patchsets become viewable by all
  • Gerrit patchsets can be submitted by any registered user on Gerrit (though only LizardIRC staff will get the ability to review or merge those patchsets)
  • GitBlit viewer (https://git.fastlizard4.org) can be used to view the repository in addition to Gerrit
  • Gerrit repository also mirrored (read-only) to GitHub
  • Jenkins project becomes public and viewable by all (this includes any lint/test/build data from old builds)

Gerrit repo permissions

Note: "LizardIRC Administrators" refers to FastLizard4 and JD. All other staff (of both networks) and any other users granted access by FL4 or JD are in "LizardIRC Developers" (also includes FL4 and JD themselves).

  • Read: LizardIRC Developers
  • Submit patchset for review: LizardIRC Developers
  • Push, bypassing code review: LizardIRC Administrators
  • Create branch: LizardIRC Developers
  • Delete branch: LizardIRC Administrators
  • Create tags: LizardIRC Administrators
  • Vote Verified-1/+1: LizardIRC Developers, Jenkins
  • Vote Code-Review-2/-1/+1/+2: LizardIRC Developers
  • Rebase: LizardIRC Developers
  • Submit (merge approved patchset): LizardIRC Administrators (requires at least one Verified+1 and one Code-Review+2, and no Verified-1s or Code-Review-2s)