SlideShare a Scribd company logo
1 of 11
Download to read offline
OpenStack Contribution
How to Contribute
안승규 (Stephen Ahn)
28-March-2014
skanddh@gmail.com
http://www.ahnseungkyu.com
launchpad 사용자 등록
1. launchpad.net
- https://launchpad.net/openstack
2. Blueprints & Bugs
- https://blueprints.launchpad.net/cinder/<Project>/<버전>
- https://bugs.launchpad.net/<Project>
Gerrit 정보 등록
1. review 사이트 접속
- https://review.openstack.org/
2. Settings 정보 등록
- SSH Public Keys 등록
- Contact Information 등록
- Agreements 등록
소스 다운로드 및 설정
1. 소스 다운로드
- git clone http://git.openstack.org/openstack/nova.git
2. 브라우저에서 review port 확인
- https://review.openstack.org/ssh_info
3. Settings username
- git config --global --add gitreview.username “StephenAhn”
- git config --global --add user.name “Stephen Ahn”
- git config --global --add user.email “skanddh@gmail.com”
4. Testing Gerrit Connections
- ssh -p 29418 StephenAhn@review.openstack.org
소스 다운로드 및 설정
5. 단축 경로 저장
- vi ~/.ssh/config
Host review
Hostname reivew.openstack.org
Port 29418
User StephenAhn
6. gerrit remote 확인 및 change-id 자동 세팅
- git review -s
7. remote url 확인 및 commit-msg 파일 존재 확인
- git remote -v
- ls .git/hooks/commit-msg
소스 다운로드 및 설정
8. gerrit review -s 확인 시 에러 나면 remote 추가
- git remote add gerrit
ssh://StephenAhn@review.openstack.org:29418/openstack/nova.git
9. 수정 중에 최신 소스로 다운받기
- git remote update
- git checkout master
- git pull --ff-only origin master
10. Blueprint 등록 및 Branch 생성
- launchpad 에 Blueprint 등록
- git checkout -b bp/local-storage-volume-scheduling
11. commit message 입력
- git commit --amend
첫번째 줄은 50자 이내로 간단히 요약하여 쓴다.
n
설명은 한 줄에 72자 까지 쓴다.
…
DocImpact
Related to nova-network-objects  다른 bp (여기서는 nova-network-objects)와 연관이 있을 때
Implements: blueprint local-storage-volume-scheduling  Blueprint 일 때
Closed-Bug: #1276088  Bug 일 때
소스 다운로드 및 설정
12. Commit message에 신경써서 넣어야 할 String
- DocImpact : 도큐먼트에 영향을 미칠 때 넣음
- SecurityImpact : 보안 문제가 있을 때
- UpgradeImpact : 업그레이드에 영향을 미칠 때
(release notes 의 ‘Upgrade Notes’ section 수정 고려)
13. unit test 및 pep8 테스트
- ./run_tests.sh
- ./run_tests.sh -p
14. review 등록
- git review
Continuous Integration Process
nova/master nova/master
nova/fix-bug-foo
nova/fix-bug-foo
bugs.launchpad.net
Jenkins
Gerrit
1. clone
2. branch
4. Fix changes
Run unit tests
Git commit
Review (+2, +1/-1)
5. changes
6. trigger
Test/review
3. Create issue7. merge
Track changes
Your RepoCI Environment
pull
Continuous Integration 시나리오
1. 신규 Issue 등록
– bugs.launchpad.net 신규 Issue 등록 (Issue 번호 생성)
2. Branch 생성
– 신규 Issue 에 대한 Branch 생성
– unit test code 작성 및 로직 수정
3. Source code Push
– git review 로 로컬 source code 를 소스저장소에 올림
4. 1차 unit test
– review 로 올라온 코드에 대해 Jenkins 가 자동으로 unit
test 수행
5. Review 완료 및 소스 Merge
– Gerrit 을 활용한 소스 Review 및 Merge
How to Contribute
• Making an account at launchpad.net
• Join the OpenStack developers mailing list &
#openstack-dev IRC Channel
• Confirming to code review system information
• Agreeing to the CLA (Contributors License Agreement)
• Writing Blueprints
• Getting the OpenStack code
• Setting up gerrit environment
• Making a git new branch
• pushing the your code
How to contribute at OpenStack

