SlideShare uma empresa Scribd logo
1 de 26
Michael Still
Getting Started With
OpenStack Development
April 22, 2013
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
People frequently ask how they can get started with OpenStack development.
There’s a process which needs to be followed, from setting up a launchpad
account, to signing the CLA, to sending off your first patch with adequate testing.
In this session Michael Still, a Nova core reviewer, will guide the audience
through this process and send off a patch to a real bug in the Nova
codebase, stopping to answer questions along the way.
After the session attendees should know everything they need to about the
OpenStack development environment to start sending off real patches.
2
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Overview
• What is a core reviewer?
• Signing up for accounts
• Signing the Copyright License Agreement
• Mailing lists / IRC
• Setting up a development environment
• Writing a change
• Testing the change
• Uploading code for review
3
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
What is a core reviewer?
4
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Signing up for accounts: LaunchPad
• The OpenStack project uses LaunchPad for a few things
• Bug tracking
• Blueprints
• Groups
• Mailing lists (sometimes)
• Each OpenStack project will have a LaunchPad project
• https://launchpad.net/nova
• https://launchpad.net/glance
• … etc
• Once you’ve signed up to LaunchPad, join the projects which interest you
• A side effect is that you get added to the OpenStack LaunchPad project “for free”
• You really do need a LaunchPad account. Keep the username short and
descriptive, because it appears in a bunch of places.
5
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Signing up for accounts: LaunchPad
6
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Signing up for accounts: Gerrit
• You must have a LaunchPad account first… That’s how you sign on!
• http://review.openstack.org
7
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Signing up for accounts: Gerrit
• You need to set a ssh key
• Click Settings (top right), then add a key
• To test the key
• You can ssh to gerrit and ask it stuff, but it uses a different port…
• I have this in my ~/.ssh/config file:
# Openstack
Host review.openstack.org
Hostname review.openstack.org
Port 29418
User mikalstill
• An example ssh to test with:
ssh -i ~/.ssh/id_gerrit review.openstack.org gerrit query 
project:openstack/nova --all-approvals --patch-sets 
--format JSON
8
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Sign the Copyright License Agreement
• The old way
• Echosign transaction, and then a request to join a LaunchPad group
• If someone tells you to do this, they’re showing their age
• The new way
• This is managed in Gerrit settings
• Click “Agreements” on the left, and then “New Contributor Agreement”
• You must have a signed CLA before you can send off a code review
• Are you being paid to work on OpenStack?
• Your employer must sign a Corporate CLA as well
• Are you a US Government employee?
• Its all confusing and different. Come talk to me after the session
9
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Mailing lists you should be on
• http://lists.openstack.org
• Openstack-announce
• Openstack-dev
• Foundation
• Openstack-docs
• Openstack-operators
• Openstack-security
• https://launchpad.net/~openstack
• At the bottom left there is a “mailing list” box. Click the subscribe button.
10
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
IRC channels
• Freenode.net
• #openstack
• #openstack-dev
• #openstack-infra
• #openstack-meeting
• #openstack-meeting-alt
11
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
No wait, seriously?!?
12
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Setting up your development environment
• I am assuming Ubuntu 12.10 because that’s what I develop on. Other
operating systems and distributions are supported though.
• sudo apt-get install git python-pip
• sudo pip install tox
• sudo apt-get install git-review libxml2-dev libxml2-utils libxslt-dev libmysqlclient-dev pep8
postgresql-server-dev-9.1 python2.7-dev python-coverage python-netaddr
• Finally we can fetch some code!
• git clone https://github.com/openstack/nova.git
• Branching
• Write your new code in a topic branch.
• Names are normally “bug/123456”; “bp/my-blueprint”; or a descriptive title
13
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
I promised to actually fix a bug…
14
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
I promised to actually fix a bug…
15
2013-04-03 19:45:56.433 7807 TRACE nova.compute.manager [instance: db05a638-846f-41cc-b013-e2e352e707d0] KeyError: u'u'hostname'nTraceback (most recent call last):nn File
"/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/amqp.py", line 430, in _process_datan rval = self.proxy.dispatch(ctxt, version, method, **args)nn File "/usr/lib/python2.7/site-
packages/nova/openstack/common/rpc/dispatcher.py", line 133, in dispatchn return getattr(proxyobj, method)(ctxt, **kwargs)nn File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 3071, in
pre_live_migrationn migrate_data)nn File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 3201, in pre_live_migrationn % locals())nnKeyError: u'hostname'n'
2013-04-03 19:45:56.433 7807 TRACE nova.compute.manager [instance: db05a638-846f-41cc-b013-e2e352e707d0]
2013-04-03 19:45:58.036 ERROR nova.openstack.common.rpc.amqp [req-8a1d4d7f-8bff-4e57-b57c-dc4698f5c25c 6787bedca8804cd7b204748d0240235c 4251d38a5827440299d71e3b3d78350b] Exception
during message handling
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp Traceback (most recent call last):
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/amqp.py", line 430, in _process_data
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp rval = self.proxy.dispatch(ctxt, version, method, **args)
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/dispatcher.py", line 133, in dispatch
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp return getattr(proxyobj, method)(ctxt, **kwargs)
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 3115, in live_migration
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp block_migration, migrate_data)
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib64/python2.7/contextlib.py", line 24, in __exit__
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp self.gen.next()
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 3108, in live_migration
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp block_migration, disk, dest, migrate_data)
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/compute/rpcapi.py", line 408, in pre_live_migration
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp version='2.21')
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/proxy.py", line 80, in call
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp return rpc.call(context, self._get_topic(topic), msg, timeout)
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/__init__.py", line 140, in call
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp return _get_impl().call(CONF, context, topic, msg, timeout)
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/impl_qpid.py", line 610, in call
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp rpc_amqp.get_connection_pool(conf, Connection))
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/amqp.py", line 613, in call
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp rv = list(rv)
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/amqp.py", line 562, in __iter__
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp raise result
2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp KeyError: u'u'hostname'nTraceback (most recent call last):nn File "/usr/lib/python2.7/site-
packages/nova/openstack/common/rpc/amqp.py", line 430, in _process_datan rval = self.proxy.dispatch(ctxt, version, method, **args)nn File "/usr/lib/python2.7/site-
packages/nova/openstack/common/rpc/dispatcher.py", line 133, in dispatchn return getattr(proxyobj, method)(ctxt, **kwargs)nn File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 3071, in
pre_live_migrationn migrate_data)nn File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 3201, in pre_live_migrationn % locals())nnKeyError: u'hostname'n'
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
I promised to actually fix a bug…
16
2013-04-03 19:45:58.036 7807 TRACE
nova.openstack.common.rpc.amqp KeyError:
u'u'hostname'nTraceback (most recent call last):nn File
"/usr/lib/python2.7/site-
packages/nova/openstack/common/rpc/amqp.py", line 430, in
_process_datan rval =
self.proxy.dispatch(ctxt, version, method, **args)nn File
"/usr/lib/python2.7/site-
packages/nova/openstack/common/rpc/dispatcher.py", line 133, in
dispatchn return getattr(proxyobj, method)(ctxt, **kwargs)nn File
"/usr/lib/python2.7/site-packages/nova/compute/manager.py", line
3071, in pre_live_migrationn migrate_data)nn File
"/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line
3201, in pre_live_migrationn % locals())nnKeyError: u'hostname'n'
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Let’s do this as performance art…
17
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Testing your changes: tox and pep8
• It is important to test your change before you send them off for review:
• tox –e py27
• tox –e pep8
18
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Testing your changes: devstack
• You should also test your changes in devstack, but that’s outside the
scope of this talk
19
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Uploading your change for review
• Uploading your change for review is super simple:
• git review
• This command will upload your change to gerrit via ssh
• Before doing this, it will also add a change identifier to the git commit’s message. This is
important, and should be the last paragraph of the commit message.
20
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Uploading your change for review
• An example commit message:
commit 676b16bfe5ff41eb28d782c888c17dae6bdff76a
Author: Michael Still <mikal@stillhq.com>
Date: Fri Apr 5 08:57:35 2013 +1100
Fix error message in pre_live_migration.
We are using locals() to reference a variable which doesn't exist
in this error message. Also rename the instance variable while I
am here to be more consistent with other uses.
Resolves bug 1164072.
Change-Id: I96f5e2a81ac2e97181c3e87df83e19b381f4bcd2
21
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Uploading your change for review
• An example commit message:
commit 676b16bfe5ff41eb28d782c888c17dae6bdff76a
Author: Michael Still <mikal@stillhq.com>
Date: Fri Apr 5 08:57:35 2013 +1100
Fix error message in pre_live_migration.
We are using locals() to reference a variable which doesn't exist
in this error message. Also rename the instance variable while I
am here to be more consistent with other uses.
Resolves bug 1164072.
Change-Id: I96f5e2a81ac2e97181c3e87df83e19b381f4bcd2
22
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
The review process
23
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Merging the change
24
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
A word on vulnerability management
25
26
RACKSPACE® HOSTING | 5000 WALZEM ROAD | SAN ANTONIO, TX 78218
US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM
RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN TH E UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM

