Getting Started with Contribution to Openstack

Slides:



Advertisements
Similar presentations
Ravi Mathur Updated December 5,  ODTBX uses Git (see the ODTBX Git Tutorial) ODTBXODTBX Git Tutorial ◦ SourceForge account needed (free). SourceForge.
Advertisements

Github. Download & install git   Git bash  Git GUI.
Automating Drupal Deployment Dominique De Cooman.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
OPNFV DEVELOPER TOOLS.
RMG Study Group Session I: Git, Sphinx, webRMG Connie Gao 9/20/
Peter Ogden and Josh Levine.  Motivation  High level overview  Walk through the common operations  How not to break things (too badly)
Created by: Maria Abrahms Modified Date: Classification: How to get it done Contributing to OpenStack.
Version Control. How do you share code? Discussion.
Development Environment Matthew Sell, CSSE Student MASS Research Participant, October 2014.
Gotta get Git Chris Sherwood and Alfredo Aretxabaleta USGS Woods Hole.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
Sofia Event Center May 2014 Martin Kulov Git For TFS Developers.
Intro to Git presented by Brian K. Vagnini Hosted by.
INTRODUCTION TO GIT. Install Egit for eclipse Open eclipse->Help->Install New Software Search for one of the following -
Git How to 1. Why Git To resolve problems in lab exams (accidental deletions) Use existing Libraries with ease (Statistics and Computer) Prepare undergraduates.
Installing git In Linux: sudo apt-get install git In Windows: download it from run the setuphttp://git-scm.com/download/win.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
The Site Architecture You Can Edit Varnish Mobile? Ryan Lane Wikimedia Foundation Membase? Swift.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Introduction to Git Thomas.
Git 101 Or, How to sanely manage your Koha customizations.
Jun-Ru Chang Introduction GIT Jun-Ru Chang
KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association STEINBUCH CENTRE FOR COMPUTING - SCC
QA Process within OEM Services Ethan Chang QA Engineer OEM Service, Canonical
Basics of GIT for developers and system administrators
CS5220 Advanced Topics in Web Programming Version Control with Git
M.Sc. Juan Carlos Olivares Rojas
Git primer Landon Cox January 19, 2017.
Development process Douglas Schilling Landgraf
Open Source Systems Administration
CReSIS Git Tutorial.
LECTURE 2: Software Configuration Management
Version Control.
CS/COE 1520 Recitation Week 2
Integration Methodology and Procedures
Version Control overview
Version Control System using Git
How 2 contribute to Mozilla code base
ALICE-Juniors Meeting
CMRTA Website Handbook:.
Macaualy2 Workshop Berkeley 2017
The Websites Team Robert Mayr (robyduck).
An introduction to version control systems with Git
SU Development Forum Introduction to Git - Save your projects!
Distributed Version Control with git
Akshay Narayan git up to speed with RCS Akshay Narayan
An introduction to version control systems with Git
Version Control with git
LECTURE 3: Software Configuration Management
Onboarding Session Victoria Martinez de la Cruz (vkmc)
Setting up Git, GitBash, and GitHub
An introduction to version control systems with Git
Site user manual.
Advantages Project Career Divide & Conquer Collaboration
Version control with Git Part II
Using Github.
Version control with Git
Introduction to Git and GitHub
Version Control with Git
Version Control with Git and GitHub
Introduction to Git and Github
Git GitHub.
Introduction to The Git Version Control System
PyWBEM Python WBEM Client: Overview #2
Download the PPT and code from github as below
Overview on CI Use JJB (Jenkins Job Builder) to manage Jenkins jobs.
An Introduction Michael Hall.
Presentation transcript:

Getting Started with Contribution to Openstack Created by: Yatin Karel IRC Nick: ykarel

Openstack Project Management that you need to know Source Code for Services/Libraries/Clients:- https://github.com/openstack https://github.com/openstack/<project-name> Bugs are tracked at:- https://bugs.launchpad.net/ https://bugs.launchpad.net/<project-name> Code Review is done at:- https://review.openstack.org/ https://review.openstack.org/#/q/project:openstack/<project-name>