More Related Content

What's hot

오픈스택을다루는기술 집필후기
오픈스택을다루는기술 집필후기오픈스택을다루는기술 집필후기
오픈스택을다루는기술 집필후기Nalee Jang
 
Build the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouseBuild the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHousejieun kim
 
오픈스택커뮤니티와기술동향
오픈스택커뮤니티와기술동향오픈스택커뮤니티와기술동향
오픈스택커뮤니티와기술동향Nalee Jang
 
2017 k8s and OpenStack-Helm
2017 k8s and OpenStack-Helm2017 k8s and OpenStack-Helm
2017 k8s and OpenStack-HelmSK Telecom
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여Ji-Woong Choi
 
OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1
OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1
OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1Ji-Woong Choi
 
Tokyo Upstream Training 후기 @OpenStack 한국 커뮤니티 2015년 하반기 스터디
Tokyo Upstream Training 후기 @OpenStack 한국 커뮤니티 2015년 하반기 스터디Tokyo Upstream Training 후기 @OpenStack 한국 커뮤니티 2015년 하반기 스터디
Tokyo Upstream Training 후기 @OpenStack 한국 커뮤니티 2015년 하반기 스터디Ian Choi
 
[2015-05월 세미나] 파이선 초심자의 Openstack
[2015-05월 세미나] 파이선 초심자의 Openstack[2015-05월 세미나] 파이선 초심자의 Openstack
[2015-05월 세미나] 파이선 초심자의 OpenstackOpenStack Korea Community
 
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystemSungjin Kang
 
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개OpenStack Korea Community
 
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티OpenStack Korea Community
 
OpenStack을 이용한 Commodity 하드웨어의 클라우드 전환
OpenStack을 이용한 Commodity 하드웨어의 클라우드 전환OpenStack을 이용한 Commodity 하드웨어의 클라우드 전환
OpenStack을 이용한 Commodity 하드웨어의 클라우드 전환mosaicnet
 
오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기영우 김
 
Open stack 세미나자료_장현정
Open stack 세미나자료_장현정Open stack 세미나자료_장현정
Open stack 세미나자료_장현정Nalee Jang
 
[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개
[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개
[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개OpenStack Korea Community
 
150326 openstack, glance 김지은
150326 openstack, glance 김지은150326 openstack, glance 김지은
150326 openstack, glance 김지은jieun kim
 
KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)
KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)
KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)Ubuntu Korea Community
 
