|
|
Line 1: |
Line 1: |
| == Migration From Etch ==
| | See [[CommunityMigration]]. |
| | |
| === Services to migrate ===
| |
| * RT
| |
| * Trac
| |
| * http
| |
| * Exim
| |
| * ClamAV
| |
| * mrtg
| |
| * darcs
| |
| * ghc
| |
| * mailman
| |
| * nagios
| |
| * planet
| |
| | |
| === User data to be transfered ===
| |
| * User accounts and home directories
| |
| * Project groups in /etc/group
| |
| * Darcs repos from /srv/projects
| |
| * Project data from /srv/code
| |
| * Trac projects
| |
| * Mailman lists
| |
| * Planet Haskell
| |
| * Physical mailboxes (igloo and malcolm)
| |
| | |
| === Domains to be transferred ===
| |
| * community
| |
| * code
| |
| * rt
| |
| * planet
| |
| * trac
| |
| * projects
| |
| | |
| === Migration plan - preparatory stage ===
| |
| # Formulate plan on how to communicate with users during the migration process; begin gathering required contact info if necessary
| |
| # Give preliminary notice to users and ask for feedback
| |
| # Configure domain name etch.haskell.org (will later become read-only copy and left active for a while as a backup)
| |
| # Set up an IRC channel for admins to coordinate during the migration process
| |
| # Change TTL on all domains to be short
| |
| # Provision the new server
| |
| # Install and perform basic configuration of all services
| |
| # Test all installed services
| |
| # Write scripts to copy user accounts and home directories, and to verify
| |
| # Write scripts to copy project groups in /etc/group, and to verify
| |
| # Write scripts to copy darcs repos from /srv/projects, and to verify
| |
| # Write scripts to copy project data from /srv/code, and to verify
| |
| # Write scripts to copy trac projects, and to verify
| |
| # Write scripts to copy mailman lists, and to verify
| |
| # Write scripts to copy Planet Haskell, and to verify
| |
| # Write a script to make all user data and projects read-only, and to verify.
| |
| # Write a script to *undo* making things read-only, in case of emergency.
| |
| # Test all scripts thoroughly
| |
| # Fix a date for migration and give advance notice and instructions to users.
| |
| # Transfer RT database and verify (as a dry run, go through the entire migration process just for RT)
| |
| # Move the rt domain
| |
| # After TTL, verify that RT is working on the new server
| |
| | |
| === Migration plan - D-Day ===
| |
| # Notify users.
| |
| # Make all user data and projects read-only. Verify.
| |
| # Run scripts to copy user accounts and home directories. Verify.
| |
| # Run scripts to copy darcs repos, project data, and Trac project. Verify.
| |
| # Move the domain CNAME for community, trac, projects, and code.
| |
| # After TTL, verify remotely that the domains moved and that services are working.
| |
| # Notify users of current status.
| |
| # Run the scripts to copy mailman lists. Verify.
| |
| # Tell Ian and Malcolm to check their mail.
| |
| # Move the domain MX records.
| |
| # Run the scripts to copy Planet Haskell. Verify.
| |
| # Move the planet domain.
| |
| # After TTL, verify remotely that '''all''' domains are moved and that '''all''' services are working.
| |
| # Notify users and community.
| |
| | |
| === Post-migration tasks ===
| |
| # Monitor and tune settings of PostgreSQL for resource usage on the new server
| |
| # Monitor and tune settings of Apache for resource usage on the new server
| |