SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Taking the Long View: 
How the Oslo Program 
Reduces Technical Debt 
Doug Hellmann and Mark McLoughlin 
Kilo Design Summit 
November, 2014
Mission 
To produce a set of python libraries containing code 
shared by OpenStack projects. The APIs provided by 
these libraries should be high quality, stable, 
consistent, documented and generally applicable.
Project Motivation 
• Consistency for deployers 
• Consistency for developers 
• Identify and foster common patterns
Our Motivation 
"I cannot imagine the future, but I care about it. I know 
I am a part of a story that starts long before I can 
remember and continues long beyond when anyone 
will remember me. I sense that I am alive at a time of 
important change, and I feel a responsibility to make 
sure that the change comes out well. I plant my 
acorns knowing that I will never live to harvest the 
oaks.” 
http://longnow.org/clock/
Early Days 
• Aug 2010 - Jay Pipes registers “openstack-common” on launchpad 
• Nov 2010 - Todd Wiley adds plugin handler code to Bexar 
• Dec 2010 - Jay Pipes adds early configuration library 
• Summer 2011 - Brian Lamar starts database modules 
• Oct 2011 - First summit session at Essex summit
Essex - Folsom 
• Nov 2011 - Jason Koelker creates openstack-common repository; Mark 
McLoughlin proposes configuration management module 
• Essex Release - Common libraries included in release notes 
• Folsom Summit - "managed copy and paste" concepts; work on pbr 
library begins 
• Aug 2012 - Project granted PTL for Grizzly
Grizzly 
• Mark McLoughlin elected the team’s first PTL 
• Adopt name “Oslo” 
• Team grows 
• Define our mission statement 
• Release oslo.config library 
• Rename openstack-common repository to oslo-incubator
Havana - Juno 
• Havana - Release oslo.messaging; improve incubation tools 
• Icehouse - oslo.messaging adoption; evolution of tools and processes; 
oslo.db team forms 
• Juno - Major graduation push results in 7 new libraries; Liaison program 
started
The Oslo Team 
• Generalist code reviewers 
• Specialist API maintainers
From Scratch 
• oslosphinx - documentation theme 
• pbr - packaging
Adopted 
• cliff - command line apps 
• stevedore - dynamic code loading 
• taskflow - job workflow 
• pylockfile - inter-process synchronization
Graduation Changes 
• Clean up configuration options 
• Provide configuration-free API? 
• Plug leaky APIs 
• Expand/contract API to meet needs of consumers 
• Name the library
funcutils 
importutils 
pycadf 
oslo.config 
oslo.messaging 
authutils 
cliff 
cliutils 
audit 
middleware/context 
cache 
lockutils 
periodic_task 
timeutils memorycache 
apiclient 
strutils 
gettextutils 
fileutils 
processutils 
cfgfilter 
config crypto 
db 
stevedore hooks 
imageutils 
excutils 
local 
log 
jsonutils 
sslutils 
network_utils 
log_handler 
notifier 
rpc 
context 
service 
versionutils 
zmq 
middleware 
policy 
quota 
reports 
rootwrap 
xmlutils 
eventlet_backdoor 
loopingcall 
requestutils 
threadgroup 
fixture 
test 
units 
uuidutils 
oslo.version 
oslo.vmware 
pbr 
scheduler 
taskflow
taskflow 
oslo.server oslo.serialization 
stevedore 
oslo.i18n 
oslo.utils 
oslo.concurrency 
oslo.io oslo.config 
oslo.crypto 
oslo.reports oslo.policy 
oslo.middleware 
oslo.messaging 
oslo.image 
oslo.cache 
oslo.quota 
oslo.vmware 
oslo.client 
PyCADF 
oslo.log 
oslo.db 
oslo.versionutils 
oslo.hooks 
New in Juno
Graduated Libraries 
• oslo.config 
• oslo.db 
• oslo.i18n 
• oslo.messaging 
• oslo.middleware 
• oslo.rootwrap 
• oslo.serialization 
• oslotest 
• oslo.utils
Beyond OpenStack 
• Upstream work: Bug fixes & Requirements 
• Outside contributors 
• Adoptions
Oslo & Python 3 
• Python 2.7 is receiving bug fixes, but no new 
features 
• Targeting Python 3.4 
• Bottom-up approach
oslo.middleware 
oslo.context 
taskflow 
oslo.messaging 
oslo.serialization 
oslo.i18n 
oslo.utils 
oslo.server stevedore 
oslo.concurrency 
oslo.io oslo.config 
oslo.crypto 
oslo.policy oslo.reports 
oslo.image 
oslo.cache 
oslo.log oslo.vmware 
oslo.client 
PyCADF 
oslo.quota oslo.db 
oslo.versionutils 
oslo.hooks 
Plans for Kilo
Getting Involved 
• Reviews! 
• Look for patterns in projects
Questions?

