Top Banner
HOW OPENSTACK MAKES PYTHON BETTER (and vice-versa)
39

(and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

Feb 25, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

HOW OPENSTACK MAKES PYTHON BETTER(and vice-versa)

Page 2: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

Hello!I AM DOUG HELLMANN

Red HatTechnical Committee memberPSF Fellow@doughellmann on Twitterdhellmann on Freenode

Page 3: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

Hello!I AM THIERRY CARREZ

OpenStack Foundation staffTechnical Committee chairPSF Fellow@tcarrez on Twitterttx on Freenode

Page 4: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

1.OPENSTACK

A community-led project

Page 5: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

Electedteam leadershipProject teams select their own leaders every release cycle.

INDEPENDENT GOVERNANCE

Electedoversight boardOverall project leadership elected by the contributors every year.

Page 6: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

OUR BASE PRINCIPLES:THE FOUR OPENS

Open source

Open development

Opendesign

Open community

Page 7: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

THE BIG TENT

OpenStack is made of people

Page 8: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

2.WHAT PYTHON BRINGS TO OPENSTACK

Ease of Use & Inclusive Community

Page 9: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

WHY OPENSTACK CHOSE PYTHON

○ Distro integration○ Easy to read○ Easy to learn○ Easy to patch○ Ops familiarity

Page 10: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

WHY OPENSTACK KEPT PYTHON

○ Integration language○ PyPI ecosystem○ Easy to read○ Easy to learn○ Inclusive community

Page 11: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

3.WHAT OPENSTACK BRINGS TO PYTHON

Funding, Contributors, & Quality

Page 12: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

EXPERIENCE SOUGHT

○ Cloud / sysadmin / devops○ Technologies like storage or networking○ Python

Page 13: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

OPENSTACK & PYTHON JOBS

trends for jobs containing python, openstack, openstack python, storage, network, and virtualization from indeed.com

Page 14: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

SUPPLY & DEMAND

trends of salary index for python and openstack jobs from indeed.com

Page 15: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

EMPLOYER INDEPENDENCE

○ Community Member○ Reputation-based Influence○ Job Mobility

Page 16: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

INFLUX OF PYTHON DEVELOPERS

○ Converted from “Enterprise” languages○ Growing excited about Open Source○ Joining the Python Community

Page 17: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

QUALITY

Detecting regressions before anyone else

Page 18: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

23 000

Page 19: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

23 000

Number of test runs in OpenStackon a typical work day

Page 20: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

PYMEMCACHE 1.3.0

○ Released (Friday) July 24, 2015○ Moved exceptions around in backward-

incompatible ways○ Bug spotted and reported July 26, 2015○ Pymemcache 1.3.2 released July 26, 2015

Page 21: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

KAZOO 2.1

○ Released May 11, 2015○ Deadlock when acquiring a lock that is

already acquired○ Bug reported May 12, 2015

Page 22: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

NETADDR 0.7.16

○ Released August 30, 2015○ Failing on validating a previously valid

MAC address○ Bug reported August 31, 2015○ Netaddr 0.7.17 released August 31, 2015

Page 23: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

CONTRIBUTIONS

Direct and indirect

Page 24: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

LIBRARIES WE MADE

cliffCLI framework

stevedoreplugin patterns

pbrpackaging automation

debtcollectordeprecation manager

futuristadditions to futures

automatonstate machine library

Page 25: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

TOOLS WE MADE

jjbJenkins Job Builder

zuulCI gate management

renorelease notes in git

banditsecurity linter

gabbideclarative HTTP tests

gerttyconsole-based gerrit UI

Page 26: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

UPSTREAM CONTRIBUTIONS

Packaging

packaging, pip, setuptools, wheel

Web

Pecan, requests, WebOb, Werkzeug

Testing

fixtures, testtools, testrepository, tox

Database

Alembic, python-memcache, Pandas, redis-py, SQLAlchemy

Interpreters

CPython, PyPy, Jython

Other

Dogpile, eventlet, iso8601, Mako, pykerberos, retrying, six

Page 27: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

ADOPTED LIBRARIES

○ pylockfile○ mox3○ WSME○ sqlachemy-migrate

Page 28: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

4.CONCLUSION

How do we improve the symbiosis?

Page 29: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

ADOPT GATING

Taste before you commit

Page 30: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

FOLLOW SEMVER

Major.Minor.Patch

Page 31: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

ONCE IT’S OUT,IT’S OUT

Remembereventlet 0.18.1

Page 32: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

DON’T RELEASE ON A FRIDAY

You might interfere with someone’s idea of a good week-end

Page 33: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

CONTRIBUTE UPSTREAM

More fixes, more features.

Page 34: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

DECOMPOSE / REFACTOR

Make more reusable components.

Page 35: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

HIGHLIGHTOUR WORK

Write more documentation for the tools we’ve already built.

Page 36: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

SHARE OUR EXPERIENCE

Talk about the patterns we’ve adopted, and our experience solving complex problems.

Page 37: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

Other OpenStack Community Members at EuroPython 2016

○ Victoria Martinez De La Cruz - Build your first OpenStack application with OpenStack PythonSDK

○ Victor Stinner - FAT Python: a new static optimizer for Python 3.6

○ David Flanders - OpenStack Cloud Native Deployment for Application Developers

Page 38: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

THANKS!Any questions?

You can find us at:@doughellmann [email protected]@tcarrez [email protected]

Presentation template by SlidesCarnivalCook kid CC-BY-2.0 by SalTheColourGeek @ https://www.flickr.com/photos/92735078@N03/15949256429Fire buckets CC-BY-2.0 by Steve Greer @ https://www.flickr.com/photos/steviegreer/2919157836Lego Cup Mix CC-BY-2.0 by Jonathan Stewart @ https://www.flickr.com/photos/51804380@N07/5039810904Lightbulb CC-BY-2.0 by Richard Rutter @ https://www.flickr.com/photos/clagnut/2865788674Stream CC-BY-SA-2.0 by Shashank Bhat @ https://www.flickr.com/photos/shashankbhat/12861715603Owl CC-BY 2.0 by Dirk Van de Velde @ https://www.flickr.com/photos/23975018@N04/3675503072

Credits:

Page 39: (and vice-versa) BETTER MAKES PYTHON HOW …...plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library