SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Delivering a bleeding edge
community-led OpenStack distribution:
RDO
Chandan Kumar at FOSSASIA 2018
About me:
● RDO/OpenStack Contributor
● Software Engineer at Red Hat
About RDO
● The rpm based distribution of upstream OpenStack
● But also a group of Ridiculously Dedicated OpenStackers..
● Who are here to help you Rapidly Deploy OpenStack
● 350 + packages maintained, and growing
What’s in a package?
● <Name>-<Version>-<Release>.rpm
● Source + spec file = package
● Source -> upstream code
● List of included files
● What is in a spec file:
○ Building Steps
○ Installation/Removal steps
○ Dependencies
○ Patches
Packager == Spec Developer
● Version control (dist-git), on a public platform, community oriented
● Peer review
● Automated testing & validation of contributions (ie continuous integration), on a controlled testing
environment
● Smart merge management
● Responsible with system integration like: systemd unit or specific path etc.
● Follow upstream changes in order to validate spec files against them
● Release as closely as possible to upstream (esp. vulnerability or security fixes)
Packaging OpenStack
Current State till Queens release.
● 700+ projects
● 1600 + contributors
● 250 commits per day
● Releases every 6 months
Extra constraints for RDO Packagers
● Spec file validation on each commit merged
● Strong dependencies management between packages
● Test system should properly test and validate the package.
● Package upgrade should works smoothly.
● Making sure Package works on Fedora, Centos/RHEL
RDO releases status
Release Upstream OpenStack RDO releases Duration (in days)
Newton 06th Oct, 2016 07th Oct, 2017 1
Ocata 22nd Feb, 2017 22nd Feb, 2017 In 12 hours
Pike 30th Aug, 2017 01st Sept, 2017 In 2 days *
Queens 01st Mar, 2018 01st Mar, 2018 In 7 hours
* Production push ready on 28th Aug, 2017, Infra issues leads few days delay.
RDO got released on the same
day as upstream released? But
how it got possible?
How we made it possible?
● Building RPM Factory from Software Factory, RDO and community tools
● Started chasing the trunk
● Testing each commit as it merged upstream through puppet and Tripleo CI
● More scenario jobs leads to more robust openstack
● Catching issues early once a patch landed upstream through RDO third party CI.
● Improving RDO Production chain workflow
Community Tools: Koji and Centos Cloud Sig
● Koji is a software collection to build and store RPM packages in an isolated environment.
● Centos Build System: http://cbs.centos.org/koji/
● Centos Cloud Sig providing Centos Infra and CI to ship packages for stable releases.
● CICO <ci.centos.org> cloud for providing additional CI capacity.
● Dogfooding our own openstack through RDO Cloud
RDO Tools: DLRN
● Continuous Delivery Platform that takes every upstream commit and build it as a consumable package
for CI purpose
New commit current Consistent Current Passed CI
RDO CI
Upstream CI
(Tripleo, Kolla,
Puppet)every merged commit
or almost is built.
set of packages without
build failures
snapshot that passed CI
RDO Tools: rdopkg, rdoinfo, config and graffiti
● RPM packaging automation tool providing more power to packagers
● Automates most of the packaging tasks like requirements sync or flattening patch chains for
inclusion in specs
● rdoinfo is a git repo containing all the information about openstack packages and its dependencies
including maintainers, version, dist-git, upstream and a lot more.
● Graffiti is a utility tool in order to interact with koji to retrieve releases and tags
● Config: Treating each config changes for jobs and infra as code using git
RDO originated tools: WeiRDO
● Ansible-based framework using gate jobs and make them usable outside upstream gates
● Goal is to improve coverage upon what upstream provides.
provision
test
node
Setup
trunk
repositor
ies
Install
project
test
dependen
cies
execute
run_test.
sh
Deploy/c
onfigure
opensta
ck
Run
tempest
tests
recover
logs and
results
destroy
node
RDO originated tools: ARA
● Non-intrusive plugin to Ansible.
● Tool to records Ansible Playbook runs and provides intuitive interfaces to browse them.
● Used heavily in upstream CI and openstack-ansible project
● Look for ‘ara’ folder in CI logs
● Making it easier to end-user to trace errors
● Try out through $ pip install ara
Software Factory
● SF is a CI/CD platform based on OpenStack's own CI ("Infra")
● Code hosting and review (Gerrit)
● Jobs orchestration (Zuul & Jenkins)
● Project dependencies management when building testing environments (Zuul)
● Jobs executors spawned & terminated on demand on an OpenStack cloud (Nodepool)
● Smart commit gating (Zuul)
● config: everything as code
● Flexible workflow, based on reviewing and testing code prior to merging it
● Etherpad, pastebin, RepoXplorer and much more.
● Visualizing all the stuff through Kibana dashboard using opstools-ansible
Combining all to form RPM Factory
● rpmfactory : https://review.rdoproject.org
● The community platform for building RDO
● A Software Factory deployment branded for RDO
● Hosts all the distgit repositories + extra patches repositories
● All upstream changes acted upon with DLRN
● All distgit changes reviewed via Gerrit
● All distgit changes tested via Zuul + Jenkins + Nodepool + CBS
● New builds in CBS are automatically proposed when new releases are tagged upstream.
● Updating new versions of package for stable releases using bots
● Promoting new dependencies periodically in CBS through rdoinfo
RDO workflow overview
Resulted in
● Master/ stable-branches/promoted yum repositories served https://trunk.rdoproject.org
● Consuming each bits by tripleo, kolla, packstack and puppet CI which run against different
project’s submitted patches to find issues early
● Making it easy for installers to test against latest upstream code so that they can get released
shortly after the services.
● Testing different stacks in different fashion through periodic and scenario jobs.
● Testing upstream gates jobs out of the gate using Weirdo.
● Leads to delivering more robust RDO cloud on time.
RDO stats for Ocata
● ~919 commits
● ~86 contributors
● RDO Ocata packages were available less than 12h after upstream release
● ~230 build failures caught by DLRN
RDO stats and learnings from Pike
● 1000+ commits
● 172 contributors
● Released in 2 days due to infra issues providing lessons to improve our infra
● Learnings:
○ Enable more automation
○ Better planning to cover PTO
○ Pipeline release speed matter
RDO Stats/Upcoming challenges for Queens
● 22 new contributors
● We are back on Track by releasing RDO same day.
● Auto Version updates for packages and dependencies
● Testing each spec changes on Fedora and Centos Builder
● Introduced Test cloud to test RDO Queens Milestone releases
● Upcoming challenges:
○ Moving to Zuul v3
○ Python3 support
RDO Success Stories
● Cumulus Networks
● CERN
● Thoughtworks
● RDO Cloud on which develop OpenStack as well as running complete RDO infrastructure
● CentOS
● VEXXHOST
How to become a part of RDO
community?
Contributing to RDO also leads to
contributing to OpenStack.
How to contribute:
● Checkout https://www.rdoproject.org/easyfix/
● Participate in #rdo meeting every wednesday at 08:00 P.M. (IST) on #rdo IRC channel
● Help on migrating stuff to zuulv3 and Python3
● Improve RDO by participating in test days.
● Help us in improving RDO project documentation
● Look forward to improve Tripleo, Puppet-openstack, Kolla and OpenStack itself by taking a baby
step
● Join #RDO{user, dev} mailing list
Thanks
Questions?
Tweet at @chkumar246
References:
● https://www.rdoproject.org/
● https://softwarefactory-project.io/sf/welcome.html
● http://ara.readthedocs.io/en/latest/
● https://review.rdoproject.org/sf/welcome.html
● http://cistatus.tripleo.org/
● https://docs.openstack.org/infra/
● https://www.openstack.org/videos/boston-2017/how-rdo-uses-software-factory-and-ansible
● https://www.rdoproject.org/user-stories/
● https://blogs.rdoproject.org/
● http://openstack.redhat.com/contribute/mailing-lists/
● http://weirdo.readthedocs.io/en/latest/

