Jump to content

Deployments/Inclusion criteria

From Wikitech

The general outline of changes that require scheduling on the Deployments calendar as their own window, outside of Backport windows.

Things that require their own deploy window

Long running tasks

While not strictly a deployment, performing a long running task (more than 1 hour), eg. migration scripts, are required to be scheduled on the calendar. These can encounter issues when code is updated while a script is being run. The window can be short (e.g. 30min), and cover the anticipated start time and mention the estimated length for the task.

Could make the cluster fall over

  • Database schema changes.
    • Any change altering the databases schema must be asked on the schema changes page prior to deployment.
  • Backend/underlying software updates (e.g. PHP, HHVM, MariaDB, etc.)
  • Data-center changes (e.g. new DC coming online or datacenter going offline.

Notable production code change

  • Out-of-sequence MediaWiki and extension code updates (including wikitech)
  • BetaFeatures
    • Anything going into BetaFeatures (new features for users)
    • Anything going out of BetaFeatures (i.e. will now be user-default, or included in User Preferences)
  • Adding a new extension (either cluster-wide or per wiki)
  • Anything which introduces a new cookie (or renames an existing one)
  • Big default behavior changes

Needs read-only time

Including on a per-wiki basis, like database shard migrations.

Cross-cutting impact or large unknowns

  • e.g. changes to deployment system
  • changes that affect load characteristics substantially or in unknown ways, e.g. performance
  • this section is informed by past breakages, as well

How to add a special deployment window

  1. Ensure you have the support for deploying you need (e.g., someone to run maintenance scripts, someone to deploy, someone to run sql changes)
  2. Find a date/time in the Deployment Calendar
  3. Add a new Deployment calendar event card with the details of your deployment

Unsure

If in doubt, talk to Release Engineering.