Contenu connexe

Tendances

Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesRiga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Claus Ibsen
 
Project RedDwarf - Database Services in the Cloud.pptx
Project RedDwarf - Database Services in the Cloud.pptxProject RedDwarf - Database Services in the Cloud.pptx
Project RedDwarf - Database Services in the Cloud.pptx
OpenStack Foundation
 

Tendances (20)

Serverless forwardjs
Serverless forwardjsServerless forwardjs
Serverless forwardjs
 
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesRiga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
 
Application Deployment and Management at Scale at 1&1
Application Deployment and Management at Scale at 1&1Application Deployment and Management at Scale at 1&1
Application Deployment and Management at Scale at 1&1
 
Zeppelin meetup 2016 madrid
Zeppelin meetup 2016 madridZeppelin meetup 2016 madrid
Zeppelin meetup 2016 madrid
 
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhereOpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
 
Network Infrastructure as Code with Chef and Cisco
Network Infrastructure as Code with Chef and CiscoNetwork Infrastructure as Code with Chef and Cisco
Network Infrastructure as Code with Chef and Cisco
 
Fission: Serverless Functions for Kubernetes
Fission: Serverless Functions for KubernetesFission: Serverless Functions for Kubernetes
Fission: Serverless Functions for Kubernetes
 
Ansible 2.0 - How to use Ansible to automate your applications in AWS.
Ansible 2.0 - How to use Ansible to automate your applications in AWS.Ansible 2.0 - How to use Ansible to automate your applications in AWS.
Ansible 2.0 - How to use Ansible to automate your applications in AWS.
 
Build your First IoT Application with IBM Watson IoT
Build your First IoT Application with IBM Watson IoTBuild your First IoT Application with IBM Watson IoT
Build your First IoT Application with IBM Watson IoT
 
Going serverless with aws
Going serverless with awsGoing serverless with aws
Going serverless with aws
 
Webinar - DreamObjects/Ceph Case Study
Webinar - DreamObjects/Ceph Case StudyWebinar - DreamObjects/Ceph Case Study
Webinar - DreamObjects/Ceph Case Study
 
Architecting a Cloud Native Internet Archive
Architecting a Cloud Native Internet ArchiveArchitecting a Cloud Native Internet Archive
Architecting a Cloud Native Internet Archive
 
DEVNET-1007 Network Infrastructure as Code with Chef and Cisco
DEVNET-1007	Network Infrastructure as Code with Chef and CiscoDEVNET-1007	Network Infrastructure as Code with Chef and Cisco
DEVNET-1007 Network Infrastructure as Code with Chef and Cisco
 
Securing & Monitoring Your K8s Cluster with RBAC and Prometheus”.
Securing & Monitoring Your K8s Cluster with RBAC and Prometheus”.Securing & Monitoring Your K8s Cluster with RBAC and Prometheus”.
Securing & Monitoring Your K8s Cluster with RBAC and Prometheus”.
 
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NETBuilding a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
 