Weitere ähnliche Inhalte

Was ist angesagt?

Become An OpenStack TripleO ATC - Easy As ABC
Become An OpenStack TripleO ATC - Easy As ABCBecome An OpenStack TripleO ATC - Easy As ABC
Become An OpenStack TripleO ATC - Easy As ABCK Rain Leander
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and TricksPhase2
 
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime
 
Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS
Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaSPrivate PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS
Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaSImesh Gunaratne
 
Implementing Progressive Delivery with Your Team (by Leigh Capili)
Implementing Progressive Delivery with Your Team (by Leigh Capili)Implementing Progressive Delivery with Your Team (by Leigh Capili)
Implementing Progressive Delivery with Your Team (by Leigh Capili)Weaveworks
 
Notary - container signing
Notary - container signingNotary - container signing
Notary - container signingMoby Project
 
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usageSFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usageLinaro
 
Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26
Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26
Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26Brian Rosmaita
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...Linaro
 
Putting The PaaS in OpenStack with Diane Mueller @RedHat
Putting The PaaS in OpenStack with Diane Mueller @RedHat Putting The PaaS in OpenStack with Diane Mueller @RedHat
Putting The PaaS in OpenStack with Diane Mueller @RedHat OpenShift Origin
 
Dockerize magento 2 24.02.2016
Dockerize magento 2   24.02.2016Dockerize magento 2   24.02.2016
Dockerize magento 2 24.02.2016Andreas Pointner
 
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Anne Nicolas
 
