SlideShare une entreprise Scribd logo
1  sur  22
Continuous Integration
          For
Open Source Distributions


   Sriram Narayanan
   sriram@belenix.org
      @sriramnrn
About me


Belenix Tester + Developer



     Thoughtworker
Why we work on distros
●   Innovate
    ●   more versatile installation
    ●   faster boot up times
    ●   experimental drivers


●   Learn package management (Rolling updates!)


●   Learn how a distro works (LFS,BLFS + more)
Pain points for a Distro Maintainer
●   Repeat Tasks


●   Dependency Tracking and Management


●   Manual Testing
Pain points for a Distro Maintainer
●   Repeat Tasks
    ●   Track upstream changes and fixes
    ●   Regular Distro builds
    ●   Changelog and Release Notes
    ●   Documentation Updates


●   Dependency Tracking and Management


●   Manual Testing
Pain points for a Distro Maintainer
●   Repeat Tasks


●   Dependency Tracking and Management
    ●   Dependencies Expressed by not Tested
    ●   Insufficient Integration Tests
    ●   Heavily dependent on manual testing


●   Manual Testing
Pain points for a Distro Maintainer
●   Repeat Tasks
●   Dependency Tracking and Management
●   Manual Tests
    ●   Package Integration
    ●   Installation
    ●   Desktop Application Functionality
    ●   Service Functionality


    ●   Testing at too many levels
    ●   Not just exploratory (More exploratory is good)
Continuous Integration - Basics
●   “Integrate changes continuously”
●   Checkout source, make, make test, package
●   Usual Implementation
    ●   Automated Agents that perform tasks
    ●   Farm of Agents depending upon scale and budget
         –   Great for packaging multiple apps in parallel
         –   Parallel Tests
Continuous Integration - Benefits
●   Detect issues earlier
●   Package software earlier
●   Automate various tasks
    ●   Packaging
    ●   Testing
    ●   Integration
    ●   Generate ChangeLog + Release Notes skeleton
    ●   Pending Documentation Hints to Documentation
        Team
    ●   Build the ISO!
Continuous Integration Today
●   Isolated build environments
    ●   Based on chroot jails
    ●   Used by Fedora, Debian, Suse, et al
●   Continuous Integration servers
    ●   Jenkins/Hudson
    ●   Koji
    ●   Others (distro specific)
Continuous Integration
               – What's missing
●   Dependency awareness
    ●   A “Green” upstream should trigger downstream
        builds
    ●   Complex Dependency graph builds and tests
    ●   Prevents Automated Consolidation Releases



●   A Variety of Testing
    ●   “make test” is not enough!
Continuous Integration
                   – What's missing
 ●   Dependency Awareness
                                                                 httpd
                                                         apr

                                                               subversion




Image Credits: http://cd-with-thoughtworks-go.blogspot.in/
Why “make test” is not enough
        ./configure           make          make test          package



●   Tests the app only on the compiled system
●   No tests post installation
    ●    Packaging occurs after make test
    ●    Packaging errors are not detected
          –   Incorrect placement, ownership and permissions
          –   Conflicting requirements
          –   Missing files
●   Integration Tests needed
Testing


The Test Pyramid – Mike Cohn

                                        User
                                      Interface



                                    Service Layer
                                     (Integration)



                                         Unit



                    http://martinfowler.com/bliki/TestPyramid.html
About Unit Tests
●   Unit Tests
    ●   Requirements in executable form
    ●   Detect what exact functionality has broken
About Integration Tests


●   Service Level Tests
    ●   Is ComponentA correctly calling ComponentB?
    ●   Is ComponentA fulfilling its public API contract?
About UI Level Tests


●   Test End to End Functionality
    ●   e.g. Sahi based tests
What Tests tell you


●   UI Tests - “Something in this feature broke”


●   Integration Tests - “Component B returned an
    unexpected response to Component A”


●   Unit Tests - “When we introduce functionality
    requirement #13 into Component B, then our
    code causes requirements #7 and #9 to break”.
Post – Installation Integration Tests
●   CentOS package level tests
    ●   A good start!


●   Some useful tests for distro maintainers
        –   Is httpd able to serve files ? (selinux issues!)
        –   Is SSH accepting connections ?
        –   Did the network subsystem initialize correctly?
        –   Did the installer set the MBR + active partition correctly?
        –   Is the DNS server accepting queries ?
    ●   Is the application behaving as required?
CI in Belenix
 nginx
  httpd

postgres   WebStack
                                             Distro + package level
python                                     smoke tests


 shell
  httpd

   vi      Userland
                        Integration       Automated       Post Install
  awk                      Tests            Install         Tests



             ssh
                                      ●   Distro tests +
                                          Consolidation level
            kernel
                                          smoke tests
