HOW OPENSTACK MAKES PYTHON BETTER (and vice-versa) Hello! I AM - - PowerPoint PPT Presentation

how openstack makes python better and vice versa hello
SMART_READER_LITE
LIVE PREVIEW

HOW OPENSTACK MAKES PYTHON BETTER (and vice-versa) Hello! I AM - - PowerPoint PPT Presentation

HOW OPENSTACK MAKES PYTHON BETTER (and vice-versa) Hello! I AM DOUG HELLMANN Red Hat Technical Committee member PSF Fellow @doughellmann on Twitter dhellmann on Freenode Hello! I AM THIERRY CARREZ OpenStack Foundation staff Technical


slide-1
SLIDE 1

HOW OPENSTACK MAKES PYTHON BETTER (and vice-versa)

slide-2
SLIDE 2

Hello!

I AM DOUG HELLMANN

Red Hat Technical Committee member PSF Fellow @doughellmann on Twitter dhellmann on Freenode

slide-3
SLIDE 3

Hello!

I AM THIERRY CARREZ

OpenStack Foundation staff Technical Committee chair PSF Fellow @tcarrez on Twitter ttx on Freenode

slide-4
SLIDE 4

1. OPENSTACK

A community-led project

slide-5
SLIDE 5

Elected team leadership Project teams select their own leaders every release cycle.

INDEPENDENT GOVERNANCE

Elected

  • versight board

Overall project leadership elected by the contributors every year.

slide-6
SLIDE 6

OUR BASE PRINCIPLES: THE FOUR OPENS

Open source Open development Open design Open community

slide-7
SLIDE 7

THE BIG TENT

OpenStack is made of people

slide-8
SLIDE 8

2. WHAT PYTHON BRINGS TO OPENSTACK

Ease of Use & Inclusive Community

slide-9
SLIDE 9

WHY OPENSTACK CHOSE PYTHON

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

slide-10
SLIDE 10

WHY OPENSTACK KEPT PYTHON

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

slide-11
SLIDE 11

3. WHAT OPENSTACK BRINGS TO PYTHON

Funding, Contributors, & Quality

slide-12
SLIDE 12

EXPERIENCE SOUGHT

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

slide-13
SLIDE 13

OPENSTACK & PYTHON JOBS

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

slide-14
SLIDE 14

SUPPLY & DEMAND

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

slide-15
SLIDE 15

EMPLOYER INDEPENDENCE

○ Community Member ○ Reputation-based Influence ○ Job Mobility

slide-16
SLIDE 16

INFLUX OF PYTHON DEVELOPERS

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

slide-17
SLIDE 17

QUALITY

Detecting regressions before anyone else

slide-18
SLIDE 18

23 000

slide-19
SLIDE 19

23 000

Number of test runs in OpenStack

  • n a typical work day
slide-20
SLIDE 20

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

slide-21
SLIDE 21

KAZOO 2.1

○ Released May 11, 2015 ○ Deadlock when acquiring a lock that is already acquired ○ Bug reported May 12, 2015

slide-22
SLIDE 22

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

slide-23
SLIDE 23

CONTRIBUTIONS

Direct and indirect

slide-24
SLIDE 24

LIBRARIES WE MADE

cliff CLI framework stevedore plugin patterns pbr packaging automation debtcollector deprecation manager futurist additions to futures automaton state machine library

slide-25
SLIDE 25

TOOLS WE MADE

jjb Jenkins Job Builder zuul CI gate management reno release notes in git bandit security linter gabbi declarative HTTP tests gertty console-based gerrit UI

slide-26
SLIDE 26

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

slide-27
SLIDE 27

ADOPTED LIBRARIES

○ pylockfile ○ mox3 ○ WSME ○ sqlachemy-migrate

slide-28
SLIDE 28

4. CONCLUSION

How do we improve the symbiosis?

slide-29
SLIDE 29

ADOPT GATING

Taste before you commit

slide-30
SLIDE 30

FOLLOW SEMVER

Major.Minor.Patch

slide-31
SLIDE 31

ONCE IT’S OUT, IT’S OUT

Remember eventlet 0.18.1

slide-32
SLIDE 32

DON’T RELEASE ON A FRIDAY

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

slide-33
SLIDE 33

CONTRIBUTE UPSTREAM

More fixes, more features.

slide-34
SLIDE 34

DECOMPOSE / REFACTOR

Make more reusable components.

slide-35
SLIDE 35

HIGHLIGHT OUR WORK

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

slide-36
SLIDE 36

SHARE OUR EXPERIENCE

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

slide-37
SLIDE 37

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

  • ptimizer for Python 3.6

○ David Flanders - OpenStack Cloud Native Deployment for Application Developers

slide-38
SLIDE 38

THANKS!

Any questions?

You can find us at: @doughellmann doug@doughellmann.com @tcarrez thierry@openstack.org

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

Owl CC-BY 2.0 by Dirk Van de Velde @ https://www.flickr.com/photos/23975018@N04/3675503072

Credits:

slide-39
SLIDE 39