Session ID: SFO17-217
Session Name: Introducing Jobserv, a new CI system built with Containers and container orchestration technologies in mind - SFO17-217
Speaker: Andy Doan
Track: LTD
★ Session Summary ★
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/sfo17/sfo17-217/
Presentation:
Video: https://www.youtube.com/watch?v=KoYL5aP65o8
---------------------------------------------------
★ Event Details ★
Linaro Connect San Francisco 2017 (SFO17)
25-29 September 2017
Hyatt Regency San Francisco Airport
---------------------------------------------------
Keyword:
'http://www.linaro.org'
'http://connect.linaro.org'
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
2. ENGINEERS AND DEVICES
WORKING TOGETHER
About Me
● Wrote a bunch of the LAVA code in the early days
● Worked on the test automation of Ubuntu Phones
● Working on automation for Zephyr and MCUboot
I’ve basically spent the better part of 7 years fighting automation.
3. ENGINEERS AND DEVICES
WORKING TOGETHER
Why Would You Do This?
● We had a few “simple” requirements:
○ http://tinyurl.com/jobserv-readme
4. ENGINEERS AND DEVICES
WORKING TOGETHER
Why Not ${X}?
● CI has changed dramatically
○ It’s now a mission-critical piece of infrastructure
● Jenkins Can’t
○ Scale
○ Run in HA
○ Upgrades require stopping everything
○ Debugging is a nightmare
○ Plugin-Hell
● GitLab CI - tied to gitlab
○ Their runner is 750,000 lines. JobServ is 1,400 (the entire source is <8,000).
● BuildBot - very interesting project, not quite there though
● Almost everything has a server initiating an SSH connection to a worker
● Nobody has a “simulator”
5. ENGINEERS AND DEVICES
WORKING TOGETHER
Benefits For Users
● The Simulator is a killer feature
● At 8,000 lines of code it’s not complicated to poke around
○ Python makes this really easy compared to the Go alternatives
6. ENGINEERS AND DEVICES
WORKING TOGETHER
Benefits for Admins
● Scales out horizontally
● Almost no single point of failure
○ NFS used for streaming console logs during a run
■ There’s no reason you couldn’t use Ceph/Gluster instead
○ MySql can be if not using something like Percona|Galera
● Multiple daemons
○ Logs easier to look at (look at the git-poller to see why git polling isn’t working)
○ “Top” gives a better picture
● Live updates: you can kill any component and in-progress Runs won’t fail
● “Surge Workers”
7. ENGINEERS AND DEVICES
WORKING TOGETHER
Example Projects
● https://github.com/linaro-technologies/jobserv/tree/master/examples/projects
10. ENGINEERS AND DEVICES
WORKING TOGETHER
This is a Standard Content Slide - Enter Title Here
● Enter bullet points here
● Add images on the right or below
12. ENGINEERS AND DEVICES
WORKING TOGETHER
This Slide is for when Two Columns are Needed
● You can use this for two columns
of bullets
● Or you can replace one column
with an image or diagram
● This could be a second column of
bullets
● Or it could be a table, image or
graphic