Deployment tooling/Cabal/2015-11-23

Big Things Poppin

 * Initial Debian packaging stuff merged!
 * beta-labs RESTBase deploy on Friday
 * Bugs filed and fixed
 * deployment from /srv/deployment is wrong
 * .trebuchet directory collisions
 * check in ./scap directory for target list


 * TODO: file a bug: need a way to do restarts
 * Split out promote and restart
 * Just inform the user: no recourse


 * TODO: failure percentages
 * Fuzziness of problem batch_size ahead of percentage
 * etcd to determine if a server is depooled before decalring failure

TODOs from last meeting

 * TODO Documentation Continues
 * End user tutorial half-done, need repo setup docs
 * Config deploy
 * --limit flag


 * TODO AQS puppet/beta hacks puppet refactor
 * Patch revised with Filippo and Marko's comments
 * Can cherry pick patch today
 * Still need to get AQS on beta


 * TODO Config diffs
 * https://phabricator.wikimedia.org/T118206
 * working WIP patch: https://phabricator.wikimedia.org/D60

Scap puppet work

 * Provider? Some discussion about this on Friday
 * Initial repo setup on tin via puppet
 * "Provider" looks more like directory setup then run `deploy`

git-fat

 * The usual "deploying large binaries" problem?
 * if so, we'll need git-annex or git-lfs, git-fat is terrible.
 * Could be the context of trebuchet
 * Actual file transport the key
 * Important for jar files
 * Important for jar files

etcd

 * Dynamic state: pybal
 * pybal can only depool a percentage of backends
 * not returned/obvious from bash command
 * Calculate max-batch-size inside of scap config (living in puppet)
 * First use-case, possibly, serial restart/checks of servers.
 * Have to query both pybal servers
 * Depool and repool w/single command (in a couple weeks)
 * Ideally: scap3, depool, (post-fetch)
 * Create a lock in etcd (hooray!)
 * dual-masters deploy-locks possible


 * Depooling point may have to be configurable
 * PHP and node (new children) vs. others
 * Service restart vs code changes
 * Depool, before promote, in most cases: make default


 * Ideally agnostic to etcd

As Always

 * 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