SlideShare ist ein Scribd-Unternehmen logo
1 von 21
The OpenStack
Contribution
Workflow
Sean McGinnis
2 of 21
The Basics
Account Setup and Agreements
Launchpad Account Creation
https://launchpad.net/+login
Join the OpenStack Foundation
“Foundation” membership level, not “community”
https://www.openstack.org/join/
Register Nick IRC
https://freenode.net/
/nick [desired_nick]
/msg NickServ REGISTER password youremail@example.com
3 of 21
Code Contibution Setup
Account Setup and Agreements
Gerrit Login
https://review.openstack.org/
Sign Contributor License Agreement
https://review.openstack.org/#/settings/agreements
https://wiki.openstack.org/wiki/GovernmentCLA (US Government)
4 of 21
Hang out on IRC
• So much of OpenStack development happens on IRC
• Best way to ask questions and discuss issues
• Some general channels and project specific channels
#openstack-dev
#openstack-meeting
#openstack-[project]
Many IRC clients available for various operating systems as well as Freenode web chat:
Clients: HexChat, LimeChat, irssi
Web: http://webchat.freenode.net/
5 of 21
Join the Mailing List
Lots of posts for announcements, development issues, etc.
General: openstack
Development: openstack-dev
Announcements: openstack-announce
Operators: openstack-operators
More details and links to full list of mailing lists here:
https://wiki.openstack.org/wiki/Mailing_Lists
6 of 21
Project Watch List
Add interested projects to your watch list to get notifications.
Go to https://review.openstack.org/#/settings/projects:
7 of 21
Add SSH Keys
SSH public key must be registered to identify you when you push up code.
Typically uses your default in ~/.ssh/id_rsa.pub but different key can also be used.
Go to https://review.openstack.org/#/settings/ssh-keys:
8 of 21
Code Reviews
Reviewing code with Gerrit
One of the best places to start!
Learn from others changes.
See what kinds of issues are pointed out by other reviewers.
Share your expertise or just help catch basic coding issues.
9 of 21
Code Reviews
Gerrit Review Layout
Lot’s of information!
10 of 21
Code Reviews
Gerrit Review Layout
11 of 21
Code Reviews
Gerrit Review Diff
12 of 21
Code Reviews
Gerrit Review Navigation and Settings
13 of 21
Bug Tracking
Launchpad Bug Management
Bugs tracked on the Launchpad.net site.
Overall list of all bugs in OpenStack projects:
https://bugs.launchpad.net/openstack
Project specific view of bugs:
https://bugs.launchpad.net/cinder
Search for bugs matching an issue you’ve found.
Look for bugs you would like to work on.
14 of 21
Bug Tracking
Working with bugs
15 of 21
Bug Tracking
Bug Tags
Look for specific categories of bugs by tag.
Helpful tags like “low-hanging-fruit” or
“documentation” can help you get started.
16 of 21
Submitting Code
Workflow Overview
$ git clone https://github.com/openstack/nova
$ cd nova
$ git checkout –b bug/12345
$ vi nova/my_amazing_bug_fix.py
$ vi nova/tests/unit/test_myfix.py
$ tox # < Don’t forget this!!
$ git add . && git commit
$ git review
Wait for patch feedback
$ vi nova/my_amazing_bug_fix.py
$ tox –e pep8
$ git add . && git commit --amend
$ git review
17 of 21
Submitting Code
Viewing check queue status
http://status.openstack.org/zuul/
18 of 21
Submitting Code
Rebasing
$ git checkout –b bug/12345
$ vi nova/my_amazing_bug_fix.py
$ git add . && git commit
$ git review
Merge Conflict!
$ git checkout master
$ git pull
$ git checkout bug/12345
$ git rebase master
$ vi nova/merge_conflict_file.py
$ git add nova/merge_conflict_file.py
$ git rebase --continue
$ git commit --amend
$ git review
19 of 21
Submitting Code
Bug Fixes, New Features, and Small Changes
Bug Fix
git checkout –b bug/12345
In commit message:
Closes-bug: #12345
New Feature
File blueprint on Launchpad
Submit spec and get approved if needed
git checkout –b feature_name
In commit message:
Implements: blueprint blueprint_name
Small cleanup or refactoring
git checkout –b descriptive_name
Make change and commit
20 of 21
References
OpenStack Documentation
• http://docs.openstack.org/
How to Contribute Wiki
• https://wiki.openstack.org/wiki/How_To_Contribute
Developer Manual
• http://docs.openstack.org/infra/manual/developers.html
The OpenStack Contribution Workflow

Weitere ähnliche Inhalte

