write migration plan for the actual switch away from sodium to fermium after fermium has been reinstalled
https://etherpad.wikimedia.org/p/mailman-migration
# | task | ticket | done? |
1 | request new VM for staging/testing | T108065 | yes |
2 | install jessie on new VM | T108070 | yes |
3 | let JohnLewis sign L2 | T108057 | yes |
3 | give JohnLewis shell access on new VM and sudo to execute things as "list" and view log files | T108082 | yes |
4 | basic semi-manual mailman 2.1.8 setup on new VM | T108383 | yes |
5 | setup rsyncd on fermium (via puppet) to be able to copy files directly without agent forwarding | T109921 | yes |
6 | export list configs and archives from sodium, rsync them all over to fermium | T108071 | yes |
7 | write script to import lists | T109922 | yes |
8 | test importing of list configs and archives on fermium for all lists (public and private) | T108073 | yes |
9 | rename lists with invalid names | T109539, T109393 | yes |
10 | move hardcoded IP configuration (server and service name) to hiera to be able to run more than 1 mailman instance from puppet role | T109624 | yes |
11 | clean up mailman data directory on sodium (over 0.5 million held messages) | T109838, T83967 | yes |
12 | write this plan :) | T109467 | in progress |
13 | go through all directories in /var/lib/mailman and decide whether they need to be imported or can be skipped | T109399 | yes |
14 | figure out which new service IP to use, v4 and v6, set it in hiera? | T108080 | yes |
15 | add public IP for fermium (DNS change, installserver/DHCP change) | T109923 | yes |
16 | reinstall OS (jessie) on fermium | T109924 | yes |
17 | apply regular mailman role on fermium | T109925 | no |
18 | test ferm rules are sufficient | T104980 | no |
19 | rsync all configs and archives one more time | T110129 | no |
20 | import all lists with the script we wrote for that | T110131 | no |
21 | one day before: lower lists.wikimedia.org TTL to 5 min | T110132 | no |
22 | announce scheduled downtime - need to debate and decide on a worst-case length. | T110133 | no |
23 | right before the switch: lower TTL to 10 seconds | T110135 | no |
24 | hold lists.wikimedia.org with exim (disable puppet on sodium; apply locally rather via operations/puppet unless we want to hold all emails to fermium as well for 'safety'?) | T110136 | no |
25 | shut down mailman on sodium | T110137 | no |
26 | rsync one more time, this time only the diff since it was shutdown | T110138 | no |
27 | rsync exim spool directory | T110440 | no |
28 | test sending individual mails from fermium | T110441 | no |
29 | switch over service IP | T110139 | no |
30 | send follow-up email, announce changes with new mailman version if any that have user impact ? | T110140 | no |
31 | profit? maybe - revert ideas for worst cases? | no | |
32 | TTL back up to normal 1H | T110141 | no |
33 | shutdown sodium, celebrate "no more lucid", close all resolved tickets | T110142 | no |