Changes between Initial Version and Version 1 of Infrastructure/MovingTrac

05/27/2013 07:49:06 PM (2 years ago)

Move MovingTrac


  • Infrastructure/MovingTrac

    v1 v1  
     3<div style="background: #ffff99; padding: 10px; border: 1px solid #ffcc88">
     4This information is about the old deployment on cube, but is left here, since some of the details are still relevant haven't been documented properly elsewhere.
     8Trac is currently deployed on using a custom build of postgres on an old version of Ubuntu on some old hardware.
     10We have a new, better piece of hardware donated by Dreamhost, and we may get newer, better hardware donated in the future.  So we'd like to move it around.
     12Moving trac is possible - we even have new hardware - but the enterprising administrator who would like to help us with this needs to be aware of a few issues.
     14Trac, along with postgres, is installed into ~trac-migration on cube.  Postgres is compiled into `~/.local/` and the database cluster is in `~/Database/`.  This was done because we are running Ubuntu 8.04 LTS, and the most recent packaged version of Postgres for that platform is 8.3, and we were told by some trac developers that upgrading to 8.4 would help.
     16The newer hosting is running on Debian, which is still kind of old, but ''does'' have a system packaged install of postgresql-8.4.  So when Trac is moved we should use the system installed database instead, since this will get automatic security updates.
     18The other thing that needs to be updated is the SVN repository mirror, which is replicated to be local to Trac so that the source browser works.  Our production version control system is on, and each revision is pushed over to by a post-commit hook.
     20An SVN post-commit hook also pushes SVN changes to trac along a second channel using a PB server deployed with trac.  The post-commit hook needs the correct address for that PB server, which will need to move along with the trac server.
     22trac and kenaan (an IRC commit/notification bot) also interact.  trac uses programs from lp:twisted-trac-integration to send messages to kenaan.  For this, trac needs to be configured with the correct address at which kenaan is listening.  If kenaan is not moved at the same time as trac, the configuration probably needs to change from pointing at localhost to pointing across a network.  If kenaan is moved, other things pointing at it need to be updated.  The location of kenaan is configured inside lp:twisted-trac-integration.
     24Once the database moves, the high scores daemon needs to be moved as well, since it talks to the same database.
     26Trac also sends emails when tickets are done, so the local mail server needs to be able to send mail on behalf of Twisted.
     28DiffResource (currently deployed in ~diffresource on cube) needs to know the public URL of trac, but otherwise doesn't need to be nearby the trac deployment (alternatively, it can be pointed at a Frack deployment).
     30Finally there is the web server, but its configuration is fairly centralized in ~www-data.
     32So, a handy brief list of dependencies for Trac to work on a new host is:
     34  - web server
     35  - postgres
     36  - highscores server
     37  - svn mirror
     38  - svn post-commit config update
     39  - private trac pb server for accepting commit notification
     40  - lp:twisted-trac-integration, with updated configuration to point at kenaan
     42And the list of things that need to be updated but not ''necessarily'' re-deployed onto the new host with trac:
     44  - diffresource
     46Other questions:
     48  - mailman (hosted beneath the main web server)?
     49  - exim4 ( mx)?
     50  - HTTP latency measurements (currently all measuring over localhost, should stay that way)?