SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack
-
Upload
saltstack -
Category
Technology
-
view
717 -
download
2
description
Transcript of SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack
![Page 1: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/1.jpg)
Immediate ConsistencyWith Trebuchet Deploy
![Page 2: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/2.jpg)
Deployment is anignored problem
![Page 3: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/3.jpg)
![Page 4: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/4.jpg)
Sync
Common
All
Php
![Page 5: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/5.jpg)
- Poor immediate consistency
![Page 6: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/6.jpg)
- Poor reporting during deployment
![Page 7: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/7.jpg)
- No reporting after deployment
![Page 8: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/8.jpg)
- Difficult to modify and maintain
![Page 9: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/9.jpg)
- Non-extensible
![Page 10: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/10.jpg)
- No service orchestration
![Page 11: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/11.jpg)
- Difficult to use
![Page 12: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/12.jpg)
sync-commonsync-common-allsync-common-filesync-dblistsync-docrootsync-dirsync-filesync-wikiversionsscapapache-gracefulapache-graceful-allsync-apache
![Page 13: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/13.jpg)
+ Has eventual consistency
![Page 14: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/14.jpg)
+ Has fast transmission mechanism via tiered rsync
![Page 15: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/15.jpg)
TrebuchetDeployment
System
![Page 16: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/16.jpg)
![Page 17: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/17.jpg)
+ Immediate consistency via deployment module
![Page 18: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/18.jpg)
+ Eventual consistency via states
![Page 19: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/19.jpg)
+ Reporting via returners
![Page 20: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/20.jpg)
+ Easy modification and extension via modules and runners
![Page 21: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/21.jpg)
+ Service orchestration via reactors, runners and modules
![Page 22: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/22.jpg)
+ Targeting via grains or pillars
![Page 23: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/23.jpg)
+ Configuration via pillars
![Page 24: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/24.jpg)
deployment_config: parent_dir: /srv/deployment redis: db: 0 host: reporting.example.org port: 6379repo_config: test/testrepo: grain: testrepo upstream: https://gerrit.wikimedia.org/r/p/test fetch_module_calls: saltutil.refresh_pillars checkout_module_calls: testrepo.gen_css service_name: test-service
![Page 25: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/25.jpg)
- Git is slow for large binaries
![Page 26: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/26.jpg)
- No canary support yet
![Page 27: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/27.jpg)
git deploy startgit deploy syncgit deploy abortgit deploy revertgit deploy service <action>git deploy reportgit deploy <extension>
TrebuchetTrigger
![Page 28: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/28.jpg)
![Page 29: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/29.jpg)
![Page 30: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/30.jpg)
![Page 31: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/31.jpg)
Mission
Enable the world to treat Wikimedia's infrastructure like any of
its projects: anyone can edit.
![Page 32: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/32.jpg)
![Page 33: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/33.jpg)
TrebuchetPaaS
![Page 34: SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack](https://reader033.fdocuments.in/reader033/viewer/2022060108/554f8f5eb4c905d25b8b511a/html5/thumbnails/34.jpg)
Join us!
Ryan Lane
Lyft
trebuchet-deploy on GitHub
IRC (Freenode):
#trebuchet-deploy
Come to the puppet + salt
integration talk later today!