ZUUL AND OTHER OPENSTACK TOOLS USAGE AT LEBONCOIN : THE ODYSSEY
HELLO! Sonia Guillaume Benoît Thierry Ouchtar Chenuet Bayszczak Carrez @iizuna_k @gchenuet @bbayszczak @tcarrez 2
1. ONCE UPON A TIME A quick history of OpenStack dev tools
GATING FROM DAY 0 Launchpad Code review Tarmac Tarmac bzr Branch merging Basic serial gating Distributed VCS 4
DAY 1: FORMAL GATING Launchpad Code review Tarmac Jenkins bzr Branch merging Serial gating Distributed VCS 5
DAY 1: FORMAL GATING Launchpad Code review Tarmac Jenkins bzr Branch merging Serial gating Jenkins Distributed Post-merge jobs VCS 6
DAY 2: ADDING CHECKS Gerrit Jenkins Code review Check tests Gerrit Jenkins git Branch merging Serial gating Jenkins Distributed Post-merge jobs VCS 7
DAY 3: ZUUL Gerrit Zuul Code review Check tests Gerrit Zuul git Branch merging Speculative gating Zuul Distributed Post-merge jobs VCS 8
DAY 4: AUTOMATE ALL THE THINGS ▪ Documentation (sphinx) ▪ Release requests ▪ Release notes (reno) ▪ Release highlights 9
2. LEBONCOIN "Is that about Blockchain ?!"
EASE LOCAL TRANSACTION leboncoin is a type of exchange platform that simplifies access to consumption, favors local relations and opens access to digital in a tool at the service of all. 11
28,000,000+ Monthly unique users 27,000,000+ Active classified ads 5th Browsed website in France 12
5,000+ 17,000+ Reviews* Patchsets* 16,000+ 20,000+ Package builds* Deployments* 150+ 7 Developers** EngProd members** * Per month 13 ** Not per month
3. THE ODYSSEY “The journey is the thing”
KEEPING IT SIMPLE YEAR AFTER YEAR 2015 2016 2017 2018 15
2015: THE ORIGIN Gerrit Code review Jenkins Serial gating 16
2016: FORMAL TOOLING Gerrit git-review Code review Code review tooling Reno Jenkins JJB Release Notes Serial gating Jobs descriptions Sphinx Documentation 17
2017: ZUUL Game on ! 18
2017: GATING LIMITATION Jenkins Jenkins Slave worker Slave worker Gerrit Jenkins Jenkins Jenkins Code review Master instance Slave worker Slave worker Jenkins Jenkins Slave worker Slave worker 19
2017: GATING LIMITATION Jenkins Master instance Gerrit Jenkins Code review Master instance Jenkins Master instance 20
2017: ZUUL GATING Jenkins Master instance Gerrit Zuul Jenkins Code review Serial gating Master instance Jenkins Master instance 21
2017: ZUUL PIPELINES Gerrit Zuul Zuul Zuul Code review Build pipeline Integration pipeline Quality pipeline Tests jobs Gerrit Zuul git Change merging Post-merge pipeline Post-merge jobs Zuul Distributed VCS Tag release pipeline Post-commit jobs 22
2018: ZUUL V3 Level-up ! 23
2018: WHY MIGRATING TO ZUUL V3 ? ▪ Scalable & Distributed ▪ Ansible way ▪ No more Jenkins! ▪ GitHub integration ▪ And more... 24
2018: ZUUL V3 + OPENSTACK Gerrit Code review Zuul v3 Serial Gating Nodepool Managing node resources Openstack Cloud Platform 25
2018: ZUUL V3 QUICK LOOK Zuul Zuul Zuul Zuul Web Scheduler Merger Executor Nodepool Nodepool Launcher Builder Openstack Cloud Platform 26
2018: ZUUL V3 AT LEBONCOIN +++ +++ +++ +++ Web Merger Executor Executor Merger Web Scheduler Scheduler Nodepool Nodepool Nodepool Nodepool Builder Launcher Launcher Builder Openstack Openstack DC1 DC2 27
OVERVIEW OF THE STACK CHANGES 2015 Gerrit git-review Code review review tooling Gerrit Zuul v3 Reno Code review Serial Gating Release Notes Sphinx Nodepool Documentation Jenkins Managing node resources Serial gating 2018 Openstack Cloud Platform 28
TIPS & TRICKS ! Read the doc & Benchmarking is code repos important Explicit naming Keep in touch with conventions the team (irc…) Keep an eye on it Fine tuning of tools Monit, graph... is authorized :) 29
THANKS! Any questions? @leboncoinEng “A man who has been through bitter experiences and travelled @openstack far enjoys even his sufferings after a time” Credits ― Homer, The Odyssey Slides by slidescarnival.com, CC-BY-4.0 Photographs by unsplash.com, licensed under Unsplash license 30
Recommend
More recommend