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)
- 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
If in doubt, talk to Release Engineering.