Deployment tooling/Cabal/2016-11-07

Next release/blocking
v. 3.3.1 Cut this week (for realz)

Maybes

 * Could merge in D411, one minor fix
 * Smart-merge checks for different environments

New

 * scap3 should announce all deploys
 * Global lock file (lock all deployments on a server)
 * Support sub-commands on cli.Application methods

Bugfixes

 * Fix l10n-purge
 * Restore hhvm
 * scap3 service restart failure
 * Limit hosts for all groups
 * stops automatic touch of InitialiseSettings.php

Internal Improvements/Debt

 * Remove unnecessary sudo execution and simplify context
 * Remove the refreshCdbJsonFiles exceptions from .arclint and setup.py
 * Expand scap documentation, especially plugins and cli stuff

Needs review

 * Flatten MediaWiki deploy into a single git repo

Rollback (parsoid finding logic errors)

 * Scap rollback fails after promote completes - promote removes .in-progress flag
 * Rollback failed when target is down - could not create .in-progress flag
 * Canary doesn't rollback if you don't continue - enhancement probably needed
 * Allow failures for a percentage of targets - enhancement related, somewhat

For 3.3.2
Might not be needed before 3.4.0
 * Smart-merge checks for different environments

For 3.4.0 release

 * scap deploy-local should make fewer assumptions (debt)
 * Canonical target list (debt)]
 * Flatten MedaWiki deploy into a single git repo

As Always

 * Phase 2
 * Phase 1
 * Workboard https://phabricator.wikimedia.org/tag/scap3/
 * Etherpad backed up to https://www.mediawiki.org/wiki/Deployment_tooling/Cabal
 * Future document https://www.mediawiki.org/wiki/Deployment_tooling/Future
 * Spreadsheet: https://docs.google.com/spreadsheets/d/1MlEsFxrLvdZdV_G82WEAIvBXr7ArO7nCEKaFClHhJEw/edit#gid=0