Project RedDwarf - Database Services in the Cloud.pptx
Project RedDwarf - Database Services in the Cloud.pptxProject RedDwarf - Database Services in the Cloud.pptx
Project RedDwarf - Database Services in the Cloud.pptx
 
Netflix: From Zero to Production-Ready in Minutes (QCon 2017)
Netflix: From Zero to Production-Ready in Minutes (QCon 2017)Netflix: From Zero to Production-Ready in Minutes (QCon 2017)
Netflix: From Zero to Production-Ready in Minutes (QCon 2017)
 
Kubernetes meetup - 2018-05-23
Kubernetes meetup - 2018-05-23Kubernetes meetup - 2018-05-23
Kubernetes meetup - 2018-05-23
 
Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti...
Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti...Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti...
Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti...
 
Cassandra Day Denver 2014: Setting up a DataStax Enterprise Instance on Micro...
Cassandra Day Denver 2014: Setting up a DataStax Enterprise Instance on Micro...Cassandra Day Denver 2014: Setting up a DataStax Enterprise Instance on Micro...
Cassandra Day Denver 2014: Setting up a DataStax Enterprise Instance on Micro...
 

Similaire à Taking the Long View: How the Oslo Program Reduces Technical Debt

Mix-IT - Des Produits avec des Equipes Distribuées
Mix-IT - Des Produits avec des Equipes DistribuéesMix-IT - Des Produits avec des Equipes Distribuées
Mix-IT - Des Produits avec des Equipes Distribuées
Alexis Monville
 
Native OSGi, Modular Software Development in a Native World - Alexander Broek...
Native OSGi, Modular Software Development in a Native World - Alexander Broek...Native OSGi, Modular Software Development in a Native World - Alexander Broek...
Native OSGi, Modular Software Development in a Native World - Alexander Broek...
mfrancis
 
OpenNaaS Overview Complete
OpenNaaS Overview CompleteOpenNaaS Overview Complete
OpenNaaS Overview Complete
Joan Garcia
 

Similaire à Taking the Long View: How the Oslo Program Reduces Technical Debt (20)

Oslo Program Overview, OpenStack Atlanta
Oslo Program Overview, OpenStack AtlantaOslo Program Overview, OpenStack Atlanta
Oslo Program Overview, OpenStack Atlanta
 
OpenStack Documentation in the Open
OpenStack Documentation in the OpenOpenStack Documentation in the Open
OpenStack Documentation in the Open
 
OpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesOpenStack Documentation Projects and Processes
OpenStack Documentation Projects and Processes
 
Oslo Vancouver Onboarding
Oslo Vancouver OnboardingOslo Vancouver Onboarding
Oslo Vancouver Onboarding
 
Common Libraries Updates - Juno Edition
Common Libraries Updates - Juno Edition Common Libraries Updates - Juno Edition
Common Libraries Updates - Juno Edition
 
OpenStack Doc Overview for Boot Camp
OpenStack Doc Overview for Boot CampOpenStack Doc Overview for Boot Camp
OpenStack Doc Overview for Boot Camp
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
 
Openstack – An introduction
Openstack – An introductionOpenstack – An introduction
Openstack – An introduction
 
BP-10 Keeping Your Sanity – Rapid Development & Deployment Tools
BP-10 Keeping Your Sanity – Rapid Development & Deployment ToolsBP-10 Keeping Your Sanity – Rapid Development & Deployment Tools
BP-10 Keeping Your Sanity – Rapid Development & Deployment Tools
 
Mix-IT - Des Produits avec des Equipes Distribuées
Mix-IT - Des Produits avec des Equipes DistribuéesMix-IT - Des Produits avec des Equipes Distribuées
Mix-IT - Des Produits avec des Equipes Distribuées
 
