THE ODYSSEY ZUUL AND OTHER OPENSTACK …...THE ODYSSEY “The journey is the thing” KEEPING IT...

Post on 05-Jun-2020

1 views 0 download

transcript

AND OTHER OPENSTACK TOOLSZUUL

USAGE AT LEBONCOIN:THE ODYSSEY

HELLO!

2

SoniaOuchtar

@iizuna_k

GuillaumeChenuet

@gchenuet

BenoîtBayszczak

@bbayszczak

ThierryCarrez

@tcarrez

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

GATING FROM DAY 0

bzr

LaunchpadCode review

4

DistributedVCS

TarmacBasic serial gating

TarmacBranch merging

DAY 1: FORMAL GATING

bzr

LaunchpadCode review

5

DistributedVCS

TarmacBranch merging

JenkinsSerial gating

DAY 1: FORMAL GATING

bzr

LaunchpadCode review

6

DistributedVCS

TarmacBranch merging

JenkinsSerial gating

JenkinsPost-merge jobs

DAY 2: ADDING CHECKS

git

GerritCode review

7

GerritBranch merging

DistributedVCS

JenkinsSerial gating

JenkinsPost-merge jobs

JenkinsCheck tests

GerritBranch merging

DAY 3: ZUUL

git

GerritCode review

8

DistributedVCS

ZuulSpeculative gating

ZuulPost-merge jobs

ZuulCheck tests

DAY 4: AUTOMATE ALL THE THINGS

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

9

2.LEBONCOIN"Is that about Blockchain ?!"

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

28,000,000+Monthly unique users

5thBrowsed website in France

27,000,000+Active classified ads

12

5,000+Reviews*

150+Developers**

16,000+Package builds*

13

17,000+Patchsets*

20,000+Deployments*

** Not per month

7EngProd members**

* Per month

3.THE ODYSSEY“The journey is the thing”

KEEPING IT SIMPLEYEAR AFTER YEAR

2016 20182017

15

2015

2015: THE ORIGIN

GerritCode review

16

JenkinsSerial gating

2016: FORMAL TOOLING

GerritCode review

17

JJBJobs descriptions

JenkinsSerial gating

RenoRelease Notes

SphinxDocumentation

git-reviewCode review tooling

2017: ZUULGame on !

18

2017: GATING LIMITATION

GerritCode review

19

JenkinsMaster instance

JenkinsSlave worker

JenkinsSlave worker

JenkinsSlave worker

JenkinsSlave worker

JenkinsSlave worker

JenkinsSlave worker

2017: GATING LIMITATION

GerritCode review

20

JenkinsMaster instance

JenkinsMaster instance

JenkinsMaster instance

2017: ZUUL GATING

GerritCode review

21

ZuulSerial gating

JenkinsMaster instance

JenkinsMaster instance

JenkinsMaster instance

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

2018: ZUUL V3Level-up !

23

2018: WHY MIGRATING TO ZUUL V3 ?

▪ Scalable & Distributed

▪ Ansible way

▪ No more Jenkins!

▪ GitHub integration

▪ And more...

24

2018: ZUUL V3 + OPENSTACK

OpenstackCloud Platform

NodepoolManaging node resources

Zuul v3Serial Gating

GerritCode review

25

2018: ZUUL V3 QUICK LOOK

26

OpenstackCloud Platform

NodepoolBuilder

NodepoolLauncher

ZuulWeb

ZuulExecutor

ZuulScheduler

ZuulMerger

2018: ZUUL V3 AT LEBONCOIN

27

OpenstackDC2

NodepoolLauncher

Web

+++

OpenstackDC1

NodepoolBuilder

SchedulerExecutor Merger

NodepoolBuilder

Executor

NodepoolLauncher

MergerWeb Scheduler

+++++++++

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

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 !

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