DockerCon 2016 Seattle Recap
DockerCon 2016 Seattle RecapDockerCon 2016 Seattle Recap
DockerCon 2016 Seattle RecapPhilipp Garbe
 
Logging presentation
Logging presentationLogging presentation
Logging presentationJatan Malde
 
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...OpenShift Origin
 
What you have to know about Certified Kubernetes Administrator (CKA)
What you have to know about Certified Kubernetes Administrator (CKA)What you have to know about Certified Kubernetes Administrator (CKA)
What you have to know about Certified Kubernetes Administrator (CKA)Opsta
 
News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26msohn
 

Was ist angesagt? (20)

Become An OpenStack TripleO ATC - Easy As ABC
Become An OpenStack TripleO ATC - Easy As ABCBecome An OpenStack TripleO ATC - Easy As ABC
Become An OpenStack TripleO ATC - Easy As ABC
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and Tricks
 
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
 
Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS
Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaSPrivate PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS
Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS
 
kpatch.kgraft
kpatch.kgraftkpatch.kgraft
kpatch.kgraft
 
Implementing Progressive Delivery with Your Team (by Leigh Capili)
Implementing Progressive Delivery with Your Team (by Leigh Capili)Implementing Progressive Delivery with Your Team (by Leigh Capili)
Implementing Progressive Delivery with Your Team (by Leigh Capili)
 
Docker off the grid
Docker off the gridDocker off the grid
Docker off the grid
 
Notary - container signing
Notary - container signingNotary - container signing
Notary - container signing
 
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usageSFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
 
Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26
Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26
Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
 
Putting The PaaS in OpenStack with Diane Mueller @RedHat
Putting The PaaS in OpenStack with Diane Mueller @RedHat Putting The PaaS in OpenStack with Diane Mueller @RedHat
Putting The PaaS in OpenStack with Diane Mueller @RedHat
 
Dockerize magento 2 24.02.2016
Dockerize magento 2   24.02.2016Dockerize magento 2   24.02.2016
Dockerize magento 2 24.02.2016
 
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
 
DockerCon 2016 Seattle Recap
DockerCon 2016 Seattle RecapDockerCon 2016 Seattle Recap
DockerCon 2016 Seattle Recap
 
Logging presentation
Logging presentationLogging presentation
Logging presentation
 
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
 
