SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Lets Fix a Bug ...
Suppose You saw a bug like this one in the Code or Docs




Line 55 and 57 are duplicate lines. Now you wish to fix it by
removing the duplicate line so what you need to do ?
STEP 1


(A). Sign the CLA, Every developer needs to sign the Individual Contributor License
agreement.

(B) Create a Launchpad Account( https://launchpad.net/) if you don't have one. Its a
must.

(C). Add yourself to the contributors wiki, On the Contributors page, include your
Launchpad ID, your CLA Echosign Transaction Number and your Corporate
Affiliation(if there is any). The information provided will be used by authorized
members to approve your request (see next step). Use your Launchpad ID as your
username for the wiki.

(D). Request membership in the openstack-cla group on Launchpad. Visit
https://launchpad.net/~openstack-cla/+join to join this group. Membership in this
group is required in order to submit code changes.
STEP 2: Setting Up the Environment


    We found the bug in the Tempest, So we need to get the source code of tempest
    project from the github repo but before we fix the bug we need to set up the
    environment.

●   Install git on your local machine. Ex: On ubuntu just type sudo apt-get install git-core

●   Configure Your user name and password:
    git config --global user.name "Firstname Lastname"
    git config --global user.email "your_email@youremail.com"

●   Install git-review tool
      On ubuntu: sudo apt-get install git-review
      On other unix like systems: pip install git-review
STEP 3: Getting the Code



●   To get a copy of any of the OpenStack projects, you can look at the Github
    OpenStack organization and browse, or you can directly clone the repository.
    Like here to fix our bug we need a clone of Tempest so we will clone the
    Tempest repository on our local machine like this:

    git clone git://github.com/openstack/tempest.git
STEP 4: Fix the Bug

●   Enter in to tempest directory and let git-review tool to configure your project. Make sure
    your gerrit/launchpad user name is the same as the current running user.
        $ cd tempest
        $ git review -s

●   Get the latest upstream changes:
       $ git remote update
       $ git checkout master
       $ git pull origin master

●   Create a TOPIC branch i.e. Create a branch with a name which tells something about
    your changes. Like here we will use duplicate_line_in_base.py

      $ git checkout -b duplicate_line_in_base.py

●   Open the base.py file in your favourite text editor, Remove the duplicate line and save
    it.

●   Now commit your change with a commit message. You can read more about commit
    messages on http://wiki.openstack.org/GitCommitMessages.

     $git commit -am “Removed the duplicate line from base.py. It will fix this bug #1234”

●   Finally send the code for review.
     $ git review
What happens after you submit a change

Any Openstack developer may propose or comment on a change (including
voting +1/0/-1 on it). Openstack projects have a policy requiring two positive
reviews from core reviewers.

When a review has two +2 reviews and one of the core team believes it is
ready to be merged, he or she should leave a +1 vote in the "Approved"
category. You may do so by clicking the "Review" button again, with or
without changing your code review vote and optionally leaving a comment.
When a +1 Approved review is received, Jenkins will run tests on the
change, and if they pass, it will be merged.
Few links to understand the process more thoroughly

Gerrit Workflow
http://wiki.openstack.org/GerritWorkflow

Gerrit, Jenkins, and GitHub
http://wiki.openstack.org/GerritJenkinsGithub

How To Contribute
http://wiki.openstack.org/HowToContribute

Weitere ähnliche Inhalte

Was ist angesagt?

A Simple Introduction to Git
A Simple Introduction to GitA Simple Introduction to Git
A Simple Introduction to Git
Daniel Tai
 
BSADD-Git-TRAINING
BSADD-Git-TRAININGBSADD-Git-TRAINING
BSADD-Git-TRAINING
bsadd
 
VersionControl_ACM
VersionControl_ACMVersionControl_ACM
VersionControl_ACM
Alex Meade
 

Was ist angesagt? (20)

Develop FOSS project using Google Code Hosting
Develop FOSS project using Google Code HostingDevelop FOSS project using Google Code Hosting
Develop FOSS project using Google Code Hosting
 
Git102
Git102Git102
Git102
 
Git & Github Workshop - Le Wagon Melbourne
Git & Github Workshop - Le Wagon MelbourneGit & Github Workshop - Le Wagon Melbourne
Git & Github Workshop - Le Wagon Melbourne
 
How To Use The Codename One Sources
How To Use The Codename One SourcesHow To Use The Codename One Sources
How To Use The Codename One Sources
 
Deploy Laravel on Heroku
Deploy Laravel on HerokuDeploy Laravel on Heroku
Deploy Laravel on Heroku
 
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
 
Git Workshop
Git WorkshopGit Workshop
Git Workshop
 
Git cheatsheet
Git cheatsheetGit cheatsheet
Git cheatsheet
 
Github tutorial1
Github tutorial1Github tutorial1
Github tutorial1
 
Share your code with the Python world by
 creating pip packages
Share your code with the Python world by
 creating pip packagesShare your code with the Python world by
 creating pip packages
Share your code with the Python world by
 creating pip packages
 
Overview of github
Overview of githubOverview of github
Overview of github
 
From svn to git
From svn to gitFrom svn to git
From svn to git
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
A Simple Introduction to Git
A Simple Introduction to GitA Simple Introduction to Git
A Simple Introduction to Git
 
Bsadd training-git
Bsadd training-gitBsadd training-git
Bsadd training-git
 
BSADD-Git-TRAINING
BSADD-Git-TRAININGBSADD-Git-TRAINING
BSADD-Git-TRAINING
 
Atlanta Pm Git 101
Atlanta Pm Git 101Atlanta Pm Git 101
Atlanta Pm Git 101
 
git flow
git flowgit flow
git flow
 
Git flow workflow example
Git flow workflow exampleGit flow workflow example
Git flow workflow example
 
VersionControl_ACM
VersionControl_ACMVersionControl_ACM
VersionControl_ACM
 

Andere mochten auch

2 planning your_open_stack_cloud
2 planning your_open_stack_cloud2 planning your_open_stack_cloud
2 planning your_open_stack_cloud
openstackindia
 
1 open stack_community_india_the_future
1 open stack_community_india_the_future1 open stack_community_india_the_future
1 open stack_community_india_the_future
openstackindia
 
8 devstack beyond_hello-world
8 devstack beyond_hello-world8 devstack beyond_hello-world
8 devstack beyond_hello-world
openstackindia
 
VMware compute driver for OpenStack
VMware compute driver for OpenStackVMware compute driver for OpenStack
VMware compute driver for OpenStack
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
 
State of Linux Containers in OpenStack
State of Linux Containers in OpenStackState of Linux Containers in OpenStack
State of Linux Containers in OpenStack
openstackindia
 

Andere mochten auch (6)

2 planning your_open_stack_cloud
2 planning your_open_stack_cloud2 planning your_open_stack_cloud
2 planning your_open_stack_cloud
 
1 open stack_community_india_the_future
1 open stack_community_india_the_future1 open stack_community_india_the_future
1 open stack_community_india_the_future
 
8 devstack beyond_hello-world
8 devstack beyond_hello-world8 devstack beyond_hello-world
8 devstack beyond_hello-world
 
VMware compute driver for OpenStack
VMware compute driver for OpenStackVMware compute driver for OpenStack
VMware compute driver for OpenStack
 
6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view
 
State of Linux Containers in OpenStack
State of Linux Containers in OpenStackState of Linux Containers in OpenStack
State of Linux Containers in OpenStack
 

Ähnlich wie OpenStack Contribution Process

Life of a Chromium Developer
Life of a Chromium DeveloperLife of a Chromium Developer
Life of a Chromium Developer
mpaproductions
 
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
 

Ähnlich wie OpenStack Contribution Process (20)

Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and Github
 
Amending and Testing changes lab guide
Amending and Testing changes lab guideAmending and Testing changes lab guide
Amending and Testing changes lab guide
 
3DC Intro to Git Workshop
3DC Intro to Git Workshop3DC Intro to Git Workshop
3DC Intro to Git Workshop
 
Bitbucket git-bamboo-jira
Bitbucket git-bamboo-jiraBitbucket git-bamboo-jira
Bitbucket git-bamboo-jira
 
Submitting and Reviewing changes lab guide
Submitting and Reviewing changes lab guideSubmitting and Reviewing changes lab guide
Submitting and Reviewing changes lab guide
 
Github - Le Wagon Melbourne
Github - Le Wagon MelbourneGithub - Le Wagon Melbourne
Github - Le Wagon Melbourne
 
Git Basics
Git BasicsGit Basics
Git Basics
 
Version control with git
Version control with gitVersion control with git
Version control with git
 
Git
GitGit
Git
 
Life of a Chromium Developer
Life of a Chromium DeveloperLife of a Chromium Developer
Life of a Chromium Developer
 
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...
 
Developing with versioning and CI/CD
Developing with versioning and CI/CDDeveloping with versioning and CI/CD
Developing with versioning and CI/CD
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes Developers
 
Assign, Commit, and Review
Assign, Commit, and ReviewAssign, Commit, and Review
Assign, Commit, and Review
 
Nina Zakharenko - Introduction to Git - Start SLC 2015
Nina Zakharenko - Introduction to Git - Start SLC 2015Nina Zakharenko - Introduction to Git - Start SLC 2015
Nina Zakharenko - Introduction to Git - Start SLC 2015
 
git github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptxgit github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptx
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
Contributing to Upstream Open Source Projects
Contributing to Upstream Open Source ProjectsContributing to Upstream Open Source Projects
Contributing to Upstream Open Source Projects
 
GIT By Sivakrishna
GIT By SivakrishnaGIT By Sivakrishna
GIT By Sivakrishna
 
Git best practices 2016
Git best practices 2016Git best practices 2016
Git best practices 2016
 

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
 

Mehr von openstackindia (20)

Guts & OpenStack migration
Guts & OpenStack migrationGuts & OpenStack migration
Guts & OpenStack migration
 
Copr HD OpenStack Day India
Copr HD OpenStack Day IndiaCopr HD OpenStack Day India
Copr HD OpenStack Day India
 
OPNFV & OpenStack
OPNFV & OpenStackOPNFV & OpenStack
OPNFV & OpenStack
 
Your first patch to OpenStack
Your first patch to OpenStackYour first patch to OpenStack
Your first patch to OpenStack
 
OpenStack Neutron Behind The Senes
OpenStack Neutron Behind The SenesOpenStack Neutron Behind The Senes
OpenStack Neutron Behind The Senes
 
OpenStack Storage Buddy Ceph
OpenStack Storage Buddy CephOpenStack Storage Buddy Ceph
OpenStack Storage Buddy Ceph
 
OpenStack Watcher
OpenStack WatcherOpenStack Watcher
OpenStack Watcher
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
 
The OpenStack Contribution Workflow
The OpenStack Contribution WorkflowThe OpenStack Contribution Workflow
The OpenStack Contribution Workflow
 
Introduction to Cinder
Introduction to CinderIntroduction to Cinder
Introduction to Cinder
 
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
 
OpenStack Tempest and REST API testing
OpenStack Tempest and REST API testingOpenStack Tempest and REST API testing
OpenStack Tempest and REST API testing
 
Deploying openstack using ansible
Deploying openstack using ansibleDeploying openstack using ansible
Deploying openstack using ansible
 
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
 

Kürzlich hochgeladen

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
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
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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...
 
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
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

OpenStack Contribution Process

  • 1. Lets Fix a Bug ...
  • 2. Suppose You saw a bug like this one in the Code or Docs Line 55 and 57 are duplicate lines. Now you wish to fix it by removing the duplicate line so what you need to do ?
  • 3. STEP 1 (A). Sign the CLA, Every developer needs to sign the Individual Contributor License agreement. (B) Create a Launchpad Account( https://launchpad.net/) if you don't have one. Its a must. (C). Add yourself to the contributors wiki, On the Contributors page, include your Launchpad ID, your CLA Echosign Transaction Number and your Corporate Affiliation(if there is any). The information provided will be used by authorized members to approve your request (see next step). Use your Launchpad ID as your username for the wiki. (D). Request membership in the openstack-cla group on Launchpad. Visit https://launchpad.net/~openstack-cla/+join to join this group. Membership in this group is required in order to submit code changes.
  • 4. STEP 2: Setting Up the Environment We found the bug in the Tempest, So we need to get the source code of tempest project from the github repo but before we fix the bug we need to set up the environment. ● Install git on your local machine. Ex: On ubuntu just type sudo apt-get install git-core ● Configure Your user name and password: git config --global user.name "Firstname Lastname" git config --global user.email "your_email@youremail.com" ● Install git-review tool On ubuntu: sudo apt-get install git-review On other unix like systems: pip install git-review
  • 5. STEP 3: Getting the Code ● To get a copy of any of the OpenStack projects, you can look at the Github OpenStack organization and browse, or you can directly clone the repository. Like here to fix our bug we need a clone of Tempest so we will clone the Tempest repository on our local machine like this: git clone git://github.com/openstack/tempest.git
  • 6. STEP 4: Fix the Bug ● Enter in to tempest directory and let git-review tool to configure your project. Make sure your gerrit/launchpad user name is the same as the current running user. $ cd tempest $ git review -s ● Get the latest upstream changes: $ git remote update $ git checkout master $ git pull origin master ● Create a TOPIC branch i.e. Create a branch with a name which tells something about your changes. Like here we will use duplicate_line_in_base.py $ git checkout -b duplicate_line_in_base.py ● Open the base.py file in your favourite text editor, Remove the duplicate line and save it. ● Now commit your change with a commit message. You can read more about commit messages on http://wiki.openstack.org/GitCommitMessages. $git commit -am “Removed the duplicate line from base.py. It will fix this bug #1234” ● Finally send the code for review. $ git review
  • 7. What happens after you submit a change Any Openstack developer may propose or comment on a change (including voting +1/0/-1 on it). Openstack projects have a policy requiring two positive reviews from core reviewers. When a review has two +2 reviews and one of the core team believes it is ready to be merged, he or she should leave a +1 vote in the "Approved" category. You may do so by clicking the "Review" button again, with or without changing your code review vote and optionally leaving a comment. When a +1 Approved review is received, Jenkins will run tests on the change, and if they pass, it will be merged.
  • 8. Few links to understand the process more thoroughly Gerrit Workflow http://wiki.openstack.org/GerritWorkflow Gerrit, Jenkins, and GitHub http://wiki.openstack.org/GerritJenkinsGithub How To Contribute http://wiki.openstack.org/HowToContribute