Roadmap - CI and Belenix
●   Package early
●   Consolidations – kernel, userland, subsystems
    (storage, firewall, load balancer)
●   Custom distros – CoreOS, storage, firewall,
    load balancer
    ●   Each with its own functional test suite!
●   CI for open source projects that we bundle
    ●   Potential inter-distro inter-project collaboration
Thanks!


www.belenix.org


   @belenix


 @sriramNRN

Contenu connexe

Tendances

Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svnAnkur Goyal
 
Hacking Jenkins
Hacking JenkinsHacking Jenkins
Hacking JenkinsMiro Cupak
 
Pipeline as code - new feature in Jenkins 2
Pipeline as code - new feature in Jenkins 2Pipeline as code - new feature in Jenkins 2
Pipeline as code - new feature in Jenkins 2Michal Ziarnik
 
Embrace Maven
Embrace MavenEmbrace Maven
Embrace MavenGuy Marom
 
Jenkins 101: Continuos Integration with Jenkins
Jenkins 101: Continuos Integration with JenkinsJenkins 101: Continuos Integration with Jenkins
Jenkins 101: Continuos Integration with JenkinsAll Things Open
 
Jenkins Meetup Pune
Jenkins Meetup PuneJenkins Meetup Pune
Jenkins Meetup PuneUmesh Kumhar
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on JenkinsKnoldus Inc.
 
Codifying the Build and Release Process with a Jenkins Pipeline Shared Library
Codifying the Build and Release Process with a Jenkins Pipeline Shared LibraryCodifying the Build and Release Process with a Jenkins Pipeline Shared Library
Codifying the Build and Release Process with a Jenkins Pipeline Shared LibraryAlvin Huang
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at ScaleKris Buytaert
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins UsersJules Pierre-Louis
 
JavaOne 2016 - Pipeline as code
JavaOne 2016 - Pipeline as codeJavaOne 2016 - Pipeline as code
JavaOne 2016 - Pipeline as codeBert Jan Schrijver
 
CI/CD on Android project via Jenkins Pipeline
CI/CD on Android project via Jenkins PipelineCI/CD on Android project via Jenkins Pipeline
CI/CD on Android project via Jenkins PipelineVeaceslav Gaidarji
 
Continuous integration with teamcity
Continuous integration with teamcityContinuous integration with teamcity
Continuous integration with teamcityEugene Sheretov
 
Continuous Development Pipeline
Continuous Development PipelineContinuous Development Pipeline
Continuous Development PipelineIzzet Mustafaiev
 
Building an Extensible, Resumable DSL on Top of Apache Groovy
Building an Extensible, Resumable DSL on Top of Apache GroovyBuilding an Extensible, Resumable DSL on Top of Apache Groovy
Building an Extensible, Resumable DSL on Top of Apache Groovyjgcloudbees
 
Supermondays: Jenkins CI lightning talk
Supermondays: Jenkins CI lightning talkSupermondays: Jenkins CI lightning talk
Supermondays: Jenkins CI lightning talkMichael Peacock
 
Visual Regression Testing: In search of an Ember solution
Visual Regression Testing: In search of an Ember solutionVisual Regression Testing: In search of an Ember solution
Visual Regression Testing: In search of an Ember solutionLisa Backer
 

Tendances (20)

Jenkins
JenkinsJenkins
Jenkins
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svn
 
Hacking Jenkins
Hacking JenkinsHacking Jenkins
Hacking Jenkins
 
Pipeline as code - new feature in Jenkins 2
Pipeline as code - new feature in Jenkins 2Pipeline as code - new feature in Jenkins 2
Pipeline as code - new feature in Jenkins 2
 
Embrace Maven
Embrace MavenEmbrace Maven
Embrace Maven
 
Jenkins 101: Continuos Integration with Jenkins
Jenkins 101: Continuos Integration with JenkinsJenkins 101: Continuos Integration with Jenkins
Jenkins 101: Continuos Integration with Jenkins
 
Jenkins Meetup Pune
Jenkins Meetup PuneJenkins Meetup Pune
Jenkins Meetup Pune
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
 
Codifying the Build and Release Process with a Jenkins Pipeline Shared Library
Codifying the Build and Release Process with a Jenkins Pipeline Shared LibraryCodifying the Build and Release Process with a Jenkins Pipeline Shared Library
Codifying the Build and Release Process with a Jenkins Pipeline Shared Library
 
Puppet & Jenkins
Puppet & JenkinsPuppet & Jenkins
Puppet & Jenkins
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at Scale
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 
JavaOne 2016 - Pipeline as code
JavaOne 2016 - Pipeline as codeJavaOne 2016 - Pipeline as code
JavaOne 2016 - Pipeline as code
 
CI/CD on Android project via Jenkins Pipeline
CI/CD on Android project via Jenkins PipelineCI/CD on Android project via Jenkins Pipeline
CI/CD on Android project via Jenkins Pipeline
 