What you have to know about Certified Kubernetes Administrator (CKA)
What you have to know about Certified Kubernetes Administrator (CKA)What you have to know about Certified Kubernetes Administrator (CKA)
What you have to know about Certified Kubernetes Administrator (CKA)
 
App container rkt
App container rktApp container rkt
App container rkt
 
News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26
 

Ähnlich wie Delivering a bleeding edge community-led openstack distribution: RDO

Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017Jay Bryant
 
Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)Jay Bryant
 
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018Jay Bryant
 
Upcoming features in Airflow 2
Upcoming features in Airflow 2Upcoming features in Airflow 2
Upcoming features in Airflow 2Kaxil Naik
 
Cinder Project On-Boarding - OpenInfra Summit Denver 2019
Cinder Project On-Boarding - OpenInfra Summit Denver 2019Cinder Project On-Boarding - OpenInfra Summit Denver 2019
Cinder Project On-Boarding - OpenInfra Summit Denver 2019Jay Bryant
 
RootStack - Devfactory
RootStack - DevfactoryRootStack - Devfactory
RootStack - DevfactoryKangaroot
 
Truemotion Adventures in Containerization
Truemotion Adventures in ContainerizationTruemotion Adventures in Containerization
Truemotion Adventures in ContainerizationRyan Hunter
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebula Project
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...Oleg Shalygin
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthNicolas Brousse
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and HerokuTapio Rautonen
 
R, Git, Github, and CI
R, Git, Github, and CIR, Git, Github, and CI
R, Git, Github, and CIWush Wu
 
LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2Linaro
 
Bgoug 2019.11 building free, open-source, plsql products in cloud
Bgoug 2019.11   building free, open-source, plsql products in cloudBgoug 2019.11   building free, open-source, plsql products in cloud
Bgoug 2019.11 building free, open-source, plsql products in cloudJacek Gebal
 
Making your app soar without a container manifest
Making your app soar without a container manifestMaking your app soar without a container manifest
Making your app soar without a container manifestLibbySchulze
 

Ähnlich wie Delivering a bleeding edge community-led openstack distribution: RDO (20)

Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
 
Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)
 
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
 
RPM Factory for RDO
RPM Factory for RDORPM Factory for RDO
RPM Factory for RDO
 
Upcoming features in Airflow 2
Upcoming features in Airflow 2Upcoming features in Airflow 2
Upcoming features in Airflow 2
 
Cinder Project On-Boarding - OpenInfra Summit Denver 2019
Cinder Project On-Boarding - OpenInfra Summit Denver 2019Cinder Project On-Boarding - OpenInfra Summit Denver 2019
Cinder Project On-Boarding - OpenInfra Summit Denver 2019
 
RootStack - Devfactory
RootStack - DevfactoryRootStack - Devfactory
RootStack - Devfactory
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
 
Truemotion Adventures in Containerization
Truemotion Adventures in ContainerizationTruemotion Adventures in Containerization
Truemotion Adventures in Containerization
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
 
R, Git, Github, and CI
R, Git, Github, and CIR, Git, Github, and CI
R, Git, Github, and CI
 
LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2
 
Bgoug 2019.11 building free, open-source, plsql products in cloud
Bgoug 2019.11   building free, open-source, plsql products in cloudBgoug 2019.11   building free, open-source, plsql products in cloud
Bgoug 2019.11 building free, open-source, plsql products in cloud
 
Making your app soar without a container manifest
Making your app soar without a container manifestMaking your app soar without a container manifest
Making your app soar without a container manifest
 