Mais conteúdo relacionado

Mais procurados

Atlanta OpenStack 2014 Chef for OpenStack Deployment Workshop
Atlanta OpenStack 2014 Chef for OpenStack Deployment WorkshopAtlanta OpenStack 2014 Chef for OpenStack Deployment Workshop
Atlanta OpenStack 2014 Chef for OpenStack Deployment WorkshopMatt Ray
 
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Chris Gates
 
AWS Survival Guide
AWS Survival GuideAWS Survival Guide
AWS Survival GuideKen Johnson
 
DevOoops (Increase awareness around DevOps infra security) - VoxxedDays Ticin...
DevOoops (Increase awareness around DevOps infra security) - VoxxedDays Ticin...DevOoops (Increase awareness around DevOps infra security) - VoxxedDays Ticin...
DevOoops (Increase awareness around DevOps infra security) - VoxxedDays Ticin...Gianluca Varisco
 
Road to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsRoad to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsGianluca Varisco
 
Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014Matt Ray
 
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Codemotion
 
Making your first OpenStack contribution (EuroPython)
Making your first OpenStack contribution (EuroPython)Making your first OpenStack contribution (EuroPython)
Making your first OpenStack contribution (EuroPython)Julie Pichon
 
Volker Fröhlich - How to Debug Common Agent Issues
Volker Fröhlich - How to Debug Common Agent IssuesVolker Fröhlich - How to Debug Common Agent Issues
Volker Fröhlich - How to Debug Common Agent IssuesZabbix
 