Was ist angesagt?

Getting Started with OpenStack Development
Getting Started with OpenStack Development Getting Started with OpenStack Development
Getting Started with OpenStack Development
Rackspace
 
SFO15-TR6: Server Ecosystem Day (Part 6A)
SFO15-TR6: Server Ecosystem Day (Part 6A) SFO15-TR6: Server Ecosystem Day (Part 6A)
SFO15-TR6: Server Ecosystem Day (Part 6A)
Linaro
 

Was ist angesagt? (20)

Java EE with NetBeans on OpenShift
Java EE with NetBeans on OpenShiftJava EE with NetBeans on OpenShift
Java EE with NetBeans on OpenShift
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deploy
 
Your first patch to open stack
Your first patch to open stackYour first patch to open stack
Your first patch to open stack
 
Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31
Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31
Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31
 
OpenStack Upstream Training Cisco Live!
OpenStack Upstream Training Cisco Live!OpenStack Upstream Training Cisco Live!
OpenStack Upstream Training Cisco Live!
 
HKG15-204: OpenStack: 3rd party testing and performance benchmarking
HKG15-204: OpenStack: 3rd party testing and performance benchmarkingHKG15-204: OpenStack: 3rd party testing and performance benchmarking
HKG15-204: OpenStack: 3rd party testing and performance benchmarking
 
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibana
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and KibanaPuppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibana
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibana
 
How to Build & Deploy a HelloWorld API function using Java on OpenShift in...
How to Build & Deploy a HelloWorld API function using Java on OpenShift in...How to Build & Deploy a HelloWorld API function using Java on OpenShift in...
How to Build & Deploy a HelloWorld API function using Java on OpenShift in...
 
Getting Started with OpenStack Development
Getting Started with OpenStack Development Getting Started with OpenStack Development
Getting Started with OpenStack Development
 
Testing the Enterprise layers, with Arquillian
Testing the Enterprise layers, with ArquillianTesting the Enterprise layers, with Arquillian
Testing the Enterprise layers, with Arquillian
 
SFO15-TR6: Server Ecosystem Day (Part 6A)
SFO15-TR6: Server Ecosystem Day (Part 6A) SFO15-TR6: Server Ecosystem Day (Part 6A)
SFO15-TR6: Server Ecosystem Day (Part 6A)
 
Puppet Camp Paris 2015: Continuous Integration of Puppet Code (Intermediate)
Puppet Camp Paris 2015: Continuous Integration of Puppet Code (Intermediate) Puppet Camp Paris 2015: Continuous Integration of Puppet Code (Intermediate)
Puppet Camp Paris 2015: Continuous Integration of Puppet Code (Intermediate)
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
 
Why so continuous
Why so continuousWhy so continuous
Why so continuous
 
Writing Rust Command Line Applications
Writing Rust Command Line ApplicationsWriting Rust Command Line Applications
Writing Rust Command Line Applications
 
Jenkins Shared Libraries Workshop
Jenkins Shared Libraries WorkshopJenkins Shared Libraries Workshop
Jenkins Shared Libraries Workshop
 
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....? Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
 
Continuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL ServerContinuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL Server
 
TYPO3 Surf Introduction
TYPO3 Surf IntroductionTYPO3 Surf Introduction
TYPO3 Surf Introduction
 
Hands-on monitoring with Prometheus
Hands-on monitoring with PrometheusHands-on monitoring with Prometheus
Hands-on monitoring with Prometheus
 

Andere mochten auch

Rubinius @ RubyAndRails2010
Rubinius @ RubyAndRails2010Rubinius @ RubyAndRails2010
Rubinius @ RubyAndRails2010
Dirkjan Bussink
 
Debugging Ruby (Aman Gupta)
Debugging Ruby (Aman Gupta)Debugging Ruby (Aman Gupta)
Debugging Ruby (Aman Gupta)
MongoSF
 

Andere mochten auch (20)

OpenStack Tempest and REST API testing
OpenStack Tempest and REST API testingOpenStack Tempest and REST API testing
OpenStack Tempest and REST API testing
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
 
Copr HD OpenStack Day India
Copr HD OpenStack Day IndiaCopr HD OpenStack Day India
Copr HD OpenStack Day India
 
Your first patch to OpenStack
Your first patch to OpenStackYour first patch to OpenStack
Your first patch to OpenStack
 
Deploying openstack using ansible
Deploying openstack using ansibleDeploying openstack using ansible
Deploying openstack using ansible
 
Guts & OpenStack migration
Guts & OpenStack migrationGuts & OpenStack migration
Guts & OpenStack migration
 