Kürzlich hochgeladen

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Delivering a bleeding edge community-led openstack distribution: RDO

  • 1. Delivering a bleeding edge community-led OpenStack distribution: RDO Chandan Kumar at FOSSASIA 2018
  • 2. About me: ● RDO/OpenStack Contributor ● Software Engineer at Red Hat
  • 3. About RDO ● The rpm based distribution of upstream OpenStack ● But also a group of Ridiculously Dedicated OpenStackers.. ● Who are here to help you Rapidly Deploy OpenStack ● 350 + packages maintained, and growing
  • 4. What’s in a package? ● <Name>-<Version>-<Release>.rpm ● Source + spec file = package ● Source -> upstream code ● List of included files ● What is in a spec file: ○ Building Steps ○ Installation/Removal steps ○ Dependencies ○ Patches
  • 5. Packager == Spec Developer ● Version control (dist-git), on a public platform, community oriented ● Peer review ● Automated testing & validation of contributions (ie continuous integration), on a controlled testing environment ● Smart merge management ● Responsible with system integration like: systemd unit or specific path etc. ● Follow upstream changes in order to validate spec files against them ● Release as closely as possible to upstream (esp. vulnerability or security fixes)
  • 7. Current State till Queens release. ● 700+ projects ● 1600 + contributors ● 250 commits per day ● Releases every 6 months
  • 8. Extra constraints for RDO Packagers ● Spec file validation on each commit merged ● Strong dependencies management between packages ● Test system should properly test and validate the package. ● Package upgrade should works smoothly. ● Making sure Package works on Fedora, Centos/RHEL
  • 9. RDO releases status Release Upstream OpenStack RDO releases Duration (in days) Newton 06th Oct, 2016 07th Oct, 2017 1 Ocata 22nd Feb, 2017 22nd Feb, 2017 In 12 hours Pike 30th Aug, 2017 01st Sept, 2017 In 2 days * Queens 01st Mar, 2018 01st Mar, 2018 In 7 hours * Production push ready on 28th Aug, 2017, Infra issues leads few days delay.
  • 10. RDO got released on the same day as upstream released? But how it got possible?
  • 11. How we made it possible? ● Building RPM Factory from Software Factory, RDO and community tools ● Started chasing the trunk ● Testing each commit as it merged upstream through puppet and Tripleo CI ● More scenario jobs leads to more robust openstack ● Catching issues early once a patch landed upstream through RDO third party CI. ● Improving RDO Production chain workflow
  • 12. Community Tools: Koji and Centos Cloud Sig ● Koji is a software collection to build and store RPM packages in an isolated environment. ● Centos Build System: http://cbs.centos.org/koji/ ● Centos Cloud Sig providing Centos Infra and CI to ship packages for stable releases. ● CICO <ci.centos.org> cloud for providing additional CI capacity. ● Dogfooding our own openstack through RDO Cloud
  • 13. RDO Tools: DLRN ● Continuous Delivery Platform that takes every upstream commit and build it as a consumable package for CI purpose New commit current Consistent Current Passed CI RDO CI Upstream CI (Tripleo, Kolla, Puppet)every merged commit or almost is built. set of packages without build failures snapshot that passed CI
  • 14. RDO Tools: rdopkg, rdoinfo, config and graffiti ● RPM packaging automation tool providing more power to packagers ● Automates most of the packaging tasks like requirements sync or flattening patch chains for inclusion in specs ● rdoinfo is a git repo containing all the information about openstack packages and its dependencies including maintainers, version, dist-git, upstream and a lot more. ● Graffiti is a utility tool in order to interact with koji to retrieve releases and tags ● Config: Treating each config changes for jobs and infra as code using git
  • 15. RDO originated tools: WeiRDO ● Ansible-based framework using gate jobs and make them usable outside upstream gates ● Goal is to improve coverage upon what upstream provides. provision test node Setup trunk repositor ies Install project test dependen cies execute run_test. sh Deploy/c onfigure opensta ck Run tempest tests recover logs and results destroy node
  • 16. RDO originated tools: ARA ● Non-intrusive plugin to Ansible. ● Tool to records Ansible Playbook runs and provides intuitive interfaces to browse them. ● Used heavily in upstream CI and openstack-ansible project ● Look for ‘ara’ folder in CI logs ● Making it easier to end-user to trace errors ● Try out through $ pip install ara
  • 17. Software Factory ● SF is a CI/CD platform based on OpenStack's own CI ("Infra") ● Code hosting and review (Gerrit) ● Jobs orchestration (Zuul & Jenkins) ● Project dependencies management when building testing environments (Zuul) ● Jobs executors spawned & terminated on demand on an OpenStack cloud (Nodepool) ● Smart commit gating (Zuul) ● config: everything as code ● Flexible workflow, based on reviewing and testing code prior to merging it ● Etherpad, pastebin, RepoXplorer and much more. ● Visualizing all the stuff through Kibana dashboard using opstools-ansible
  • 18. Combining all to form RPM Factory ● rpmfactory : https://review.rdoproject.org ● The community platform for building RDO ● A Software Factory deployment branded for RDO ● Hosts all the distgit repositories + extra patches repositories ● All upstream changes acted upon with DLRN ● All distgit changes reviewed via Gerrit ● All distgit changes tested via Zuul + Jenkins + Nodepool + CBS ● New builds in CBS are automatically proposed when new releases are tagged upstream. ● Updating new versions of package for stable releases using bots ● Promoting new dependencies periodically in CBS through rdoinfo
  • 20. Resulted in ● Master/ stable-branches/promoted yum repositories served https://trunk.rdoproject.org ● Consuming each bits by tripleo, kolla, packstack and puppet CI which run against different project’s submitted patches to find issues early ● Making it easy for installers to test against latest upstream code so that they can get released shortly after the services. ● Testing different stacks in different fashion through periodic and scenario jobs. ● Testing upstream gates jobs out of the gate using Weirdo. ● Leads to delivering more robust RDO cloud on time.
  • 21. RDO stats for Ocata ● ~919 commits ● ~86 contributors ● RDO Ocata packages were available less than 12h after upstream release ● ~230 build failures caught by DLRN
  • 22. RDO stats and learnings from Pike ● 1000+ commits ● 172 contributors ● Released in 2 days due to infra issues providing lessons to improve our infra ● Learnings: ○ Enable more automation ○ Better planning to cover PTO ○ Pipeline release speed matter
  • 23. RDO Stats/Upcoming challenges for Queens ● 22 new contributors ● We are back on Track by releasing RDO same day. ● Auto Version updates for packages and dependencies ● Testing each spec changes on Fedora and Centos Builder ● Introduced Test cloud to test RDO Queens Milestone releases ● Upcoming challenges: ○ Moving to Zuul v3 ○ Python3 support
  • 24. RDO Success Stories ● Cumulus Networks ● CERN ● Thoughtworks ● RDO Cloud on which develop OpenStack as well as running complete RDO infrastructure ● CentOS ● VEXXHOST
  • 25. How to become a part of RDO community?
  • 26. Contributing to RDO also leads to contributing to OpenStack.
  • 27. How to contribute: ● Checkout https://www.rdoproject.org/easyfix/ ● Participate in #rdo meeting every wednesday at 08:00 P.M. (IST) on #rdo IRC channel ● Help on migrating stuff to zuulv3 and Python3 ● Improve RDO by participating in test days. ● Help us in improving RDO project documentation ● Look forward to improve Tripleo, Puppet-openstack, Kolla and OpenStack itself by taking a baby step ● Join #RDO{user, dev} mailing list
  • 29. References: ● https://www.rdoproject.org/ ● https://softwarefactory-project.io/sf/welcome.html ● http://ara.readthedocs.io/en/latest/ ● https://review.rdoproject.org/sf/welcome.html ● http://cistatus.tripleo.org/ ● https://docs.openstack.org/infra/ ● https://www.openstack.org/videos/boston-2017/how-rdo-uses-software-factory-and-ansible ● https://www.rdoproject.org/user-stories/ ● https://blogs.rdoproject.org/ ● http://openstack.redhat.com/contribute/mailing-lists/ ● http://weirdo.readthedocs.io/en/latest/