Continuous integration with teamcity
Continuous integration with teamcityContinuous integration with teamcity
Continuous integration with teamcity
 
Continuous Development Pipeline
Continuous Development PipelineContinuous Development Pipeline
Continuous Development Pipeline
 
Building an Extensible, Resumable DSL on Top of Apache Groovy
Building an Extensible, Resumable DSL on Top of Apache GroovyBuilding an Extensible, Resumable DSL on Top of Apache Groovy
Building an Extensible, Resumable DSL on Top of Apache Groovy
 
Jenkins : Pipeline As Code
Jenkins : Pipeline As CodeJenkins : Pipeline As Code
Jenkins : Pipeline As Code
 
Supermondays: Jenkins CI lightning talk
Supermondays: Jenkins CI lightning talkSupermondays: Jenkins CI lightning talk
Supermondays: Jenkins CI lightning talk
 
Visual Regression Testing: In search of an Ember solution
Visual Regression Testing: In search of an Ember solutionVisual Regression Testing: In search of an Ember solution
Visual Regression Testing: In search of an Ember solution
 

Similaire à Continuous Integration For Open Source Distributions

Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08Борис Зора
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsMichael Lihs
 
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Jenkinsconf Presentation - Advance jenkins management with multiple projects.Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Jenkinsconf Presentation - Advance jenkins management with multiple projects.Ohad Basan
 
Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdfMahmoudAlnmr1
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build testLen Bass
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of LifeMelissa Benua
 
Software Delivery in 2016 - A Continuous Delivery Approach
Software Delivery in 2016 - A Continuous Delivery ApproachSoftware Delivery in 2016 - A Continuous Delivery Approach
Software Delivery in 2016 - A Continuous Delivery ApproachGiovanni Toraldo
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDBatyr Nuryyev
 
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile wayContinuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile wayLeonard Fingerman
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDNEdmund Turbin
 
Automated testing DrupalCamp in Asheville
Automated testing DrupalCamp in AshevilleAutomated testing DrupalCamp in Asheville
Automated testing DrupalCamp in AshevillePromet Source
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkinsAbe Diaz
 
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus Binary Studio
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...CloudBees
 

Similaire à Continuous Integration For Open Source Distributions (20)

Integration testing - A&BP CC
Integration testing - A&BP CCIntegration testing - A&BP CC
Integration testing - A&BP CC
 
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Jenkinsconf Presentation - Advance jenkins management with multiple projects.Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
 
Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdf
 
jenkins.pdf
jenkins.pdfjenkins.pdf
jenkins.pdf
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
Continuous testing
Continuous testingContinuous testing
Continuous testing
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
 
Cloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak KoyuncuCloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak Koyuncu
 
Software Delivery in 2016 - A Continuous Delivery Approach
Software Delivery in 2016 - A Continuous Delivery ApproachSoftware Delivery in 2016 - A Continuous Delivery Approach
Software Delivery in 2016 - A Continuous Delivery Approach
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile wayContinuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDN
 
Automated testing DrupalCamp in Asheville
Automated testing DrupalCamp in AshevilleAutomated testing DrupalCamp in Asheville
Automated testing DrupalCamp in Asheville
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
 
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
 

Plus de Sriram Narayanan

Making cd happen thought works talks tech 27 march 2019
Making cd happen   thought works talks tech 27 march 2019Making cd happen   thought works talks tech 27 march 2019
Making cd happen thought works talks tech 27 march 2019Sriram Narayanan
 
Migrating your it policies to the cloud
Migrating your it policies to the cloudMigrating your it policies to the cloud
Migrating your it policies to the cloudSriram Narayanan
 
Segregation of Duties and Continuous Delivery
Segregation of Duties and Continuous DeliverySegregation of Duties and Continuous Delivery
Segregation of Duties and Continuous DeliverySriram Narayanan
 
Linux – routing and firewall for beginners v 1.0
Linux – routing and firewall for beginners v 1.0Linux – routing and firewall for beginners v 1.0
Linux – routing and firewall for beginners v 1.0Sriram Narayanan
 

Plus de Sriram Narayanan (6)

Making cd happen thought works talks tech 27 march 2019
Making cd happen   thought works talks tech 27 march 2019Making cd happen   thought works talks tech 27 march 2019
Making cd happen thought works talks tech 27 march 2019
 
Standups
StandupsStandups
Standups
 
Migrating your it policies to the cloud
Migrating your it policies to the cloudMigrating your it policies to the cloud
Migrating your it policies to the cloud
 
Segregation of Duties and Continuous Delivery
Segregation of Duties and Continuous DeliverySegregation of Duties and Continuous Delivery
Segregation of Duties and Continuous Delivery
 