OpenStack Storage Buddy Ceph
OpenStack Storage Buddy CephOpenStack Storage Buddy Ceph
OpenStack Storage Buddy Ceph
 
OPNFV & OpenStack
OPNFV & OpenStackOPNFV & OpenStack
OPNFV & OpenStack
 
OpenStack Neutron Behind The Senes
OpenStack Neutron Behind The SenesOpenStack Neutron Behind The Senes
OpenStack Neutron Behind The Senes
 
OpenStack Watcher
OpenStack WatcherOpenStack Watcher
OpenStack Watcher
 
OpenStack@Mini-Deb Conf'16 Mumbai
OpenStack@Mini-Deb Conf'16 MumbaiOpenStack@Mini-Deb Conf'16 Mumbai
OpenStack@Mini-Deb Conf'16 Mumbai
 
Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?
 
Zun presentation (OpenStack Barcelona summit)
Zun presentation (OpenStack Barcelona summit)Zun presentation (OpenStack Barcelona summit)
Zun presentation (OpenStack Barcelona summit)
 
OpenStack Architected Like AWS (and GCP)
OpenStack Architected Like AWS (and GCP)OpenStack Architected Like AWS (and GCP)
OpenStack Architected Like AWS (and GCP)
 
OpenStack NFV Edge computing for IOT microservices
OpenStack NFV Edge computing for IOT microservicesOpenStack NFV Edge computing for IOT microservices
OpenStack NFV Edge computing for IOT microservices
 
Introduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronIntroduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack Neutron
 
Rubinius @ RubyAndRails2010
Rubinius @ RubyAndRails2010Rubinius @ RubyAndRails2010
Rubinius @ RubyAndRails2010
 
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby Systems
 
Debugging Ruby (Aman Gupta)
Debugging Ruby (Aman Gupta)Debugging Ruby (Aman Gupta)
Debugging Ruby (Aman Gupta)
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
 

Ähnlich wie The OpenStack Contribution Workflow

Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
OpenCity Community
 
Openstack contribution process
Openstack contribution processOpenstack contribution process
Openstack contribution process
Syed Armani
 
OpenStack Contribution Process
OpenStack Contribution ProcessOpenStack Contribution Process
OpenStack Contribution Process
openstackindia
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
elliando dias
 

Ähnlich wie The OpenStack Contribution Workflow (20)

Assign, Commit, and Review
Assign, Commit, and ReviewAssign, Commit, and Review
Assign, Commit, and Review
 
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
 
Rakuten openstack
Rakuten openstackRakuten openstack
Rakuten openstack
 
Openstack contribution process
Openstack contribution processOpenstack contribution process
Openstack contribution process
 
OpenStack Contribution Process
OpenStack Contribution ProcessOpenStack Contribution Process
OpenStack Contribution Process
 
How to become open stack upstream contributor openstack days krakow 2018
How to become open stack upstream contributor   openstack days krakow 2018How to become open stack upstream contributor   openstack days krakow 2018
How to become open stack upstream contributor openstack days krakow 2018
 
How to become open stack upstream contributor
How to become open stack upstream contributorHow to become open stack upstream contributor
How to become open stack upstream contributor
 
Making your first OpenStack contribution (EuroPython)
Making your first OpenStack contribution (EuroPython)Making your first OpenStack contribution (EuroPython)
Making your first OpenStack contribution (EuroPython)
 
JavaEdge 2008: Your next version control system
JavaEdge 2008: Your next version control systemJavaEdge 2008: Your next version control system
JavaEdge 2008: Your next version control system
 
Bitcoin Development 2019 Starter Guide - No Skill | ProvenCrypto
Bitcoin Development 2019 Starter Guide - No Skill | ProvenCryptoBitcoin Development 2019 Starter Guide - No Skill | ProvenCrypto
Bitcoin Development 2019 Starter Guide - No Skill | ProvenCrypto
 
Contributing to Upstream Open Source Projects
Contributing to Upstream Open Source ProjectsContributing to Upstream Open Source Projects
Contributing to Upstream Open Source Projects
 
Gerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source codeGerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source code
 
Git as version control for Analytics project
Git as version control for Analytics projectGit as version control for Analytics project
Git as version control for Analytics project
 
Node.js what's next (Index 2018)
Node.js what's next (Index 2018)Node.js what's next (Index 2018)
Node.js what's next (Index 2018)
 
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - SydneySimplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
 
Version Uncontrolled! How to Manage Your Version Control
Version Uncontrolled! How to Manage Your Version ControlVersion Uncontrolled! How to Manage Your Version Control
Version Uncontrolled! How to Manage Your Version Control
 