ScrumDay 2014 - Développer des produits avec des équipes distribuées - Alexis...
ScrumDay 2014 - Développer des produits avec des équipes distribuées - Alexis...ScrumDay 2014 - Développer des produits avec des équipes distribuées - Alexis...
ScrumDay 2014 - Développer des produits avec des équipes distribuées - Alexis...
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
 
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 Openstack - An introduction/Installation - Presented at Dr Dobb's conference... Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 
Spring Roo Add-On Development & Distribution
Spring Roo Add-On Development & DistributionSpring Roo Add-On Development & Distribution
Spring Roo Add-On Development & Distribution
 
Building Applications using Apache Hadoop
Building Applications using Apache HadoopBuilding Applications using Apache Hadoop
Building Applications using Apache Hadoop
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018
 
DSpace Update from Open Repositories 2014
DSpace Update from Open Repositories 2014DSpace Update from Open Repositories 2014
DSpace Update from Open Repositories 2014
 
Native OSGi, Modular Software Development in a Native World - Alexander Broek...
Native OSGi, Modular Software Development in a Native World - Alexander Broek...Native OSGi, Modular Software Development in a Native World - Alexander Broek...
Native OSGi, Modular Software Development in a Native World - Alexander Broek...
 
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
 
OpenNaaS Overview Complete
OpenNaaS Overview CompleteOpenNaaS Overview Complete
OpenNaaS Overview Complete
 

Plus de doughellmann

How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...
doughellmann
 

Plus de doughellmann (14)

Reno: A new way to manage release notes
Reno: A new way to manage release notesReno: A new way to manage release notes
Reno: A new way to manage release notes
 
Reno A New Way to Manage Release Notes
Reno   A New Way to Manage Release NotesReno   A New Way to Manage Release Notes
Reno A New Way to Manage Release Notes
 
How OpenStack Makes Python Better (and vice-versa)
How OpenStack Makes Python Better (and vice-versa)How OpenStack Makes Python Better (and vice-versa)
How OpenStack Makes Python Better (and vice-versa)
 
How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...
 
Rolling with the Times: Using wheels, pbr, and Twine for Distributing and Ins...
Rolling with the Times: Using wheels, pbr, and Twine for Distributing and Ins...Rolling with the Times: Using wheels, pbr, and Twine for Distributing and Ins...
Rolling with the Times: Using wheels, pbr, and Twine for Distributing and Ins...
 
Herding cats into boxes
Herding cats into boxesHerding cats into boxes
Herding cats into boxes
 
How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...
 
OpenStack 5th Birthday
OpenStack 5th BirthdayOpenStack 5th Birthday
OpenStack 5th Birthday
 
Regexes and-performance-testing
Regexes and-performance-testingRegexes and-performance-testing
Regexes and-performance-testing
 
OpenStack Atlanta-2014-12-18
OpenStack Atlanta-2014-12-18OpenStack Atlanta-2014-12-18
OpenStack Atlanta-2014-12-18
 
Dynamic Code Patterns: Extending Your Applications with Plugins
Dynamic Code Patterns: Extending Your Applications with PluginsDynamic Code Patterns: Extending Your Applications with Plugins
Dynamic Code Patterns: Extending Your Applications with Plugins
 
Better Documentation Through Automation: Creating docutils & Sphinx Extensions
Better Documentation Through Automation: Creating docutils & Sphinx ExtensionsBetter Documentation Through Automation: Creating docutils & Sphinx Extensions
Better Documentation Through Automation: Creating docutils & Sphinx Extensions
 
Hidden Treasures of the Python Standard Library
Hidden Treasures of the Python Standard LibraryHidden Treasures of the Python Standard Library
Hidden Treasures of the Python Standard Library
 
An Introduction to the Zen of Python
An Introduction to the Zen of PythonAn Introduction to the Zen of Python
An Introduction to the Zen of Python
 

