You are browsing a read-only backup copy of Wikitech. The live site can be found at wikitech.wikimedia.org

Tools Precise deprecation

From Wikitech-static
Revision as of 19:32, 13 April 2016 by imported>BryanDavis (<tt> -> <code>)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This page details information about deprecating and removing hosts running Ubuntu Precise (12.04) as operating system from the Tool Labs infrastructure. Several of the Grid execution hosts are still running Precise. The login bastions have been migrated to Trusty (14.04) in 2015.

Why are you doing this?

Ubuntu Precise was released in April 2012, and support for it (including security updates) will cease in April 2017. We therefore need to shut down all Precise hosts before then. Because many people still use the Precise hosts, and our users are working on tools in their spare time, the migration path below will take 9 to 12 months.

What will change?

  • mid June 2016: Jobs started with with jsub will no longer run on Precise hosts by default, and will instead run on Trusty hosts.
  • June-December 2016: Tools starting jobs with jsub -l release=precise will start receiving emails urging them to migrate to Trusty.
  • March 2017: Jobs started with jsub -l release=precise will no longer function and will crash with an error.

What should I do?

If you:

  • run jobs with jsub without specifying the release:
    • test whether your process works on a Trusty host by submitting the job with -l release=trusty
    • if this does not work, add -l release=precise to your jsub command for now, and start working on migrating to Trusty soon.
  • run jobs with jsub -l release=precise:
    • Start working on migrating to Trusty soon.
  • run jobs with jsub -l release=precise:
    • You're all set!
  • run a webservice without specifying the release
    • Your webservice is already running on Trusty -- nothing to do here!
  • run a webservice with --release=precise:
    • Start working on migrating to Trusty soon

To check whether your jobs are running on Precise or Trusty hosts, you can check https://tools.wmflabs.org/?status and look at all the exec nodes that are named like tools-exec-12xx (for Precise) or tools-exec-12xx (for Trusty).

What are the primary changes with moving to Trusty?

You get newer versions of most software, which is great - but also means you can run into compatibility issues. You can test for this by submitting your jobs with '-l release=trusty' and fixing any errors that crop up. Common issues probably include:

  1. Newer version of PHP (5.5 rather than 5.3). Some old deprecated functions / interfaces were dropped in 5.4, so watch out if your code uses any of them. A comprehensive listing can be found in http://php.net/manual/en/migration54.php - specifically in http://php.net/manual/en/migration54.incompatible.php
  2. Slightly newer version of Python 2 and much newer version of Python3 (3.2 -> 3.4). If you had virtualenvs set up to run in precise, you'll have to recreate them.

What if I want to stick with Precise?

Though not recommended, if you need more time to migrate, you can add '-l release=precise' as a parameter to your jsub invocation to stay in Ubuntu Precise. Note that you will still have to move eventually so this is not a permanent long term solution.

Timeline

  • End of April: Print warnings for jsub submissions that aren't using release=trusty, webservice submissions that use --release=precise
  • Mid June: Switch default for jsub to trusty
  • June-December: Start pestering users still depending on precise to move to trusty
  • March 2017: All precise instances out of tools