News/2018 Trusty deprecation

This page keeps track of our ongoing effort towards Ubuntu Trusty deprecation before April 2019.
We are well aware that Trusty has been widely used in both Toolforge and Cloud VPS, but we have to move forward to Debian Stretch (or later) before Trusty's end-of-life in April 2019.
== Tell me exactly what I need to do ==
=== Cloud VPS project maintainers ===
* Go through your virtual machine instances in Horizon
* Find any instances running Ubuntu Trusty by looking at the 'Image Name' column of the Instances page.
* For each Ubuntu Trusty based instance:
** Create a new instance using Debian Stretch
** Move content and configuration from the old Trusty instance to the new Stretch instance
** If you are using a web proxy on the old instance, delete the proxy and the add a new one with the same name pointing at the new Stretch instance
** Shutdown the old Trusty instance
** Update any maintainer documentation to reference the new Stretch instance rather than the old Trusty instance
** When you are sure you have all the content and configuration moved, delete the old Trusty instance
If you need additional quota to create new virtual machine instances, follow the instructions on Phabricator to request a temporary quota increase.
=== Toolforge tool maintainers ===
See News/2019 Toolforge Trusty deprecation for Toolforge specific migration steps and timeline.
== Why are we doing this? ==
In April 2019 the Ubuntu project will stop providing security patch support for the Ubuntu 14.04 "Trusty" release.
Also, the Wikimedia Foundation has decided to unify operating systems across its servers and use Debian only.
== Timelines. What will change? What has changed already? ==
=== Cloud VPS projects ===
In November 2017, instance creation was disabled for new Trusty virtual machines (VMs).
The timeline for the remainder of the process is:
* In September 2018 (2018-09-18), we started filing Phabricator tasks for every Cloud VPS project having Trusty instances running. 
* In September 2018 (2018-09-28), send informative email to cloud-announce@lists.wikimedia.org. 
* In October 2018 (2018-10-18), ping project administrator (same Phabricator tasks) if they are still using Trusty. 
* In November 2018 (2018-11-18), repeat October's pings if they are still using Trusty. 
* In December 2018 (2018-12-18), deadline. Evaluate if Trusty VMs not migrated are actually in use and why they weren't migrated. 
* In January 2019 (2019-01-18), shutdown all Trusty instances (unless noted otherwise).
Since an Ubuntu -> Debian migration is not as easy as using apt-get, we recommend that you just rebuild VM instances, drop & create them again using the Debian Stretch base image.
Please contact us using your Trusty deprecation Phabricator tasks (subtasks of phab:T199003) if you don't know what to do or how to do something, or somehow need help.
Please also let us know if you don't have time to do the upgrade or don't want to do the upgrade - even though maintenance of your instances is your responsibility, we want to know about this anyway so we can look at the support options. It's likely that Trusty support within Wikimedia will end when it's EOL upstream if not earlier, and with it so will your instances - but we may be able to do something like help find a new maintainer, or possibly warn your users in some cases.
=== Toolforge ===
Toolforge is currently using Ubuntu Trusty as base image for both the Grid Engine and the Kubernetes backends.
We will have to rebuild Toolforge to get rid of Trusty, which is a huge task for several reasons (among other things, we will need a major Grid Engine upgrade for this).
Most tools are using Ubuntu Trusty packages, libraries and bindings, so eventually every tool must be reviewed to ensure it can work in a Debian Stretch environment.
See News/2019 Toolforge Trusty deprecation for more information.