Slide 1

Slide 1 text

The Development of OpenStack

Slide 2

Slide 2 text

Who am I? Pythonista & Skier Developer at Red Hat, working on OpenStack.

Slide 3

Slide 3 text

OpenStack history 4 Open sourced in 2010. 4 Formed by NASA and Rackspace. 4 Icehouse is the current release (about a week old). 4 Then Juno will be released in ~6 months.

Slide 4

Slide 4 text

What is OpenStack? An implementation of a “cloud” or Infrastructure as a Service

Slide 5

Slide 5 text

But, what is OpenStack? A set of Python* based RESTful services for managing virtualised infrastructure. Including the management of virtual machines, networks and storage.

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

The OpenStack services. 4 Nova (Virtual Machines) 4 Swift (Object Storage) 4 Cinder (Block Storage) 4 Neutron (Networking) 4 Horizon (Dashboard) 4 Keystone (Identity) 4 Glance (Images) ....

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Scaling Development

Slide 10

Slide 10 text

The scale of development 4 1.3+ million lines of code. 4 1,200+ active developers. 4 250+ git repositories. 4 1,000+ commits each week. 4 5,000+ new patches each week. 4 1,000+ emails a week.

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

The development process. 4 A new release every 6 months. 4 Each project within OpenStack has a Project Technical Lead. 4 PTL's are voted in for each release. 4 Launchpad and mailing lists to propose and debate bugs and additions.

Slide 13

Slide 13 text

Verifying changes 4 Only Jenkins commits. No commit bit. 4 Project has a group of core reviewers. 4 Every patch needs two +2's and one +A 4 Most patches have more than 5 reviews.

Slide 14

Slide 14 text

Continuous Integration 4 Jenkins is a reviewer and will give your patch a -1 or +1. 4 Runs unit tests and integration tests. 4 Build documentation. 4 Checks against strict style guides.

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Jenkins failing your patch because the commit message ended with a period.

Slide 18

Slide 18 text

Getting your code committed can be slow Jenkins often takes hours Reviews are often open for weeks

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

Development Environment This bit is thankfully quite easy. git clone https://github.com/openstack-dev/devstack.git cd devstack && ./stack.sh Then load up your web browser and head to the IP address of the machine to see the Horizion dashboard. From here you can create VM's and manage your cloud.

Slide 21

Slide 21 text

So, why should I care about OpenStack? 4 It's open source. We currently have too much proprietary code and vendor lock- in. 4 Lots of great projects to work on, challenges to solve and people to work with.

Slide 22

Slide 22 text

Also... Knowing both Python and/or OpenStack are really hireable skills right now. Red Hat are constantly looking for great people in many areas.

Slide 23

Slide 23 text

The Late Disclaimer 4 No idea what I'm talking about. 4 I don't work on anything I mentioned. 4 I work on the OpenStack project TripleO.

Slide 24

Slide 24 text

Questions? About OpenStack? About Red Hat? About TripleO? Thanks!

Slide 25

Slide 25 text