Communication IRC:- Each project has his own channel for discussion and meetings on freenode server https://wiki.openstack.org/wiki/IRCpage IRC Logs http://eavesdrop.openstack.org/irclogs Mailing lists: For open discussion/announcement across teams https://wiki.openstack.org/wiki/Mailing_Lists

Setup Accounts Launchpad: This will create single sign-on for review.openstack.org also https://login.launchpad.net/3nNMopjfRFPZ7i5t/+login Join as a Foundation member: https://www.openstack.org/join/register/?membership-type=foundation Login to review.openstack.org, go to settings page: https://review.openstack.org/#/settings/ and:- On “Profile” TAB set a username(can use same as launchpad username) On “Agreements TAB”, sign ICLA(Join as Foundation member is required for this) On “SSH Public Keys” TAB, add your public ssh key.

Contribution to openstack Contribution can be done in many ways:- Filing bugs on launchpad, but remember to give details for the bugs. Triaging bugs on launchpad if you know the fix Resolving queries on IRC/Mailing lists Submitting patches: functional or non-functional Reviewing patches Drafting/Implementing features Not tried devstack yet, try it you will learn more. Reference from our last meetup:- https://review.rdoproject.org/etherpad/p/devstack_vm

Setup your development environment For Centos, Fedora, RHEL:- $ sudo yum install -y python-devel openssl-devel mysql-devel libffi-devel git git-review gcc python-pip python-tox For Ubuntu:- $ sudo apt install -y python-dev openssl-dev mysql-dev libffi-dev git git-review gcc python-pip python-tox $ git config --global user.name "Firstname Lastname" $ git config --global user.email "your_email@youremail.com" $ git config --global gitreview.username “your gerrit username”

Clone and push source code for review # Clone project code locally and start contributing $ git clone https://github.com/openstack/<project-name> $ git checkout -b <topic-branch> # Update source code and run unit tests locally as defined in project guide, mostly tox is used to run tests in a virtualenv $ tox -epy27 #can check tox.ini for available options like py27,py35, pep8 etc # Fix failures and push your code for review $ git commit -a -m “Your commit message one line” $ git review -s # Add description to the commit message $ git commit --amend $ git review You will get review link in the output of above command

Post source code push The source code is tested against predefined test jobs(check pipeline: see example [0]) for a project, jobs, events, triggers all are automated and are defined in following repository: https://github.com/openstack-infra/project-config (see example [1] and [2]). Status of jobs can be checked at: http://zuul.openstack.org/ Examples:- [0] https://github.com/openstack-infra/project-config/blob/51eac26270a0fab52bafe4dbc414183d8f208f99/zuul/layout.yaml#L4-L5 [1]https://github.com/openstack-infra/project-config/blob/51eac26270a0fab52bafe4dbc414183d8f208f99/zuul/layout.yaml#L12742-L12804 [2]https://github.com/openstack-infra/project-config/blob/51eac26270a0fab52bafe4dbc414183d8f208f99/zuul/layout.yaml#L11257,L11293

continue... Jenkins review (-1, +1) Peer review (-1, 0, +1) Core review (-2, -1, 0, +1, +2) and Workflow(-1, 0, +1) After Workflow(+1) from Core Reviewer, Gate jobs defined in openstack-infra/project- config are run, see examples [0] Examples:- [0] https://github.com/openstack-infra/project-config/blob/51eac26270a0fab52bafe4dbc414183d8f208f99/zuul/layout.yaml#L11279-L11284

continue... Check logs for failures and fix the issues. Logs are stored at logs.openstack.org, the result of jobs contains the link to logs. During the test run also logs can be checked at logs.openstack.org/<last 2 digit of review id>/<review id> Some sample reviews:- Submit your first patch:-

Thank You….