Tokyo Upstream Training 후기 @OpenStack 한국 커뮤니티 2015년 하반기 스터디

36
OpenStack Korea Community OpenStack Upstream Training 참여 후기 (before Tokyo Summit) Nov 17, 2015 발표자: Ian Y. Choi - 회사: 휴레이포지티브

Transcript of Tokyo Upstream Training 후기 @OpenStack 한국 커뮤니티 2015년 하반기 스터디

OpenStack Korea Community

OpenStack Upstream Training 참여후기

(before Tokyo Summit)

Nov 17, 2015

발표자: Ian Y. Choi

- 회사: 휴레이포지티브

OpenStack Korea Community

Index

Part 1: Upstream Training에 대해

Part 2: Upstream Training @Tokyo

Part 3: Self-assignment @Launchpad + Gerrit review

Part 4: My impression & Conclusion

OpenStack Korea Community

1. Upstream Training에대해

OpenStack Korea Community

Upstream Training: 무슨 행사일까? – (1)

• Upstream Training 위키 페이지• https://wiki.openstack.org/wiki/OpenStack_Upstream_Training• 번역: https://wiki.openstack.org/wiki/OpenStack_Upstream_Training/ko

OpenStack Korea Community

Upstream Training: 무슨 행사일까? – (2)

• OpenStack 개발자를 위해 OpenStack 프로젝트 technical tool 및social interaction이 어떻게 이루어지는지를 이틀 동안 학습

Social norms & technical conventions

• 실제 OpenStack 프로젝트 내에서 bug (문서 오류도 okay)를 선택하여 OpenStack upstream 소스 저장소에 반영하는 것을 목표로 함

• 보통 OpenStack Summit 행사 이전에 열린다고 함• Day 1: 전체적인 안내 & 버그 선택을 위한 가이드 & git & devstack 설치 등• Day 2: 실제 버그 해결 시간 & LEGO 블록을 통한 OpenStack Agile 방법론

수행

• Upstream Training 공식 자료• http://docs.openstack.org/upstream-training/

OpenStack Korea Community

Upstream Training 사용 자료 & 도구 - (1)

• http://docs.openstack.org/upstream-training/

OpenStack Korea Community

Upstream Training 사용 자료 & 도구 - (2)

• Etherpad• 메모를 빠르게 실시간으로 공유• 참고: OpenStack Summit – working session 및 Design Summit에서

공유 & 토론 내용 실시간 정리, OpenStack 관련 메모 공유 (IRC 미팅 등), …

OpenStack Korea Community

Upstream Training 사용 자료 & 도구 - (3)

• Linux & Tools on Laptop• 가상 머신: Ubuntu 14.04

+ >=4GB RAM 권장• 사용 & 접속했던 도구 & 사이트

• git & git-review• http://lanuchpad.net

• 버그 등록 등을 위해 필요

• http://www.openstack.org/• Foundation Member 가입

• IRC• …

OpenStack Korea Community

Upstream Training 사용 자료 & 도구 - (4)

• OpenStack Sandbox 저장소• https://review.openstack.org/

#/admin/projects/openstack-dev/sandbox

• Git 커밋, 패치, 리뷰 등 연습 공간

OpenStack Korea Community

2. Upstream Training@Tokyo

OpenStack Korea Community

@Tokyo: Day 1

• Topics• How OpenStack is made• Workflow of an OpenStack

contribution and tools

OpenStack Korea Community

@Tokyo: Day 2

• Topics• The Contribution Process• Agile for Contributors• Contribution Simulation• (Contribution Planning)

Photo: taken by Lucas Kim, GIST

OpenStack Korea Community

@Tokyo: 다루었던 주제들

OpenStack Korea Community

3. Self-assignment @Launchpad + Gerrit review

OpenStack Korea Community

나의 버그 선택

• 특정 Project 내 프로그래밍 소스로부터의 버그 선택은 다소 어려웠음• 문서 수정에 대한 low-hanging-fruit 버그 목록을 mentor에서 제안

• 그 중 선택한 버그• https://launchpad.net/openstack-manuals/+bug/1492253

OpenStack Korea Community

버그 내용 자세히 살펴보기

• 버그: Kilo – Ubuntu 설치 가이드에서 LVM에 대한 Tooltip Text

OpenStack Korea Community

버그 상태 및 이력 살펴보기

• Review가 제안상태가 abandoned 으로 변경assignee: nobody로 변경

• 버그 수정을 위해 Upstream Training 기간 중 본인이 assign 선택

OpenStack Korea Community

이전 Review 상태 파악하기 – (1)

• 2명에 의해 -1점이 있으며, 상태는 Abandoned

