master needs rebuilding with 16.04
prep
- request new server (4 cores - down from 8)
- wire neon-sftp-bridge into a cookbook so the user is set up through chef and it does an initial deployment (may warrant separate task)
- change neon-sftp-bridge to use systemd for service management
- make sure we have a cookbook that sets journald to persistent mode so we have persistent logs
- request new block storage. the new server would be on our DO team so it needs a new storage we have to rsync into
- new cookbooks for scrapper-ci role: pangea-ruby (replaces rvm, also drop rvm attributes), neon-sftp-bridge
cook
- create server (name: do-neon-jenkins)
- create volume for server (name: volume-neon-jenkins)
- cook new server same as current drax
- copy ssh cert of jenkins
- make sure to have an rsync command that preserves ownership or make sure to run as relevant user
- rsync /var/lib/jenkins (take care of not syncing rvm or .*rc in particular .bashrc)
- restart jenkins and make sure it is disabled in every possible form and fashion! best disconnect all slaves, reduce master to one slot and set it to only accept explicitly associated builds and run some placeholder?)
- make sure mounts are set up correctly
- rsync block storage (i.e. mounts)
- rsync /var/www/* (metadata and so forth)
- deploy tooling and rebuild docker images via jenkins job
move
- remove (NOT purge!) jenkins on old server
- remove (NOT purge!) apache on old server
- make sure block storage works on new server
- have drax.kde.org point to new ip
- have neon.pangea.pub point to new ip
- re-enable jenkins on new server to actually resume CI
- have old server shut down and turned into a digital ocean image in case we need it again to recover something we forgot (can be deleted after ~3 months)