Weekly lecture appsterdam_19mar2014

Preview:

Citation preview

Continuous Integration & Delivery Process in the Openstack Project InfrastructureAppsterdam Weekly Wednesday Lunch Lecture - Alessandro Vozza (@bongo)

#appsterdam

Intro - the usual stuff

I work at

Why me?

What is Openstack

“OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard

that gives administrators control while empowering their users to provision resources through a web interface.”

API-driven, self-service Software Defined Datacenter

What is Openstack

Full Havana installation = 32 services

What is Openstack

Openstack principles:

Open development model (Apache 2.0 license + CLA)

Open design process (blueprints, summits, meetings, incubation)

Open community and documentation

Where is Openstack

CommunityIn a Nutshell, OpenStack...

... has had 115,206 commits made by 2,130 contributors

representing 1,766,546 lines of code ... is mostly written in Python

with an average number of source code comments ... has a well established, mature codebase

maintained by a very large development team with increasing Y-O-Y commits ... took an estimated 500 years of effort (COCOMO model)

starting with its first commit in December, 2006 ending with its most recent commit 8 days ago

Source: Ohlu

The Foundation & the community

http://www.meetup.com/Openstack-Amsterdam/

Mailing list: http://wiki.openstack.org/MailingLists

IRC: #openstack on freenode

Why contribute

Learn new code

Be part of something

Get visibility

Fix your own problems, get your features upstream

Have fun doing all of the above

The process

http://www.slideshare.net/NicolasBarcet/open-stack-as-a-software-factory

The process

http://www.slideshare.net/ben_duyujie/osapac-2012lzy

Demo time

Where do I start?

https://wiki.openstack.org/wiki/HowToContribute Create an account on Launchpad (https://launchpad.net) Accept the CLA, join the foundation Add your SSH to Gerrit, clone some repos Browse mailing lists and #IRC Start contributing:

Documentation Bug fixes (low-hanging fruit) Blueprints

I’m ready, bring it on

$ sudo pip install git-review $ git clone https://github.com/openstack/keystone.git $ cd keystone $ git checkout -b new_amazing_feature $ <code away> $ ./run_tests.py #DO NOT SKIP THIS STEP! $ git commit -a ; git review !

write a good commit message! wait for 2+ review from core members and Jenkins test results

https://wiki.openstack.org/wiki/GerritWorkflow

Dad my patch got rejected

https://www.openshift.com/blogs/keep-calm-and-merge-on-lowering-barriers-to-open-source-contributions-with-apache-v2

Just a few links

http://wiki.openstack.org http://git.openstack.org http://gerrit.openstack.org http://ci.openstack.org http://zuul.openstack.org http://paste.openstack.org http://graphite.openstack.org http://nodepool.openstack.org http://cacti.openstack.org/cacti/graph_view.php http://activity.openstack.org/dash/browser/

Refs http://sysadmin.miniconf.org/presentations14.html#ElizabethKrumbachJoseph

Complimentary “we’re hiring” slide

We’re hiring!

http://www.spilgames.com/careers/

http://jobs.redhat.com

Recommended