Dernier

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Dernier (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 

Taking the Long View: How the Oslo Program Reduces Technical Debt

  • 1. Taking the Long View: How the Oslo Program Reduces Technical Debt Doug Hellmann and Mark McLoughlin Kilo Design Summit November, 2014
  • 2. Mission To produce a set of python libraries containing code shared by OpenStack projects. The APIs provided by these libraries should be high quality, stable, consistent, documented and generally applicable.
  • 3. Project Motivation • Consistency for deployers • Consistency for developers • Identify and foster common patterns
  • 4. Our Motivation "I cannot imagine the future, but I care about it. I know I am a part of a story that starts long before I can remember and continues long beyond when anyone will remember me. I sense that I am alive at a time of important change, and I feel a responsibility to make sure that the change comes out well. I plant my acorns knowing that I will never live to harvest the oaks.” http://longnow.org/clock/
  • 5. Early Days • Aug 2010 - Jay Pipes registers “openstack-common” on launchpad • Nov 2010 - Todd Wiley adds plugin handler code to Bexar • Dec 2010 - Jay Pipes adds early configuration library • Summer 2011 - Brian Lamar starts database modules • Oct 2011 - First summit session at Essex summit
  • 6. Essex - Folsom • Nov 2011 - Jason Koelker creates openstack-common repository; Mark McLoughlin proposes configuration management module • Essex Release - Common libraries included in release notes • Folsom Summit - "managed copy and paste" concepts; work on pbr library begins • Aug 2012 - Project granted PTL for Grizzly
  • 7. Grizzly • Mark McLoughlin elected the team’s first PTL • Adopt name “Oslo” • Team grows • Define our mission statement • Release oslo.config library • Rename openstack-common repository to oslo-incubator
  • 8. Havana - Juno • Havana - Release oslo.messaging; improve incubation tools • Icehouse - oslo.messaging adoption; evolution of tools and processes; oslo.db team forms • Juno - Major graduation push results in 7 new libraries; Liaison program started
  • 9. The Oslo Team • Generalist code reviewers • Specialist API maintainers
  • 10. From Scratch • oslosphinx - documentation theme • pbr - packaging
  • 11. Adopted • cliff - command line apps • stevedore - dynamic code loading • taskflow - job workflow • pylockfile - inter-process synchronization
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. Graduation Changes • Clean up configuration options • Provide configuration-free API? • Plug leaky APIs • Expand/contract API to meet needs of consumers • Name the library
  • 17.
  • 18. funcutils importutils pycadf oslo.config oslo.messaging authutils cliff cliutils audit middleware/context cache lockutils periodic_task timeutils memorycache apiclient strutils gettextutils fileutils processutils cfgfilter config crypto db stevedore hooks imageutils excutils local log jsonutils sslutils network_utils log_handler notifier rpc context service versionutils zmq middleware policy quota reports rootwrap xmlutils eventlet_backdoor loopingcall requestutils threadgroup fixture test units uuidutils oslo.version oslo.vmware pbr scheduler taskflow
  • 19. taskflow oslo.server oslo.serialization stevedore oslo.i18n oslo.utils oslo.concurrency oslo.io oslo.config oslo.crypto oslo.reports oslo.policy oslo.middleware oslo.messaging oslo.image oslo.cache oslo.quota oslo.vmware oslo.client PyCADF oslo.log oslo.db oslo.versionutils oslo.hooks New in Juno
  • 20. Graduated Libraries • oslo.config • oslo.db • oslo.i18n • oslo.messaging • oslo.middleware • oslo.rootwrap • oslo.serialization • oslotest • oslo.utils
  • 21. Beyond OpenStack • Upstream work: Bug fixes & Requirements • Outside contributors • Adoptions
  • 22. Oslo & Python 3 • Python 2.7 is receiving bug fixes, but no new features • Targeting Python 3.4 • Bottom-up approach
  • 23. oslo.middleware oslo.context taskflow oslo.messaging oslo.serialization oslo.i18n oslo.utils oslo.server stevedore oslo.concurrency oslo.io oslo.config oslo.crypto oslo.policy oslo.reports oslo.image oslo.cache oslo.log oslo.vmware oslo.client PyCADF oslo.quota oslo.db oslo.versionutils oslo.hooks Plans for Kilo
  • 24. Getting Involved • Reviews! • Look for patterns in projects