OpenStack Korea Community

이전 Review 상태 파악하기 – (2)

• 수정 제안되었던 패치 내용

OpenStack Korea Community

이전 Review 상태 파악하기 – (3)

• 1st ‘-1’ reviewer• 버그는 XML 형식 오류인데, 패치는 XML이 아닌 RST..

OpenStack Korea Community

이전 Review 상태 파악하기 – (4)

• 2nd ‘-1’ reviewer• Master 가 아닌 “stable/kilo”에 대한 패치 필요..

• 기타: “Cherry pick” 불가능

OpenStack Korea Community

Git로 저장소 데이터 가져오기

• (Launchpad & OpenStack Foundation 가입, ICLA 동의 필요)• 저장소로부터 최신 데이터를 fetch

• “stable/kilo”에 대한 branch로부터 작업하기 위해 checkout

OpenStack Korea Community

버그 수정하기

• XML 파일 내용을 수정해야 함• Glossary에 “LVM”이 아닌 “Logical Volume Manager (LVM)” 이에 맞게 수정!

OpenStack Korea Community

수정된 내용 정상 동작 확인

• XML 문서 형식: maven 명령어를 사용한 build

• 로컬에 생성된 HTML 파일 내용을 웹 브라우저에서 열어 확인Okay

OpenStack Korea Community

버그 커밋하기

• Git commit 메시지 작성• 첫 줄은 요약, 이후 상세 내용, 마지막에 버그와 관련된 태그 등 덧붙임

• 주의: “git review –s”를 먼저 실행하고 commit을 해야 함

OpenStack Korea Community

생성된 Gerrit Review 확인

• 패치가 잘 등록되었음을 확인: https://review.openstack.org/#/c/239314

OpenStack Korea Community

Upstream Training Mentor’s Comment

• “LVM” 텍스트를 유지하고, ‘baseform’ 태그 속성을사용하여 glossary를 reference하도록 수정 제안 nice idea!

OpenStack Korea Community

수정 후 Commit 수정하기

• 수정 후 다시 HTML build하여 확인 완료• “git commit --amend” 명령어를 사용 후 다시 “git review” 실행하여

수정된 내용 업로드

OpenStack Korea Community

Patch set 2의 등록 (Gerrit Review)

• 수정된 commit 내용은 “Patch Set 2”로 관리됨 (이전: “Patch Set 1”)

OpenStack Korea Community

+2 Reviews & Merged

• Jenkins에 의해 Verified 되고 Review에 따라 Merged!

OpenStack Korea Community

(시간이 지나고) 메인 홈페이지에도 반영 완료!

• http://docs.openstack.org/kilo/install-guide/install/apt/content/cinder-install-storage-node.html

OpenStack Korea Community

4. My impression & Conclusion

OpenStack Korea Community

My impression

• OpenStack social norms & technical conventions!• OpenStack 오픈 소스에 좀 더 가까워진 느낌• Playing with LEGO: Agile with Sprint

• 알게 된 많은 사람들• Instructors, GIST 4명, 일본 Active guys, 태국 친구들 등

1. With GIST 4 guys: Junsik Shin, Jungsu Han, Jeongju Bae and Namgon Lucas Kim2. With Takashi Torii, NEC Japan & OpenStack Japan User Group3. With Esteban Arias, a PTL during Tokyo upstream training LEGO play time

OpenStack Korea Community

Conclusion – (1): 이전에 만들었던 슬라이드

소스 기여

오픈소스 사용도 좋지만, 직접적인 코드 추가/수정을 통한 기여는 어떨까요?

버그 리포팅 / 번역

오픈소스를 사용하면서 불편한 점이 있으면 버그 리포트! 번역으로도 기여 가능합니다.

커뮤니티 활동 참가

커뮤니티를 통해 많은 사람들과 이야기하면서, 오픈소스의 경험을 공유하셨으면 합니다

OpenStack Korea Community

Conclusion – (2)

• 추후, 국내에서도 Upstream Training이 개최되기를 희망!http://dachary.org/?p=3240 (Sep 2014,

11월 Paris Summit 준비)http://www.openstack.org/blog/2014/11/openstack-upstream-training-in-japan/(2014년 10월 10-11일, Paris Summit 이전에 개최됨 from 일본 유저 그룹)

http://superuser.openstack.org/articles/big-in-japan-openstack-days-in-tokyo-double-in-size2015년 2월, OpenStack Days Japan에서

http://superuser.openstack.org/articles/jumpstart-your-openstack-know-how-with-upstream-training@Vancouver

OpenStack Korea Community

감사합니다.

(Ian Y. Choi, [email protected])