"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen
"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen
"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) ShenPROIDEA
 
Tatu: ssh as a service
Tatu: ssh as a serviceTatu: ssh as a service
Tatu: ssh as a servicePino deCandia
 
Rsyslog log normalization
Rsyslog log normalizationRsyslog log normalization
Rsyslog log normalizationRainer Gerhards
 
2014-07-31 customer convergence applied scap
2014-07-31 customer convergence applied scap2014-07-31 customer convergence applied scap
2014-07-31 customer convergence applied scapShawn Wells
 
Working with multiple git repositories
Working with multiple git repositoriesWorking with multiple git repositories
Working with multiple git repositoriesJulien Pivotto
 
2016 -11-18 OpenSCAP Workshop Coursebook
2016 -11-18 OpenSCAP Workshop Coursebook2016 -11-18 OpenSCAP Workshop Coursebook
2016 -11-18 OpenSCAP Workshop CoursebookShawn Wells
 
Advanced Weapons Training for the Empire
Advanced Weapons Training for the EmpireAdvanced Weapons Training for the Empire
Advanced Weapons Training for the EmpireJeremy Johnson
 
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017Codemotion
 
Continuous Security in DevOps
Continuous Security in DevOpsContinuous Security in DevOps
Continuous Security in DevOpsMaciej Lasyk
 
XFLTReat: a new dimension in tunnelling
XFLTReat:  a new dimension in tunnellingXFLTReat:  a new dimension in tunnelling
XFLTReat: a new dimension in tunnellingShakacon
 

Mais procurados (20)

Atlanta OpenStack 2014 Chef for OpenStack Deployment Workshop
Atlanta OpenStack 2014 Chef for OpenStack Deployment WorkshopAtlanta OpenStack 2014 Chef for OpenStack Deployment Workshop
Atlanta OpenStack 2014 Chef for OpenStack Deployment Workshop
 
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
 
AWS Survival Guide
AWS Survival GuideAWS Survival Guide
AWS Survival Guide
 
DevOoops (Increase awareness around DevOps infra security) - VoxxedDays Ticin...
DevOoops (Increase awareness around DevOps infra security) - VoxxedDays Ticin...DevOoops (Increase awareness around DevOps infra security) - VoxxedDays Ticin...
DevOoops (Increase awareness around DevOps infra security) - VoxxedDays Ticin...
 
Road to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsRoad to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoops
 
Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014
 
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
 
Making your first OpenStack contribution (EuroPython)
Making your first OpenStack contribution (EuroPython)Making your first OpenStack contribution (EuroPython)
Making your first OpenStack contribution (EuroPython)
 
Volker Fröhlich - How to Debug Common Agent Issues
Volker Fröhlich - How to Debug Common Agent IssuesVolker Fröhlich - How to Debug Common Agent Issues
Volker Fröhlich - How to Debug Common Agent Issues
 
"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen
"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen
"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen
 
Tatu: ssh as a service
Tatu: ssh as a serviceTatu: ssh as a service
Tatu: ssh as a service
 
Rsyslog log normalization
Rsyslog log normalizationRsyslog log normalization
Rsyslog log normalization
 
2014-07-31 customer convergence applied scap
2014-07-31 customer convergence applied scap2014-07-31 customer convergence applied scap
2014-07-31 customer convergence applied scap
 
Working with multiple git repositories
Working with multiple git repositoriesWorking with multiple git repositories
Working with multiple git repositories
 
2016 -11-18 OpenSCAP Workshop Coursebook
2016 -11-18 OpenSCAP Workshop Coursebook2016 -11-18 OpenSCAP Workshop Coursebook
2016 -11-18 OpenSCAP Workshop Coursebook
 
Data Encryption at Rest
Data Encryption at RestData Encryption at Rest
Data Encryption at Rest
 
Advanced Weapons Training for the Empire
Advanced Weapons Training for the EmpireAdvanced Weapons Training for the Empire
Advanced Weapons Training for the Empire
 
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017
 
Continuous Security in DevOps
Continuous Security in DevOpsContinuous Security in DevOps
Continuous Security in DevOps
 
XFLTReat: a new dimension in tunnelling
XFLTReat:  a new dimension in tunnellingXFLTReat:  a new dimension in tunnelling
XFLTReat: a new dimension in tunnelling
 

Destaque

Network Virtualization Implementation in OpenDaylight by the OVSDB Plugin Pro...
Network Virtualization Implementation in OpenDaylight by the OVSDB Plugin Pro...Network Virtualization Implementation in OpenDaylight by the OVSDB Plugin Pro...
Network Virtualization Implementation in OpenDaylight by the OVSDB Plugin Pro...Brent Salisbury
 
