the odyssey zuul and other openstack …...the odyssey “the journey is the thing” keeping it...

30
AND OTHER OPENSTACK TOOLS ZUUL USAGE AT LEBONCOIN: THE ODYSSEY

Upload: others

Post on 05-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

AND OTHER OPENSTACK TOOLSZUUL

USAGE AT LEBONCOIN:THE ODYSSEY

Page 2: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

HELLO!

2

SoniaOuchtar

@iizuna_k

GuillaumeChenuet

@gchenuet

BenoîtBayszczak

@bbayszczak

ThierryCarrez

@tcarrez

Page 3: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

1.ONCE UPON A TIMEA quick history of OpenStack dev tools

Page 4: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

GATING FROM DAY 0

bzr

LaunchpadCode review

4

DistributedVCS

TarmacBasic serial gating

TarmacBranch merging

Page 5: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

DAY 1: FORMAL GATING

bzr

LaunchpadCode review

5

DistributedVCS

TarmacBranch merging

JenkinsSerial gating

Page 6: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

DAY 1: FORMAL GATING

bzr

LaunchpadCode review

6

DistributedVCS

TarmacBranch merging

JenkinsSerial gating

JenkinsPost-merge jobs

Page 7: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

DAY 2: ADDING CHECKS

git

GerritCode review

7

GerritBranch merging

DistributedVCS

JenkinsSerial gating

JenkinsPost-merge jobs

JenkinsCheck tests

Page 8: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

GerritBranch merging

DAY 3: ZUUL

git

GerritCode review

8

DistributedVCS

ZuulSpeculative gating

ZuulPost-merge jobs

ZuulCheck tests

Page 9: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

DAY 4: AUTOMATE ALL THE THINGS

▪ Documentation (sphinx)▪ Release requests▪ Release notes (reno)▪ Release highlights

9

Page 10: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

2.LEBONCOIN"Is that about Blockchain ?!"

Page 11: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

EASE LOCAL TRANSACTIONleboncoin 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

Page 12: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

28,000,000+Monthly unique users

5thBrowsed website in France

27,000,000+Active classified ads

12

Page 13: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

5,000+Reviews*

150+Developers**

16,000+Package builds*

13

17,000+Patchsets*

20,000+Deployments*

** Not per month

7EngProd members**

* Per month

Page 14: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

3.THE ODYSSEY“The journey is the thing”

Page 15: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

KEEPING IT SIMPLEYEAR AFTER YEAR

2016 20182017

15

2015

Page 16: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

2015: THE ORIGIN

GerritCode review

16

JenkinsSerial gating

Page 17: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

2016: FORMAL TOOLING

GerritCode review

17

JJBJobs descriptions

JenkinsSerial gating

RenoRelease Notes

SphinxDocumentation

git-reviewCode review tooling

Page 18: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

2017: ZUULGame on !

18

Page 19: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

2017: GATING LIMITATION

GerritCode review

19

JenkinsMaster instance

JenkinsSlave worker

JenkinsSlave worker

JenkinsSlave worker

JenkinsSlave worker

JenkinsSlave worker

JenkinsSlave worker

Page 20: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

2017: GATING LIMITATION

GerritCode review

20

JenkinsMaster instance

JenkinsMaster instance

JenkinsMaster instance

Page 21: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

2017: ZUUL GATING

GerritCode review

21

ZuulSerial gating

JenkinsMaster instance

JenkinsMaster instance

JenkinsMaster instance

Page 22: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

GerritChange merging

2017: ZUUL PIPELINES

git

GerritCode review

22

DistributedVCS

ZuulPost-merge pipeline

ZuulQuality pipeline

ZuulBuild pipeline

ZuulIntegration pipeline

ZuulTag release pipeline

Tests jobs

Post-merge jobs

Post-commit jobs

Page 23: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

2018: ZUUL V3Level-up !

23

Page 24: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

2018: WHY MIGRATING TO ZUUL V3 ?

▪ Scalable & Distributed

▪ Ansible way

▪ No more Jenkins!

▪ GitHub integration

▪ And more...

24

Page 25: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

2018: ZUUL V3 + OPENSTACK

OpenstackCloud Platform

NodepoolManaging node resources

Zuul v3Serial Gating

GerritCode review

25

Page 26: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

2018: ZUUL V3 QUICK LOOK

26

OpenstackCloud Platform

NodepoolBuilder

NodepoolLauncher

ZuulWeb

ZuulExecutor

ZuulScheduler

ZuulMerger

Page 27: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

2018: ZUUL V3 AT LEBONCOIN

27

OpenstackDC2

NodepoolLauncher

Web

+++

OpenstackDC1

NodepoolBuilder

SchedulerExecutor Merger

NodepoolBuilder

Executor

NodepoolLauncher

MergerWeb Scheduler

+++++++++

Page 28: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

28

GerritCode review

JenkinsSerial gating

OpenstackCloud Platform

NodepoolManaging node resources

Zuul v3Serial Gating

GerritCode review

git-reviewreview tooling

SphinxDocumentation

RenoRelease Notes

2015

2018

OVERVIEW OF THE STACK CHANGES

Page 29: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

Read the doc & code repos

Fine tuning of tools is authorized :)

Explicit naming conventions

29

Benchmarking is important

Keep in touch with the team (irc…)

Keep an eye on itMonit, graph...

TIPS & TRICKS !

Page 30: THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT SIMPLE YEAR AFTER YEAR 2016 2017 2018 15 2015 2015: THE ORIGIN Gerrit Code review 16

THANKS!Any questions?

CreditsSlides by slidescarnival.com, CC-BY-4.0Photographs by unsplash.com, licensed under Unsplash license

30

@leboncoinEng

@openstack“A man who has been through bitter experiences and travelled far enjoys even his sufferings after a time”― Homer, The Odyssey