XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contributions Through CI - Doug Goldstein, Rackspace

The Linux Foundation
The Linux FoundationDirector, Open Source Solutions at Citrix
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
STREAMLINING XEN PROJECT CONTRIBUTIONS
THROUGH CI
DOUG GOLDSTEIN
RACKSPACE
CARDOE@CARDOE.COM // CARDOE @FREENODE
JULY 2019
PROBABLY NOT.
“Back to the pile!”
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
ABOUT ME
▸ Site Reliability Engineer @ Rackspace
▸ Keeping VM hosts patched and happy
▸ Xen Project Contributor and Maintainer
▸ Maintainer for the GitLab and GitHub integration with
Wei Liu.
“Cloud gonna cloud.”
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
OVERVIEW
▸ Current workflow for patches
▸ The issues
▸ How some bots work
▸ Expanding on the vision
▸ Discussing how we get there
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
EXISTING WORKFLOW
▸ Follows git-flow https://nvie.com/posts/a-successful-git-
branching-model/
▸ committers commit to staging
▸ OSSTEST builds staging and commits to master
▸ freezes are established to let OSSTEST catch up
▸ release is cut
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
THE ISSUES
▸ Common theme from Nanjing: Freeze windows are too long.
▸ Merge skew / Schematic conflicts
▸ [17:00] Alice pulls staging & applies patch series which uses foo()
▸ [17:01] Alice begins local tests
▸ [17:05] Bob pull staging & renames foo() to bar()
▸ [17:06] Bob begins compile only tests
▸ [17:10] Bob’s code compiles, merge and push.
▸ [17:20] Alice creates a merge commit and pushes.
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
THE ISSUES CONT.
▸ Committers have different standards by which a commit is
mergeable.
▸ Committers could have the same standards but different
environments in which they verify changes.
▸ Time spent doing highly mechanical work instead of
technical work.
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
SOME BOT BASED APPROACHES
▸ Rust - bors. Example: https://github.com/rust-lang/rust/pull/59800
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
BORS CONT
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
BORS CONT
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
BORS CONT
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
BORS CONT.
▸ Bors merges to master
▸ Bors has priority values (security issues, scheduled
features)
▸ GitHub does not have this natively integrated so bots must
consume the API
▸ https://bors.tech
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
SOME BOT BASED APPROACHES CONT.
▸ GitLab - Merge Trains
MASTER
PR
1
PR
2
PR
3
MASTERPR
1
PR
2
PR
3
MASTER
+PR 1
PR
2
PR
3
MASTER
+PR 1
PR
3
PR 2
Xen-devel@
:patchew
or patchwork
Gitlab CI
submit only review
if tests pass
Fetches series/patches
create tmp
git tree
Build (distros, configs, compilers)
& smoke tests (x86 only for now)
Tested-by: bot
or NACKed-by: bot
commit as now
From Lars Kurth’s Xen Project Weather Report
2.0
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
STUMBLING BLOCKS
▸ Getting the patches
▸ patchew.org - no public API to get list of available
patches but mbox available by Message-ID
▸ lore.kernel.org - Atom feed to get data but HTML
escaped patches. No Message-ID.
▸ patchwork.kernel.org - Proposed changed by Wei to
support our use case haven’t had much traction
upstream
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
STUMBLING BLOCKS
▸ Tracking new versions of a series and updating the branch
▸ The amount of emails on the list
▸ How many will the bot add?
▸ How many repos get patches sent to the xen-devel@ list.
WILL ROBOTS AUTOMATE YOUR JOB AWAY?
PROJECT GANIS
▸ Named after the kingdom that King Bors rules from
Arthurian legends.
▸ Aims to start running along side the existing workflow for a
time period until the Xen Project is comfortable with the
results
▸ Design Session: Xen Project CI Infrastructure v2
QUESTIONS?
1 of 18

More Related Content

What's hot(20)