SDN Service Provider use cases Network Function Virtualization (NFV)
SDN Service Provider use cases Network Function Virtualization (NFV)SDN Service Provider use cases Network Function Virtualization (NFV)
SDN Service Provider use cases Network Function Virtualization (NFV)Brent Salisbury
 
Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...
Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...
Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...Anne Nicolas
 
Opendaylight app development
Opendaylight app developmentOpendaylight app development
Opendaylight app developmentvjanandr
 
vSphere with OpenStack
vSphere with OpenStackvSphere with OpenStack
vSphere with OpenStackRackspace
 
Overview of linux kernel development
Overview of linux kernel developmentOverview of linux kernel development
Overview of linux kernel developmentPushkar Pashupat
 

Destaque (6)

Network Virtualization Implementation in OpenDaylight by the OVSDB Plugin Pro...
Network Virtualization Implementation in OpenDaylight by the OVSDB Plugin Pro...Network Virtualization Implementation in OpenDaylight by the OVSDB Plugin Pro...
Network Virtualization Implementation in OpenDaylight by the OVSDB Plugin Pro...
 
SDN Service Provider use cases Network Function Virtualization (NFV)
SDN Service Provider use cases Network Function Virtualization (NFV)SDN Service Provider use cases Network Function Virtualization (NFV)
SDN Service Provider use cases Network Function Virtualization (NFV)
 
Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...
Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...
Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...
 
Opendaylight app development
Opendaylight app developmentOpendaylight app development
Opendaylight app development
 
vSphere with OpenStack
vSphere with OpenStackvSphere with OpenStack
vSphere with OpenStack
 
Overview of linux kernel development
Overview of linux kernel developmentOverview of linux kernel development
Overview of linux kernel development
 

Semelhante a Getting Started with OpenStack Development

How to master OpenStack in 2 hours
How to master OpenStack in 2 hoursHow to master OpenStack in 2 hours
How to master OpenStack in 2 hoursOpenCity Community
 
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31Timothy Spann
 
OpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesOpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesAnne Gentle
 
TryStack: A Sandbox for OpenStack Users and Admins
TryStack: A Sandbox for OpenStack Users and AdminsTryStack: A Sandbox for OpenStack Users and Admins
TryStack: A Sandbox for OpenStack Users and AdminsAnne Gentle
 
Install elasticsearch, logstash and kibana
Install elasticsearch, logstash and kibana Install elasticsearch, logstash and kibana
Install elasticsearch, logstash and kibana Chanaka Lasantha
 
Salting new ground one man ops from scratch
Salting new ground   one man ops from scratchSalting new ground   one man ops from scratch
Salting new ground one man ops from scratchJay Harrison
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...OpenShift Origin
 
SCALE12X: Chef for OpenStack
SCALE12X: Chef for OpenStackSCALE12X: Chef for OpenStack
SCALE12X: Chef for OpenStackMatt Ray
 
So youwanttobeopenstackcontributor
So youwanttobeopenstackcontributorSo youwanttobeopenstackcontributor
So youwanttobeopenstackcontributorIccha Sethi
 
OpenStack Deployment with Chef Workshop
OpenStack Deployment with Chef WorkshopOpenStack Deployment with Chef Workshop
OpenStack Deployment with Chef WorkshopMatt Ray
 
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016Ben Chou
 
OSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ InfosectrainOSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ InfosectrainInfosecTrain
 
ITB2019 NGINX Overview and Technical Aspects - Kevin Jones
ITB2019 NGINX Overview and Technical Aspects - Kevin JonesITB2019 NGINX Overview and Technical Aspects - Kevin Jones
ITB2019 NGINX Overview and Technical Aspects - Kevin JonesOrtus Solutions, Corp
 
How to integrate_custom_openstack_services_with_devstack
How to integrate_custom_openstack_services_with_devstackHow to integrate_custom_openstack_services_with_devstack
How to integrate_custom_openstack_services_with_devstackSławomir Kapłoński
 
Introduction to Stacki - World's fastest Linux server provisioning Tool
Introduction to Stacki - World's fastest Linux server provisioning ToolIntroduction to Stacki - World's fastest Linux server provisioning Tool
Introduction to Stacki - World's fastest Linux server provisioning ToolSuresh Paulraj
 
SF Gradle Meetup - Netflix OSS
SF Gradle Meetup - Netflix OSSSF Gradle Meetup - Netflix OSS
SF Gradle Meetup - Netflix OSSJustin Ryan
 
OpenStack Networking: Developing and Delivering a Commercial Solution for Lo...
OpenStack Networking:  Developing and Delivering a Commercial Solution for Lo...OpenStack Networking:  Developing and Delivering a Commercial Solution for Lo...
OpenStack Networking: Developing and Delivering a Commercial Solution for Lo...Radware
 
Provisioning Servers Made Easy
Provisioning Servers Made EasyProvisioning Servers Made Easy
Provisioning Servers Made EasyAll Things Open
 

Semelhante a Getting Started with OpenStack Development (20)

How to master OpenStack in 2 hours
How to master OpenStack in 2 hoursHow to master OpenStack in 2 hours
How to master OpenStack in 2 hours
 
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
 
OpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesOpenStack Documentation Projects and Processes
OpenStack Documentation Projects and Processes
 
TryStack: A Sandbox for OpenStack Users and Admins
TryStack: A Sandbox for OpenStack Users and AdminsTryStack: A Sandbox for OpenStack Users and Admins
TryStack: A Sandbox for OpenStack Users and Admins
 
Install elasticsearch, logstash and kibana
Install elasticsearch, logstash and kibana Install elasticsearch, logstash and kibana
Install elasticsearch, logstash and kibana
 
Salting new ground one man ops from scratch
Salting new ground   one man ops from scratchSalting new ground   one man ops from scratch
Salting new ground one man ops from scratch
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
 
SCALE12X: Chef for OpenStack
SCALE12X: Chef for OpenStackSCALE12X: Chef for OpenStack
SCALE12X: Chef for OpenStack
 
So youwanttobeopenstackcontributor
So youwanttobeopenstackcontributorSo youwanttobeopenstackcontributor
So youwanttobeopenstackcontributor
 
OpenStack Deployment with Chef Workshop
OpenStack Deployment with Chef WorkshopOpenStack Deployment with Chef Workshop
OpenStack Deployment with Chef Workshop
 
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
 
OSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ InfosectrainOSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ Infosectrain
 
Nikto
NiktoNikto
Nikto
 
ITB2019 NGINX Overview and Technical Aspects - Kevin Jones
ITB2019 NGINX Overview and Technical Aspects - Kevin JonesITB2019 NGINX Overview and Technical Aspects - Kevin Jones
ITB2019 NGINX Overview and Technical Aspects - Kevin Jones
 
How to integrate_custom_openstack_services_with_devstack
How to integrate_custom_openstack_services_with_devstackHow to integrate_custom_openstack_services_with_devstack
How to integrate_custom_openstack_services_with_devstack
 
Introduction to Stacki - World's fastest Linux server provisioning Tool
Introduction to Stacki - World's fastest Linux server provisioning ToolIntroduction to Stacki - World's fastest Linux server provisioning Tool
Introduction to Stacki - World's fastest Linux server provisioning Tool
 
SF Gradle Meetup - Netflix OSS
SF Gradle Meetup - Netflix OSSSF Gradle Meetup - Netflix OSS
SF Gradle Meetup - Netflix OSS
 
OpenStack Networking: Developing and Delivering a Commercial Solution for Lo...
OpenStack Networking:  Developing and Delivering a Commercial Solution for Lo...OpenStack Networking:  Developing and Delivering a Commercial Solution for Lo...
OpenStack Networking: Developing and Delivering a Commercial Solution for Lo...
 
Beyond Puppet
Beyond PuppetBeyond Puppet
Beyond Puppet
 
Provisioning Servers Made Easy
Provisioning Servers Made EasyProvisioning Servers Made Easy
Provisioning Servers Made Easy
 

Mais de Rackspace

What Would You Do With More Time?
What Would You Do With More Time?What Would You Do With More Time?
What Would You Do With More Time?Rackspace
 
RMS Security Breakfast
RMS Security BreakfastRMS Security Breakfast
RMS Security BreakfastRackspace
 
6 Commonly Asked Questions from Customers Building on AWS
6 Commonly Asked Questions from Customers Building on AWS6 Commonly Asked Questions from Customers Building on AWS
6 Commonly Asked Questions from Customers Building on AWSRackspace
 
The Evolution of OpenStack – From Infancy to Enterprise
The Evolution of OpenStack – From Infancy to EnterpriseThe Evolution of OpenStack – From Infancy to Enterprise
The Evolution of OpenStack – From Infancy to EnterpriseRackspace
 
How Startups can leverage big data?
How Startups can leverage big data?How Startups can leverage big data?
How Startups can leverage big data?Rackspace
 
Become an IT Service Broker
Become an IT Service BrokerBecome an IT Service Broker
Become an IT Service BrokerRackspace
 
Deploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data Platform
Deploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data PlatformDeploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data Platform
Deploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data PlatformRackspace
 
Rethinking People Costs in Enterprise IT
Rethinking People Costs in Enterprise ITRethinking People Costs in Enterprise IT
Rethinking People Costs in Enterprise ITRackspace
 
Starting the Journey to Managed Infrastructure Services
Starting the Journey to Managed Infrastructure ServicesStarting the Journey to Managed Infrastructure Services
Starting the Journey to Managed Infrastructure ServicesRackspace
 
Rackspace::Solve NYC - Welcome Keynote featuring Rackspace CTO John Engates
Rackspace::Solve NYC - Welcome Keynote featuring Rackspace CTO John EngatesRackspace::Solve NYC - Welcome Keynote featuring Rackspace CTO John Engates
Rackspace::Solve NYC - Welcome Keynote featuring Rackspace CTO John EngatesRackspace
 
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...Rackspace
 
Rackspace::Solve NYC - Second Stage Cloud
Rackspace::Solve NYC - Second Stage CloudRackspace::Solve NYC - Second Stage Cloud
Rackspace::Solve NYC - Second Stage CloudRackspace
 
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...Rackspace
 
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...Rackspace
 