Patterns for Open Source Success
Patterns for Open Source SuccessPatterns for Open Source Success
Patterns for Open Source Success
 
A Framework for Open Source Software Success
A Framework for Open Source Software SuccessA Framework for Open Source Software Success
A Framework for Open Source Software Success
 
Analysis of merge requests in GitLab using PVS-Studio for C#
Analysis of merge requests in GitLab using PVS-Studio for C#Analysis of merge requests in GitLab using PVS-Studio for C#
Analysis of merge requests in GitLab using PVS-Studio for C#
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
 

Mehr von openstackindia

Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
openstackindia
 
Outreachy with-openstack-zaqar
Outreachy with-openstack-zaqarOutreachy with-openstack-zaqar
Outreachy with-openstack-zaqar
openstackindia
 
Enhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world applicationEnhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world application
openstackindia
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges
openstackindia
 
Demistifying open stack storage
Demistifying open stack storageDemistifying open stack storage
Demistifying open stack storage
openstackindia
 
Why open stack database as a service offerings are doomed
Why open stack database as a service offerings are doomedWhy open stack database as a service offerings are doomed
Why open stack database as a service offerings are doomed
openstackindia
 
OpenStack Neutron Reverse Engineered
OpenStack Neutron Reverse EngineeredOpenStack Neutron Reverse Engineered
OpenStack Neutron Reverse Engineered
openstackindia
 
State of Linux Containers in OpenStack
State of Linux Containers in OpenStackState of Linux Containers in OpenStack
State of Linux Containers in OpenStack
openstackindia
 
Database experiences designing cassandra schema for keystone
Database experiences designing cassandra schema for keystone Database experiences designing cassandra schema for keystone
Database experiences designing cassandra schema for keystone
openstackindia
 
6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view
openstackindia
 
8 devstack beyond_hello-world
8 devstack beyond_hello-world8 devstack beyond_hello-world
8 devstack beyond_hello-world
openstackindia
 
7 distributed storage_open_stack
7 distributed storage_open_stack7 distributed storage_open_stack
7 distributed storage_open_stack
openstackindia
 
3 ubuntu open_stack_ceph
3 ubuntu open_stack_ceph3 ubuntu open_stack_ceph
3 ubuntu open_stack_ceph
openstackindia
 
2 planning your_open_stack_cloud
2 planning your_open_stack_cloud2 planning your_open_stack_cloud
2 planning your_open_stack_cloud
openstackindia
 

Mehr von openstackindia (19)

Introduction to Cinder
Introduction to CinderIntroduction to Cinder
Introduction to Cinder
 
Ceph openstack-jun-2015-meetup
Ceph openstack-jun-2015-meetupCeph openstack-jun-2015-meetup
Ceph openstack-jun-2015-meetup
 
Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
 
Outreachy with-openstack-zaqar
Outreachy with-openstack-zaqarOutreachy with-openstack-zaqar
Outreachy with-openstack-zaqar
 
Enhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world applicationEnhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world application
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges
 
Demistifying open stack storage
Demistifying open stack storageDemistifying open stack storage
Demistifying open stack storage
 
OpenStack Heat
OpenStack HeatOpenStack Heat
OpenStack Heat
 
Why open stack database as a service offerings are doomed
Why open stack database as a service offerings are doomedWhy open stack database as a service offerings are doomed
Why open stack database as a service offerings are doomed
 
OpenStack Neutron Reverse Engineered
OpenStack Neutron Reverse EngineeredOpenStack Neutron Reverse Engineered
OpenStack Neutron Reverse Engineered
 
State of Linux Containers in OpenStack
State of Linux Containers in OpenStackState of Linux Containers in OpenStack
State of Linux Containers in OpenStack
 
Database experiences designing cassandra schema for keystone
Database experiences designing cassandra schema for keystone Database experiences designing cassandra schema for keystone
Database experiences designing cassandra schema for keystone
 
6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view
 
8 devstack beyond_hello-world
8 devstack beyond_hello-world8 devstack beyond_hello-world
8 devstack beyond_hello-world
 
7 distributed storage_open_stack
7 distributed storage_open_stack7 distributed storage_open_stack
7 distributed storage_open_stack
 
5 cisco open_stack
5 cisco open_stack5 cisco open_stack
5 cisco open_stack
 
4 hp converged_cloud
4 hp converged_cloud4 hp converged_cloud
4 hp converged_cloud
 
3 ubuntu open_stack_ceph
3 ubuntu open_stack_ceph3 ubuntu open_stack_ceph
3 ubuntu open_stack_ceph
 