Intro to Github Actions @likecoinIntro to Github Actions @likecoin
Intro to Github Actions @likecoin
William Chong202 views
Concourse webhookConcourse webhook
Concourse webhook
Gwenn Etourneau3.8K views
Concourse and DatabaseConcourse and Database
Concourse and Database
Gwenn Etourneau1.7K views
Using GitLab CIUsing GitLab CI
Using GitLab CI
ColCh9.9K views
Juc boston2014.pptxJuc boston2014.pptx
Juc boston2014.pptx
Brandon Mueller3.2K views
Route service-pcf-techmeetupRoute service-pcf-techmeetup
Route service-pcf-techmeetup
Gwenn Etourneau518 views
ConcourseCI love MinioConcourseCI love Minio
ConcourseCI love Minio
Gwenn Etourneau1.8K views
Jenkins vs GitLab CIJenkins vs GitLab CI
Jenkins vs GitLab CI
CEE-SEC(R)5.4K views
Devops Porto - CI/CD at GitlabDevops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at Gitlab
Filipa Lacerda6K views
GitHub Actions - Melbourne UGGitHub Actions - Melbourne UG
GitHub Actions - Melbourne UG
Natraj Yegnaraman199 views
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHub
Liam Dempsey3.1K views
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
Knoldus Inc.3.2K views
Resolving xcode git merge conflictResolving xcode git merge conflict
Resolving xcode git merge conflict
Ricardo Pramana Suranta5.2K views
FOSDEM 2017:  GitLab CIFOSDEM 2017:  GitLab CI
FOSDEM 2017: GitLab CI
OlinData1.1K views

Similar to XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contributions Through CI - Doug Goldstein, Rackspace

Gitlab and LingvokotGitlab and Lingvokot
Gitlab and LingvokotLingvokot
597 views49 slides
Wokshop de Git Wokshop de Git
Wokshop de Git Alberto Leal
401 views48 slides
Dockercon2015 bambooDockercon2015 bamboo
Dockercon2015 bambooSteve Smith
27.9K views32 slides

Similar to XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contributions Through CI - Doug Goldstein, Rackspace(20)

Gitlab and LingvokotGitlab and Lingvokot
Gitlab and Lingvokot
Lingvokot597 views
Wokshop de Git Wokshop de Git
Wokshop de Git
Alberto Leal401 views
Git Going with DVCS v1.6.0Git Going with DVCS v1.6.0
Git Going with DVCS v1.6.0
Matthew McCullough1.3K views
Dockercon2015 bambooDockercon2015 bamboo
Dockercon2015 bamboo
Steve Smith27.9K views
Unlimited Staging EnvironmentsUnlimited Staging Environments
Unlimited Staging Environments
Codefresh2.8K views
빈스톡 첫인상 with Git빈스톡 첫인상 with Git
빈스톡 첫인상 with Git
AWSKRUG - AWS한국사용자모임2.8K views
Github github-githubGithub github-github
Github github-github
fusion20112.3K views
Git Started With GitGit Started With Git
Git Started With Git
Nick Quaranto8.1K views
GitGit
Git
Shinu Suresh769 views
Becoming a Git MasterBecoming a Git Master
Becoming a Git Master
Nicola Paolucci935 views
Untangling fall2017 week2Untangling fall2017 week2
Untangling fall2017 week2
Derek Jacoby168 views
Untangling fall2017 week2_try2Untangling fall2017 week2_try2
Untangling fall2017 week2_try2
Derek Jacoby309 views
Continuos Integration @KnetminerContinuos Integration @Knetminer
Continuos Integration @Knetminer
Rothamsted Research, UK405 views
Capistrano for non-rubyistCapistrano for non-rubyist
Capistrano for non-rubyist
Dimitris Tsironis1.3K views
Jedi Mind Tricks for GitJedi Mind Tricks for Git
Jedi Mind Tricks for Git
Jan Krag2K views
The journey to GitOpsThe journey to GitOps
The journey to GitOps
Nicola Baldi327 views
Using Github for DSpace developmentUsing Github for DSpace development
Using Github for DSpace development
Bram Luyten1.8K views
Introduction to GitIntroduction to Git
Introduction to Git
Rick Umali933 views

More from The Linux Foundation(20)

ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
The Linux Foundation4.1K views
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
The Linux Foundation923 views

XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contributions Through CI - Doug Goldstein, Rackspace

  • 1. WILL ROBOTS AUTOMATE YOUR JOB AWAY? STREAMLINING XEN PROJECT CONTRIBUTIONS THROUGH CI DOUG GOLDSTEIN RACKSPACE CARDOE@CARDOE.COM // CARDOE @FREENODE JULY 2019
  • 3. WILL ROBOTS AUTOMATE YOUR JOB AWAY? ABOUT ME ▸ Site Reliability Engineer @ Rackspace ▸ Keeping VM hosts patched and happy ▸ Xen Project Contributor and Maintainer ▸ Maintainer for the GitLab and GitHub integration with Wei Liu. “Cloud gonna cloud.”
  • 4. WILL ROBOTS AUTOMATE YOUR JOB AWAY? OVERVIEW ▸ Current workflow for patches ▸ The issues ▸ How some bots work ▸ Expanding on the vision ▸ Discussing how we get there
  • 5. WILL ROBOTS AUTOMATE YOUR JOB AWAY? EXISTING WORKFLOW ▸ Follows git-flow https://nvie.com/posts/a-successful-git- branching-model/ ▸ committers commit to staging ▸ OSSTEST builds staging and commits to master ▸ freezes are established to let OSSTEST catch up ▸ release is cut
  • 6. WILL ROBOTS AUTOMATE YOUR JOB AWAY? THE ISSUES ▸ Common theme from Nanjing: Freeze windows are too long. ▸ Merge skew / Schematic conflicts ▸ [17:00] Alice pulls staging & applies patch series which uses foo() ▸ [17:01] Alice begins local tests ▸ [17:05] Bob pull staging & renames foo() to bar() ▸ [17:06] Bob begins compile only tests ▸ [17:10] Bob’s code compiles, merge and push. ▸ [17:20] Alice creates a merge commit and pushes.
  • 7. WILL ROBOTS AUTOMATE YOUR JOB AWAY? THE ISSUES CONT. ▸ Committers have different standards by which a commit is mergeable. ▸ Committers could have the same standards but different environments in which they verify changes. ▸ Time spent doing highly mechanical work instead of technical work.
  • 8. WILL ROBOTS AUTOMATE YOUR JOB AWAY? SOME BOT BASED APPROACHES ▸ Rust - bors. Example: https://github.com/rust-lang/rust/pull/59800
  • 9. WILL ROBOTS AUTOMATE YOUR JOB AWAY? BORS CONT
  • 10. WILL ROBOTS AUTOMATE YOUR JOB AWAY? BORS CONT
  • 11. WILL ROBOTS AUTOMATE YOUR JOB AWAY? BORS CONT
  • 12. WILL ROBOTS AUTOMATE YOUR JOB AWAY? BORS CONT. ▸ Bors merges to master ▸ Bors has priority values (security issues, scheduled features) ▸ GitHub does not have this natively integrated so bots must consume the API ▸ https://bors.tech
  • 13. WILL ROBOTS AUTOMATE YOUR JOB AWAY? SOME BOT BASED APPROACHES CONT. ▸ GitLab - Merge Trains MASTER PR 1 PR 2 PR 3 MASTERPR 1 PR 2 PR 3 MASTER +PR 1 PR 2 PR 3 MASTER +PR 1 PR 3 PR 2
  • 14. Xen-devel@ :patchew or patchwork Gitlab CI submit only review if tests pass Fetches series/patches create tmp git tree Build (distros, configs, compilers) & smoke tests (x86 only for now) Tested-by: bot or NACKed-by: bot commit as now From Lars Kurth’s Xen Project Weather Report 2.0
  • 15. WILL ROBOTS AUTOMATE YOUR JOB AWAY? STUMBLING BLOCKS ▸ Getting the patches ▸ patchew.org - no public API to get list of available patches but mbox available by Message-ID ▸ lore.kernel.org - Atom feed to get data but HTML escaped patches. No Message-ID. ▸ patchwork.kernel.org - Proposed changed by Wei to support our use case haven’t had much traction upstream
  • 16. WILL ROBOTS AUTOMATE YOUR JOB AWAY? STUMBLING BLOCKS ▸ Tracking new versions of a series and updating the branch ▸ The amount of emails on the list ▸ How many will the bot add? ▸ How many repos get patches sent to the xen-devel@ list.
  • 17. WILL ROBOTS AUTOMATE YOUR JOB AWAY? PROJECT GANIS ▸ Named after the kingdom that King Bors rules from Arthurian legends. ▸ Aims to start running along side the existing workflow for a time period until the Xen Project is comfortable with the results ▸ Design Session: Xen Project CI Infrastructure v2