[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack Community[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack CommunityOpen Source Consulting
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링OpenStack Korea Community
 

What's hot (20)

오픈스택을다루는기술 집필후기
오픈스택을다루는기술 집필후기오픈스택을다루는기술 집필후기
오픈스택을다루는기술 집필후기
 
Build the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouseBuild the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouse
 
오픈스택커뮤니티와기술동향
오픈스택커뮤니티와기술동향오픈스택커뮤니티와기술동향
오픈스택커뮤니티와기술동향
 
2017 k8s and OpenStack-Helm
2017 k8s and OpenStack-Helm2017 k8s and OpenStack-Helm
2017 k8s and OpenStack-Helm
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여
 
OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1
OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1
OpenStack 인스턴스 간략 사용자_매뉴얼(liberty)_v1
 
Tokyo Upstream Training 후기 @OpenStack 한국 커뮤니티 2015년 하반기 스터디
Tokyo Upstream Training 후기 @OpenStack 한국 커뮤니티 2015년 하반기 스터디Tokyo Upstream Training 후기 @OpenStack 한국 커뮤니티 2015년 하반기 스터디
Tokyo Upstream Training 후기 @OpenStack 한국 커뮤니티 2015년 하반기 스터디
 
[2015-05월 세미나] 파이선 초심자의 Openstack
[2015-05월 세미나] 파이선 초심자의 Openstack[2015-05월 세미나] 파이선 초심자의 Openstack
[2015-05월 세미나] 파이선 초심자의 Openstack
 
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
 
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
 
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
 
OpenStack을 이용한 Commodity 하드웨어의 클라우드 전환
OpenStack을 이용한 Commodity 하드웨어의 클라우드 전환OpenStack을 이용한 Commodity 하드웨어의 클라우드 전환
OpenStack을 이용한 Commodity 하드웨어의 클라우드 전환
 
오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기
 
Docker for V-Raptor(ARM Server)
Docker for V-Raptor(ARM Server)Docker for V-Raptor(ARM Server)
Docker for V-Raptor(ARM Server)
 
Open stack 세미나자료_장현정
Open stack 세미나자료_장현정Open stack 세미나자료_장현정
Open stack 세미나자료_장현정
 
[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개
[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개
[OpenStack Days Korea 2016] Track4 - 오픈스택을 공부합시다 - 커뮤니티 스터디 분과 소개
 
150326 openstack, glance 김지은
150326 openstack, glance 김지은150326 openstack, glance 김지은
150326 openstack, glance 김지은
 
KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)
KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)
KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)
 
[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack Community[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack Community
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
 

Similar to How to contribute at OpenStack

[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1Ji-Woong Choi
 
Internship backend
Internship backendInternship backend
Internship backendYein Sim
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트Ji-Woong Choi
 
[네이버오픈소스세미나] Next Generation Spring Security OAuth2.0 - 이명현
[네이버오픈소스세미나] Next Generation Spring Security OAuth2.0 - 이명현[네이버오픈소스세미나] Next Generation Spring Security OAuth2.0 - 이명현
[네이버오픈소스세미나] Next Generation Spring Security OAuth2.0 - 이명현NAVER Engineering
 
DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기SeungYong Baek
 
Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발지수 윤
 
postgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdfpostgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdfLee Dong Wook
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Jaehoon Kim
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반BJ Jang
 
Meteor Korea DEV School 1st day
Meteor Korea DEV School 1st dayMeteor Korea DEV School 1st day
Meteor Korea DEV School 1st dayseung-hyun Park
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Park JoongSoo
 
빠르고 지속적으로 전달하기: Continuous Delivery for Android
빠르고 지속적으로 전달하기: Continuous Delivery for Android빠르고 지속적으로 전달하기: Continuous Delivery for Android
빠르고 지속적으로 전달하기: Continuous Delivery for AndroidSangkyoon Nam
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: YeomanJae Sung Park
 
Scouter Tutorial & Sprint
Scouter Tutorial & SprintScouter Tutorial & Sprint
Scouter Tutorial & SprintGunHee Lee
 
텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축I Goo Lee
 
PCF Installation Guide
PCF Installation GuidePCF Installation Guide
PCF Installation Guideseungdon Choi
 

Similar to How to contribute at OpenStack (20)

[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
 
Internship backend
Internship backendInternship backend
Internship backend
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
 
[네이버오픈소스세미나] Next Generation Spring Security OAuth2.0 - 이명현
[네이버오픈소스세미나] Next Generation Spring Security OAuth2.0 - 이명현[네이버오픈소스세미나] Next Generation Spring Security OAuth2.0 - 이명현
[네이버오픈소스세미나] Next Generation Spring Security OAuth2.0 - 이명현
 
DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기
 
Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발
 
postgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdfpostgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdf
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반
 
Gitlab.key
Gitlab.keyGitlab.key
Gitlab.key
 
Meteor Korea DEV School 1st day
Meteor Korea DEV School 1st dayMeteor Korea DEV School 1st day
Meteor Korea DEV School 1st day
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
 
Spring boot
Spring bootSpring boot
Spring boot
 
빠르고 지속적으로 전달하기: Continuous Delivery for Android
빠르고 지속적으로 전달하기: Continuous Delivery for Android빠르고 지속적으로 전달하기: Continuous Delivery for Android
빠르고 지속적으로 전달하기: Continuous Delivery for Android
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
 
Scouter Tutorial & Sprint
Scouter Tutorial & SprintScouter Tutorial & Sprint
Scouter Tutorial & Sprint
 
텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축
 
PCF Installation Guide
PCF Installation GuidePCF Installation Guide
PCF Installation Guide
 
Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
 
okspring3x
okspring3xokspring3x
okspring3x
 

How to contribute at OpenStack

  • 1. OpenStack Contribution How to Contribute 안승규 (Stephen Ahn) 28-March-2014 skanddh@gmail.com http://www.ahnseungkyu.com
  • 2. launchpad 사용자 등록 1. launchpad.net - https://launchpad.net/openstack 2. Blueprints & Bugs - https://blueprints.launchpad.net/cinder/<Project>/<버전> - https://bugs.launchpad.net/<Project>
  • 3. Gerrit 정보 등록 1. review 사이트 접속 - https://review.openstack.org/ 2. Settings 정보 등록 - SSH Public Keys 등록 - Contact Information 등록 - Agreements 등록
  • 4. 소스 다운로드 및 설정 1. 소스 다운로드 - git clone http://git.openstack.org/openstack/nova.git 2. 브라우저에서 review port 확인 - https://review.openstack.org/ssh_info 3. Settings username - git config --global --add gitreview.username “StephenAhn” - git config --global --add user.name “Stephen Ahn” - git config --global --add user.email “skanddh@gmail.com” 4. Testing Gerrit Connections - ssh -p 29418 StephenAhn@review.openstack.org
  • 5. 소스 다운로드 및 설정 5. 단축 경로 저장 - vi ~/.ssh/config Host review Hostname reivew.openstack.org Port 29418 User StephenAhn 6. gerrit remote 확인 및 change-id 자동 세팅 - git review -s 7. remote url 확인 및 commit-msg 파일 존재 확인 - git remote -v - ls .git/hooks/commit-msg
  • 6. 소스 다운로드 및 설정 8. gerrit review -s 확인 시 에러 나면 remote 추가 - git remote add gerrit ssh://StephenAhn@review.openstack.org:29418/openstack/nova.git 9. 수정 중에 최신 소스로 다운받기 - git remote update - git checkout master - git pull --ff-only origin master 10. Blueprint 등록 및 Branch 생성 - launchpad 에 Blueprint 등록 - git checkout -b bp/local-storage-volume-scheduling 11. commit message 입력 - git commit --amend 첫번째 줄은 50자 이내로 간단히 요약하여 쓴다. n 설명은 한 줄에 72자 까지 쓴다. … DocImpact Related to nova-network-objects  다른 bp (여기서는 nova-network-objects)와 연관이 있을 때 Implements: blueprint local-storage-volume-scheduling  Blueprint 일 때 Closed-Bug: #1276088  Bug 일 때
  • 7. 소스 다운로드 및 설정 12. Commit message에 신경써서 넣어야 할 String - DocImpact : 도큐먼트에 영향을 미칠 때 넣음 - SecurityImpact : 보안 문제가 있을 때 - UpgradeImpact : 업그레이드에 영향을 미칠 때 (release notes 의 ‘Upgrade Notes’ section 수정 고려) 13. unit test 및 pep8 테스트 - ./run_tests.sh - ./run_tests.sh -p 14. review 등록 - git review
  • 8. Continuous Integration Process nova/master nova/master nova/fix-bug-foo nova/fix-bug-foo bugs.launchpad.net Jenkins Gerrit 1. clone 2. branch 4. Fix changes Run unit tests Git commit Review (+2, +1/-1) 5. changes 6. trigger Test/review 3. Create issue7. merge Track changes Your RepoCI Environment pull
  • 9. Continuous Integration 시나리오 1. 신규 Issue 등록 – bugs.launchpad.net 신규 Issue 등록 (Issue 번호 생성) 2. Branch 생성 – 신규 Issue 에 대한 Branch 생성 – unit test code 작성 및 로직 수정 3. Source code Push – git review 로 로컬 source code 를 소스저장소에 올림 4. 1차 unit test – review 로 올라온 코드에 대해 Jenkins 가 자동으로 unit test 수행 5. Review 완료 및 소스 Merge – Gerrit 을 활용한 소스 Review 및 Merge
  • 10. How to Contribute • Making an account at launchpad.net • Join the OpenStack developers mailing list & #openstack-dev IRC Channel • Confirming to code review system information • Agreeing to the CLA (Contributors License Agreement) • Writing Blueprints • Getting the OpenStack code • Setting up gerrit environment • Making a git new branch • pushing the your code