vCenter Site Recovery Manager: Architecting a DR Solution
vCenter Site Recovery Manager: Architecting a DR SolutionvCenter Site Recovery Manager: Architecting a DR Solution
vCenter Site Recovery Manager: Architecting a DR SolutionRackspace
 
Outsourcing IT Projects to Managed Hosting of the Cloud
Outsourcing IT Projects to Managed Hosting of the CloudOutsourcing IT Projects to Managed Hosting of the Cloud
Outsourcing IT Projects to Managed Hosting of the CloudRackspace
 
How to Bring Shadow IT to the Light
How to Bring Shadow IT to the LightHow to Bring Shadow IT to the Light
How to Bring Shadow IT to the LightRackspace
 
DR-to-the-Cloud Best Practices
DR-to-the-Cloud Best PracticesDR-to-the-Cloud Best Practices
DR-to-the-Cloud Best PracticesRackspace
 
Migrating Traditional Apps from On-Premises to the Hybrid Cloud
Migrating Traditional Apps from On-Premises to the Hybrid CloudMigrating Traditional Apps from On-Premises to the Hybrid Cloud
Migrating Traditional Apps from On-Premises to the Hybrid CloudRackspace
 
Rackspace::Solve SFO - CoreOS CEO Alex Polvi on Solving for What's Next
Rackspace::Solve SFO - CoreOS CEO Alex Polvi on Solving for What's NextRackspace::Solve SFO - CoreOS CEO Alex Polvi on Solving for What's Next
Rackspace::Solve SFO - CoreOS CEO Alex Polvi on Solving for What's NextRackspace
 

Mais de Rackspace (20)

What Would You Do With More Time?
What Would You Do With More Time?What Would You Do With More Time?
What Would You Do With More Time?
 
RMS Security Breakfast
RMS Security BreakfastRMS Security Breakfast
RMS Security Breakfast
 
6 Commonly Asked Questions from Customers Building on AWS
6 Commonly Asked Questions from Customers Building on AWS6 Commonly Asked Questions from Customers Building on AWS
6 Commonly Asked Questions from Customers Building on AWS
 
The Evolution of OpenStack – From Infancy to Enterprise
The Evolution of OpenStack – From Infancy to EnterpriseThe Evolution of OpenStack – From Infancy to Enterprise
The Evolution of OpenStack – From Infancy to Enterprise
 
How Startups can leverage big data?
How Startups can leverage big data?How Startups can leverage big data?
How Startups can leverage big data?
 
Become an IT Service Broker
Become an IT Service BrokerBecome an IT Service Broker
Become an IT Service Broker
 
Deploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data Platform
Deploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data PlatformDeploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data Platform
Deploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data Platform
 
Rethinking People Costs in Enterprise IT
Rethinking People Costs in Enterprise ITRethinking People Costs in Enterprise IT
Rethinking People Costs in Enterprise IT
 
Starting the Journey to Managed Infrastructure Services
Starting the Journey to Managed Infrastructure ServicesStarting the Journey to Managed Infrastructure Services
Starting the Journey to Managed Infrastructure Services
 
Rackspace::Solve NYC - Welcome Keynote featuring Rackspace CTO John Engates
Rackspace::Solve NYC - Welcome Keynote featuring Rackspace CTO John EngatesRackspace::Solve NYC - Welcome Keynote featuring Rackspace CTO John Engates
Rackspace::Solve NYC - Welcome Keynote featuring Rackspace CTO John Engates
 
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
 
Rackspace::Solve NYC - Second Stage Cloud
Rackspace::Solve NYC - Second Stage CloudRackspace::Solve NYC - Second Stage Cloud
Rackspace::Solve NYC - Second Stage Cloud
 
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
 
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
 
vCenter Site Recovery Manager: Architecting a DR Solution
vCenter Site Recovery Manager: Architecting a DR SolutionvCenter Site Recovery Manager: Architecting a DR Solution
vCenter Site Recovery Manager: Architecting a DR Solution
 
Outsourcing IT Projects to Managed Hosting of the Cloud
Outsourcing IT Projects to Managed Hosting of the CloudOutsourcing IT Projects to Managed Hosting of the Cloud
Outsourcing IT Projects to Managed Hosting of the Cloud
 
How to Bring Shadow IT to the Light
How to Bring Shadow IT to the LightHow to Bring Shadow IT to the Light
How to Bring Shadow IT to the Light
 
DR-to-the-Cloud Best Practices
DR-to-the-Cloud Best PracticesDR-to-the-Cloud Best Practices
DR-to-the-Cloud Best Practices
 
Migrating Traditional Apps from On-Premises to the Hybrid Cloud
Migrating Traditional Apps from On-Premises to the Hybrid CloudMigrating Traditional Apps from On-Premises to the Hybrid Cloud
Migrating Traditional Apps from On-Premises to the Hybrid Cloud
 