2 planning your_open_stack_cloud
2 planning your_open_stack_cloud2 planning your_open_stack_cloud
2 planning your_open_stack_cloud
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

The OpenStack Contribution Workflow

  • 2. 2 of 21 The Basics Account Setup and Agreements Launchpad Account Creation https://launchpad.net/+login Join the OpenStack Foundation “Foundation” membership level, not “community” https://www.openstack.org/join/ Register Nick IRC https://freenode.net/ /nick [desired_nick] /msg NickServ REGISTER password youremail@example.com
  • 3. 3 of 21 Code Contibution Setup Account Setup and Agreements Gerrit Login https://review.openstack.org/ Sign Contributor License Agreement https://review.openstack.org/#/settings/agreements https://wiki.openstack.org/wiki/GovernmentCLA (US Government)
  • 4. 4 of 21 Hang out on IRC • So much of OpenStack development happens on IRC • Best way to ask questions and discuss issues • Some general channels and project specific channels #openstack-dev #openstack-meeting #openstack-[project] Many IRC clients available for various operating systems as well as Freenode web chat: Clients: HexChat, LimeChat, irssi Web: http://webchat.freenode.net/
  • 5. 5 of 21 Join the Mailing List Lots of posts for announcements, development issues, etc. General: openstack Development: openstack-dev Announcements: openstack-announce Operators: openstack-operators More details and links to full list of mailing lists here: https://wiki.openstack.org/wiki/Mailing_Lists
  • 6. 6 of 21 Project Watch List Add interested projects to your watch list to get notifications. Go to https://review.openstack.org/#/settings/projects:
  • 7. 7 of 21 Add SSH Keys SSH public key must be registered to identify you when you push up code. Typically uses your default in ~/.ssh/id_rsa.pub but different key can also be used. Go to https://review.openstack.org/#/settings/ssh-keys:
  • 8. 8 of 21 Code Reviews Reviewing code with Gerrit One of the best places to start! Learn from others changes. See what kinds of issues are pointed out by other reviewers. Share your expertise or just help catch basic coding issues.
  • 9. 9 of 21 Code Reviews Gerrit Review Layout Lot’s of information!
  • 10. 10 of 21 Code Reviews Gerrit Review Layout
  • 11. 11 of 21 Code Reviews Gerrit Review Diff
  • 12. 12 of 21 Code Reviews Gerrit Review Navigation and Settings
  • 13. 13 of 21 Bug Tracking Launchpad Bug Management Bugs tracked on the Launchpad.net site. Overall list of all bugs in OpenStack projects: https://bugs.launchpad.net/openstack Project specific view of bugs: https://bugs.launchpad.net/cinder Search for bugs matching an issue you’ve found. Look for bugs you would like to work on.
  • 14. 14 of 21 Bug Tracking Working with bugs
  • 15. 15 of 21 Bug Tracking Bug Tags Look for specific categories of bugs by tag. Helpful tags like “low-hanging-fruit” or “documentation” can help you get started.
  • 16. 16 of 21 Submitting Code Workflow Overview $ git clone https://github.com/openstack/nova $ cd nova $ git checkout –b bug/12345 $ vi nova/my_amazing_bug_fix.py $ vi nova/tests/unit/test_myfix.py $ tox # < Don’t forget this!! $ git add . && git commit $ git review Wait for patch feedback $ vi nova/my_amazing_bug_fix.py $ tox –e pep8 $ git add . && git commit --amend $ git review
  • 17. 17 of 21 Submitting Code Viewing check queue status http://status.openstack.org/zuul/
  • 18. 18 of 21 Submitting Code Rebasing $ git checkout –b bug/12345 $ vi nova/my_amazing_bug_fix.py $ git add . && git commit $ git review Merge Conflict! $ git checkout master $ git pull $ git checkout bug/12345 $ git rebase master $ vi nova/merge_conflict_file.py $ git add nova/merge_conflict_file.py $ git rebase --continue $ git commit --amend $ git review
  • 19. 19 of 21 Submitting Code Bug Fixes, New Features, and Small Changes Bug Fix git checkout –b bug/12345 In commit message: Closes-bug: #12345 New Feature File blueprint on Launchpad Submit spec and get approved if needed git checkout –b feature_name In commit message: Implements: blueprint blueprint_name Small cleanup or refactoring git checkout –b descriptive_name Make change and commit
  • 20. 20 of 21 References OpenStack Documentation • http://docs.openstack.org/ How to Contribute Wiki • https://wiki.openstack.org/wiki/How_To_Contribute Developer Manual • http://docs.openstack.org/infra/manual/developers.html