EndOfLifeProcess

Differences between revisions 52 and 53
Revision 52 as of 2019-10-29 14:55:54
Size: 9465
Editor: laney
Comment:
Revision 53 as of 2020-03-26 23:05:33
Size: 9665
Editor: xnox
Comment:
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
 * Clean up things: NBS, cleanup kernels, cleanup NEW/Unapproved, cleanup pending-sru? Must be done before setting release to OBSOLETE in Launchpad, as otherwise removals are not actually published.

To be carried out by: Ubuntu Release Manager

Goals:

  • Inform users of a supported Ubuntu release of its imminent end-of-life and corresponding termination of maintenance and support

45 days prior to end of life (for LTS releases), or 14 days prior for 9-month releases:

  • Send Release End of Life Warning to ubuntu-announce, ubuntu-security-announce

  • Notify Amber Graner to add news item to UbuntuWeeklyNewsletter

  • Notify the web team manager that ubuntu pages will need to be updated to remove EOL release.

10 days prior to end of life:

  • Verify that distro-info-data has the correct EOL date for this release, and fix it if it does not.

At end of life (generally 2 weeks after a new release starts):

  • Clean up things: NBS, cleanup kernels, cleanup NEW/Unapproved, cleanup pending-sru? Must be done before setting release to OBSOLETE in Launchpad, as otherwise removals are not actually published.
  • Set release to OBSOLETE in Launchpad (work with LOSA)
  • update http://changelogs.ubuntu.com/meta-release and http://changelogs.ubuntu.com/meta-release-proposed (bdmurray)

    • set the release to "Supported: 0"
    • update the ReleaseNotesURI so that it points to a EOL page, this informs the user that he is about to upgrade to a already EOL version of the distr
  • update https://wiki.ubuntu.com/Releases for Canonical support.

  • Deactivate any milestones for the release. Look at https://launchpad.net/ubuntu/$releasename/+milestones

  • Archive the release on old-releases on nusakan

    • Warning: It may not be possible to follow this procedure entirely mechanically! old-releases is by its nature not very regularly maintained, and the fact that many files are purged from the master system and only exist on mirrors can cause a good deal of confusion. Refer to the publicly-visible structure on http://old-releases.ubuntu.com/releases/. This procedure indicates with some degree of accuracy what steps need to be taken, but anyone following this procedure is strongly advised to use their initiative.

    • In the following instructions, RELEASE should be replaced throughout with the name of the EOLed release. PROJECT is used for flavours of Ubuntu other than Ubuntu itself (e.g. Kubuntu, Edubuntu, etc.).

    • Disable mirror syncing: chmod -x /srv/cdimage.ubuntu.com/bin/sync-mirrors.

    • In /srv/cdimage.ubuntu.com/www/simple/, find all directories named after the EOLed release. In each one:

      • Move all files containing the release number in the adjacent .pool directory to the corresponding .pool subdirectory of /srv/cdimage.ubuntu.com/www/old-releases/ (either .pool or PROJECT/.pool), creating it if necessary.

      • In the target .pool directory, run checksum-directory . /path/to/old/directory, or update checksums manually if necessary (in the latter case, remember to use sign-cdimage on each checksums file).

      • Move all files starting with a lower-case letter to the corresponding subdirectory of /srv/cdimage.ubuntu.com/www/old-releases/ (either RELEASE or PROJECT/RELEASE), creating it if necessary.

      • In the target directory, run checksum-directory . /path/to/old/directory ../.pool, or update checksums manually if necessary (in the latter case, remember to use sign-cdimage on each checksums file).

      • In the target directory, update web indices. The procedure for doing this varies depends on whether the images currently being archived supersede all previous images from the previous point release (if any), or if some images from a previous point release must be kept visible (as is the case when EOLing the server part of an LTS release).
        • In the former case, run DIST=RELEASE for-project PROJECT make-web-indices . PREFIX, where PREFIX is the common prefix of the images without any trailing - (e.g. ubuntu-9.10).

        • In the latter case, edit .htaccess and HEADER.html by hand and change the version numbers for only those images that are being superseded.

      • Make sure that appropriate version-number symlinks to the release name exist in /srv/cdimage.ubuntu.com/www/old-releases/ or /srv/cdimage.ubuntu.com/www/old-releases/PROJECT/.

      • Edit /srv/cdimage.ubuntu.com/www/old-releases/.htaccess and /srv/cdimage.ubuntu.com/www/old-releases/HEADER.html (or old-releases/PROJECT/...) by hand to refer to the EOLed releases.

      • In the source .pool directory (under /srv/cdimage.ubuntu.com/www/simple/), run checksum-directory . to get rid of references to the EOLed release.

      • Remove the remaining files and symlinks corresponding to the EOLed release from under /srv/cdimage.ubuntu.com/www/simple/. Clean up emptied directories if any.

      • Edit /srv/cdimage.ubuntu.com/www/simple/.htaccess and /srv/cdimage.ubuntu.com/www/simple/HEADER.html (or simple/PROJECT/...) by hand to remove references to the EOLed release.

      • Edit /srv/cdimage.ubuntu.com/www/simple/.htaccess (not PROJECT-specific) to add appropriate RedirectPermanent directives redirecting users to the new URLs.

    • Re-enable mirror syncing: chmod +x /srv/cdimage.ubuntu.com/bin/sync-mirrors.

    • Push to mirrors: sync-old-releases; sync-mirrors.

  • Move any images from cdimage.ubuntu.com to old-images on nusakan and notify IS team for archival
    • Disable mirror syncing: chmod -x /srv/cdimage.ubuntu.com/bin/sync-mirrors.

    • If /srv/cdimage.ubuntu.com/www/full/netboot/RELEASE/ exists, remove it (it is only an HTML page with links, and does not need to be archived), remove any symlinks to it, and remove references to it from /srv/cdimage.ubuntu.com/www/full/netboot/index.html.

    • In /srv/cdimage.ubuntu.com/www/full/, find all directories named after the EOLed release which have /releases/ in their path. Each one will have a subdirectory identifying the milestone (e.g. release, release.1, etc.). For each one:

      • Move the directory to the corresponding subdirectory of /srv/cdimage.ubuntu.com/old-images/, creating it if necessary.

      • Remove any remaining files and symlinks corresponding to the EOLed release from under /srv/cdimage.ubuntu.com/www/full/. Clean up emptied directories if any.

    • In /srv/cdimage.ubuntu.com/www/torrents/, find all directories named after the EOLed release which have /releases/, /ports/, or /simple/ in their path. Remove these directories.

    • Re-enable mirror syncing: chmod +x /srv/cdimage.ubuntu.com/bin/sync-mirrors.

    • Push to mirrors: sync-mirrors.

  • Archive the apt archive to old-releases:
    • Notify IS to backup (and verify) the ftp archive to old-releases. They should have tickets filed for this well in advance.
    • Remove the release from the archive (send RT ticket, requiring sign-off from IS, Foundations, Release Team, Commercial Engineering, and Launchpad)

    • Even with sign-off from all parties, we typically give a generous grace period between backup and removal, a month for 9mo releases and 6mo for LTS is a reasonable lower bound.
  • Notify IainLane to disable the release in appstream-generator (in https://git.launchpad.net/~ubuntu-desktop/+git/appstream-cloud/, remove the release from config.json, then git pull and run juju set appstream-generator config="$(cat config.json)" as prod-ue-appstream-back@wendigo (Canonical only).

  • Notify IainLane, JulianAndresKlode, SteveLangasek or LukaszZemczak to remove the EOL release from autopkgtest. Delete it from all configuration files, git pull, reload the workers (pkill -ef -HUP worker/worker) and remove the images (in all cloud regions, run something like nova image-list | awk -F '| ' '/adt\/ubuntu-RELEASE/ { print $2 }' | xargs nova image-delete.

    • also clean up old logs and results for the series with swift delete autopkgtest-RELEASE.

  • Notify someone with access to the "prod-cnf-extractor" group to disable generation of command-not-found indices (juju config cnf-extractor releases="space separated list of releases")

  • Tell Canonical IS that they can remove images for this release from the internal clouds.
  • Manually remove the release from snakefruit:~ubuntu-archive/.madison-lite/config so it doesn't show up in rmadison output.
  • Clear all packages from the partner repository for this release with remove-package (check with PES first)
  • Send EndOfLifeAnnouncement to ubuntu-announce, ubuntu-security-announce

  • Notify the web team manager to remove release from the website.
  • Close all bugs targeted to RELEASE that haven't been fixed as WONT FIX.
  • Update charmed daisy retracer cronjob named "whoopsie-update-daily-users.cron.tmpl" to no longer collect stats on the release that has become End of Life e.g. https://bazaar.launchpad.net/~daisy-pluckers/charms/xenial/daisy-retracer/trunk/revision/199

  • Update submit.py in https://code.launchpad.net/~daisy-pluckers/daisy/trunk to reject crashes from the EoL release, which will also increment a counter for that specific release e.g. unsupported.eol_raring.

  • Run script which unsubscribes teams (specifically Canonical teams) from packages which are no longer in main or restricted for supported releases.
  • Remove /srv/cdimage.ubuntu.com/scratch/*/RELEASE to free up disk space.

  • Remove the EoL release from ddebs: on germanium, move /srv/ddebs.ubuntu.com/www/dists/RELEASE* to /srv/ddebs.ubuntu.com/www/dists.old/, after which ddeb-retriever will do a garbage-collection pass.


CategoryProcess

EndOfLifeProcess (last edited 2022-04-11 14:51:17 by jbicha)