Rackspace::Solve SFO - CoreOS CEO Alex Polvi on Solving for What's Next
Rackspace::Solve SFO - CoreOS CEO Alex Polvi on Solving for What's NextRackspace::Solve SFO - CoreOS CEO Alex Polvi on Solving for What's Next
Rackspace::Solve SFO - CoreOS CEO Alex Polvi on Solving for What's Next
 

Último

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Último (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Getting Started with OpenStack Development

  • 1. Michael Still Getting Started With OpenStack Development April 22, 2013
  • 2. RACKSPACE® HOSTING | WWW.RACKSPACE.COM People frequently ask how they can get started with OpenStack development. There’s a process which needs to be followed, from setting up a launchpad account, to signing the CLA, to sending off your first patch with adequate testing. In this session Michael Still, a Nova core reviewer, will guide the audience through this process and send off a patch to a real bug in the Nova codebase, stopping to answer questions along the way. After the session attendees should know everything they need to about the OpenStack development environment to start sending off real patches. 2
  • 3. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Overview • What is a core reviewer? • Signing up for accounts • Signing the Copyright License Agreement • Mailing lists / IRC • Setting up a development environment • Writing a change • Testing the change • Uploading code for review 3
  • 4. RACKSPACE® HOSTING | WWW.RACKSPACE.COM What is a core reviewer? 4
  • 5. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Signing up for accounts: LaunchPad • The OpenStack project uses LaunchPad for a few things • Bug tracking • Blueprints • Groups • Mailing lists (sometimes) • Each OpenStack project will have a LaunchPad project • https://launchpad.net/nova • https://launchpad.net/glance • … etc • Once you’ve signed up to LaunchPad, join the projects which interest you • A side effect is that you get added to the OpenStack LaunchPad project “for free” • You really do need a LaunchPad account. Keep the username short and descriptive, because it appears in a bunch of places. 5
  • 6. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Signing up for accounts: LaunchPad 6
  • 7. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Signing up for accounts: Gerrit • You must have a LaunchPad account first… That’s how you sign on! • http://review.openstack.org 7
  • 8. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Signing up for accounts: Gerrit • You need to set a ssh key • Click Settings (top right), then add a key • To test the key • You can ssh to gerrit and ask it stuff, but it uses a different port… • I have this in my ~/.ssh/config file: # Openstack Host review.openstack.org Hostname review.openstack.org Port 29418 User mikalstill • An example ssh to test with: ssh -i ~/.ssh/id_gerrit review.openstack.org gerrit query project:openstack/nova --all-approvals --patch-sets --format JSON 8
  • 9. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Sign the Copyright License Agreement • The old way • Echosign transaction, and then a request to join a LaunchPad group • If someone tells you to do this, they’re showing their age • The new way • This is managed in Gerrit settings • Click “Agreements” on the left, and then “New Contributor Agreement” • You must have a signed CLA before you can send off a code review • Are you being paid to work on OpenStack? • Your employer must sign a Corporate CLA as well • Are you a US Government employee? • Its all confusing and different. Come talk to me after the session 9
  • 10. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Mailing lists you should be on • http://lists.openstack.org • Openstack-announce • Openstack-dev • Foundation • Openstack-docs • Openstack-operators • Openstack-security • https://launchpad.net/~openstack • At the bottom left there is a “mailing list” box. Click the subscribe button. 10
  • 11. RACKSPACE® HOSTING | WWW.RACKSPACE.COM IRC channels • Freenode.net • #openstack • #openstack-dev • #openstack-infra • #openstack-meeting • #openstack-meeting-alt 11
  • 12. RACKSPACE® HOSTING | WWW.RACKSPACE.COM No wait, seriously?!? 12
  • 13. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Setting up your development environment • I am assuming Ubuntu 12.10 because that’s what I develop on. Other operating systems and distributions are supported though. • sudo apt-get install git python-pip • sudo pip install tox • sudo apt-get install git-review libxml2-dev libxml2-utils libxslt-dev libmysqlclient-dev pep8 postgresql-server-dev-9.1 python2.7-dev python-coverage python-netaddr • Finally we can fetch some code! • git clone https://github.com/openstack/nova.git • Branching • Write your new code in a topic branch. • Names are normally “bug/123456”; “bp/my-blueprint”; or a descriptive title 13
  • 14. RACKSPACE® HOSTING | WWW.RACKSPACE.COM I promised to actually fix a bug… 14
  • 15. RACKSPACE® HOSTING | WWW.RACKSPACE.COM I promised to actually fix a bug… 15 2013-04-03 19:45:56.433 7807 TRACE nova.compute.manager [instance: db05a638-846f-41cc-b013-e2e352e707d0] KeyError: u'u'hostname'nTraceback (most recent call last):nn File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/amqp.py", line 430, in _process_datan rval = self.proxy.dispatch(ctxt, version, method, **args)nn File "/usr/lib/python2.7/site- packages/nova/openstack/common/rpc/dispatcher.py", line 133, in dispatchn return getattr(proxyobj, method)(ctxt, **kwargs)nn File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 3071, in pre_live_migrationn migrate_data)nn File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 3201, in pre_live_migrationn % locals())nnKeyError: u'hostname'n' 2013-04-03 19:45:56.433 7807 TRACE nova.compute.manager [instance: db05a638-846f-41cc-b013-e2e352e707d0] 2013-04-03 19:45:58.036 ERROR nova.openstack.common.rpc.amqp [req-8a1d4d7f-8bff-4e57-b57c-dc4698f5c25c 6787bedca8804cd7b204748d0240235c 4251d38a5827440299d71e3b3d78350b] Exception during message handling 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp Traceback (most recent call last): 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/amqp.py", line 430, in _process_data 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp rval = self.proxy.dispatch(ctxt, version, method, **args) 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/dispatcher.py", line 133, in dispatch 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp return getattr(proxyobj, method)(ctxt, **kwargs) 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 3115, in live_migration 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp block_migration, migrate_data) 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib64/python2.7/contextlib.py", line 24, in __exit__ 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp self.gen.next() 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 3108, in live_migration 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp block_migration, disk, dest, migrate_data) 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/compute/rpcapi.py", line 408, in pre_live_migration 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp version='2.21') 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/proxy.py", line 80, in call 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp return rpc.call(context, self._get_topic(topic), msg, timeout) 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/__init__.py", line 140, in call 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp return _get_impl().call(CONF, context, topic, msg, timeout) 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/impl_qpid.py", line 610, in call 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp rpc_amqp.get_connection_pool(conf, Connection)) 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/amqp.py", line 613, in call 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp rv = list(rv) 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/site-packages/nova/openstack/common/rpc/amqp.py", line 562, in __iter__ 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp raise result 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp KeyError: u'u'hostname'nTraceback (most recent call last):nn File "/usr/lib/python2.7/site- packages/nova/openstack/common/rpc/amqp.py", line 430, in _process_datan rval = self.proxy.dispatch(ctxt, version, method, **args)nn File "/usr/lib/python2.7/site- packages/nova/openstack/common/rpc/dispatcher.py", line 133, in dispatchn return getattr(proxyobj, method)(ctxt, **kwargs)nn File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 3071, in pre_live_migrationn migrate_data)nn File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 3201, in pre_live_migrationn % locals())nnKeyError: u'hostname'n'
  • 16. RACKSPACE® HOSTING | WWW.RACKSPACE.COM I promised to actually fix a bug… 16 2013-04-03 19:45:58.036 7807 TRACE nova.openstack.common.rpc.amqp KeyError: u'u'hostname'nTraceback (most recent call last):nn File "/usr/lib/python2.7/site- packages/nova/openstack/common/rpc/amqp.py", line 430, in _process_datan rval = self.proxy.dispatch(ctxt, version, method, **args)nn File "/usr/lib/python2.7/site- packages/nova/openstack/common/rpc/dispatcher.py", line 133, in dispatchn return getattr(proxyobj, method)(ctxt, **kwargs)nn File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 3071, in pre_live_migrationn migrate_data)nn File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 3201, in pre_live_migrationn % locals())nnKeyError: u'hostname'n'
  • 17. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Let’s do this as performance art… 17
  • 18. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Testing your changes: tox and pep8 • It is important to test your change before you send them off for review: • tox –e py27 • tox –e pep8 18
  • 19. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Testing your changes: devstack • You should also test your changes in devstack, but that’s outside the scope of this talk 19
  • 20. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Uploading your change for review • Uploading your change for review is super simple: • git review • This command will upload your change to gerrit via ssh • Before doing this, it will also add a change identifier to the git commit’s message. This is important, and should be the last paragraph of the commit message. 20
  • 21. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Uploading your change for review • An example commit message: commit 676b16bfe5ff41eb28d782c888c17dae6bdff76a Author: Michael Still <mikal@stillhq.com> Date: Fri Apr 5 08:57:35 2013 +1100 Fix error message in pre_live_migration. We are using locals() to reference a variable which doesn't exist in this error message. Also rename the instance variable while I am here to be more consistent with other uses. Resolves bug 1164072. Change-Id: I96f5e2a81ac2e97181c3e87df83e19b381f4bcd2 21
  • 22. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Uploading your change for review • An example commit message: commit 676b16bfe5ff41eb28d782c888c17dae6bdff76a Author: Michael Still <mikal@stillhq.com> Date: Fri Apr 5 08:57:35 2013 +1100 Fix error message in pre_live_migration. We are using locals() to reference a variable which doesn't exist in this error message. Also rename the instance variable while I am here to be more consistent with other uses. Resolves bug 1164072. Change-Id: I96f5e2a81ac2e97181c3e87df83e19b381f4bcd2 22
  • 23. RACKSPACE® HOSTING | WWW.RACKSPACE.COM The review process 23
  • 24. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Merging the change 24
  • 25. RACKSPACE® HOSTING | WWW.RACKSPACE.COM A word on vulnerability management 25
  • 26. 26 RACKSPACE® HOSTING | 5000 WALZEM ROAD | SAN ANTONIO, TX 78218 US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN TH E UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM

Notas do Editor

  1. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  2. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  3. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  4. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  5. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  6. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  7. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  8. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  9. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  10. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  11. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  12. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  13. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review
  14. Launchpad: bugs, blueprints, in one case a mailing listGerrit: code review