SlideShare a Scribd company logo
1 of 29
Download to read offline
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/

More Related Content

What's hot

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
 

What's hot (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
 

Similar to 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
 

Similar to 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
 

Recently uploaded

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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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 PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Recently uploaded (20)

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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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 PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

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/