Linux – routing and firewall for beginners v 1.0
Linux – routing and firewall for beginners v 1.0Linux – routing and firewall for beginners v 1.0
Linux – routing and firewall for beginners v 1.0
 
Build your own san
Build your own sanBuild your own san
Build your own san
 

Continuous Integration For Open Source Distributions

  • 1. Continuous Integration For Open Source Distributions Sriram Narayanan sriram@belenix.org @sriramnrn
  • 2. About me Belenix Tester + Developer Thoughtworker
  • 3. Why we work on distros ● Innovate ● more versatile installation ● faster boot up times ● experimental drivers ● Learn package management (Rolling updates!) ● Learn how a distro works (LFS,BLFS + more)
  • 4. Pain points for a Distro Maintainer ● Repeat Tasks ● Dependency Tracking and Management ● Manual Testing
  • 5. Pain points for a Distro Maintainer ● Repeat Tasks ● Track upstream changes and fixes ● Regular Distro builds ● Changelog and Release Notes ● Documentation Updates ● Dependency Tracking and Management ● Manual Testing
  • 6. Pain points for a Distro Maintainer ● Repeat Tasks ● Dependency Tracking and Management ● Dependencies Expressed by not Tested ● Insufficient Integration Tests ● Heavily dependent on manual testing ● Manual Testing
  • 7. Pain points for a Distro Maintainer ● Repeat Tasks ● Dependency Tracking and Management ● Manual Tests ● Package Integration ● Installation ● Desktop Application Functionality ● Service Functionality ● Testing at too many levels ● Not just exploratory (More exploratory is good)
  • 8. Continuous Integration - Basics ● “Integrate changes continuously” ● Checkout source, make, make test, package ● Usual Implementation ● Automated Agents that perform tasks ● Farm of Agents depending upon scale and budget – Great for packaging multiple apps in parallel – Parallel Tests
  • 9. Continuous Integration - Benefits ● Detect issues earlier ● Package software earlier ● Automate various tasks ● Packaging ● Testing ● Integration ● Generate ChangeLog + Release Notes skeleton ● Pending Documentation Hints to Documentation Team ● Build the ISO!
  • 10. Continuous Integration Today ● Isolated build environments ● Based on chroot jails ● Used by Fedora, Debian, Suse, et al ● Continuous Integration servers ● Jenkins/Hudson ● Koji ● Others (distro specific)
  • 11. Continuous Integration – What's missing ● Dependency awareness ● A “Green” upstream should trigger downstream builds ● Complex Dependency graph builds and tests ● Prevents Automated Consolidation Releases ● A Variety of Testing ● “make test” is not enough!
  • 12. Continuous Integration – What's missing ● Dependency Awareness httpd apr subversion Image Credits: http://cd-with-thoughtworks-go.blogspot.in/
  • 13. Why “make test” is not enough ./configure make make test package ● Tests the app only on the compiled system ● No tests post installation ● Packaging occurs after make test ● Packaging errors are not detected – Incorrect placement, ownership and permissions – Conflicting requirements – Missing files ● Integration Tests needed
  • 14. Testing The Test Pyramid – Mike Cohn User Interface Service Layer (Integration) Unit http://martinfowler.com/bliki/TestPyramid.html
  • 15. About Unit Tests ● Unit Tests ● Requirements in executable form ● Detect what exact functionality has broken
  • 16. About Integration Tests ● Service Level Tests ● Is ComponentA correctly calling ComponentB? ● Is ComponentA fulfilling its public API contract?
  • 17. About UI Level Tests ● Test End to End Functionality ● e.g. Sahi based tests
  • 18. What Tests tell you ● UI Tests - “Something in this feature broke” ● Integration Tests - “Component B returned an unexpected response to Component A” ● Unit Tests - “When we introduce functionality requirement #13 into Component B, then our code causes requirements #7 and #9 to break”.
  • 19. Post – Installation Integration Tests ● CentOS package level tests ● A good start! ● Some useful tests for distro maintainers – Is httpd able to serve files ? (selinux issues!) – Is SSH accepting connections ? – Did the network subsystem initialize correctly? – Did the installer set the MBR + active partition correctly? – Is the DNS server accepting queries ? ● Is the application behaving as required?
  • 20. CI in Belenix nginx httpd postgres WebStack Distro + package level python smoke tests shell httpd vi Userland Integration Automated Post Install awk Tests Install Tests ssh ● Distro tests + Consolidation level kernel smoke tests
  • 21. Roadmap - CI and Belenix ● Package early ● Consolidations – kernel, userland, subsystems (storage, firewall, load balancer) ● Custom distros – CoreOS, storage, firewall, load balancer ● Each with its own functional test suite! ● CI for open source projects that we bundle ● Potential inter-distro inter-project collaboration
  • 22. Thanks! www.belenix.org @belenix @sriramNRN