SlideShare a Scribd company logo
1 of 36
Download to read offline
2017년 5월, “우분투 한국 커뮤니티 5월 정기 세미나 - 오픈소스 프로젝트에 기여하기”
세미나 발표
최영락, 오픈스택 한국 커뮤니티 대표 &
Microsoft MVP (Cloud & Datacenter Management)
2
목차
• Part 1: Launchpad에 대하여
• Part 2: Launchpad와 오픈스택
• Part 3: Case – 다루어본 OpenStack 관련 Launchpad 활용 사례
• Conclusion
Launchpad에 대하여
4
Launchpad란?!
5
Launchpad (https://launchpad.net)?
• Canonical에서 (직접) 개발한 웹 사이트
• 오픈 소스 개발 내 많은 부분을 추적하기 위해 사용하는 시스템
• 코드 호스팅
• 버그 트래킹
• 번역
• 블루프린트
• 커뮤니티 답변 (추적)
6
Launchpad 를 사용하는 오픈 소스
(2017. 5. 27. 기준)
• 프로젝트: 40391
• 버그 리포팅 활용: 12281
• 번역 기능 활용: 2457
• (코드) Bazzar 브랜치 사용: 25344
• 블루프린트 사용: 5602
• 커뮤니티 답변 (추적) 사용: 4423
7
Launchpad: 블루프린트
• 완료할 작업에 대한 구체적인 사항을 목록화하고 계획을 확인하는 공간
• 솔루션에 대한 (상세한) 설명
• 포함 항목
• 제목
• 설명
• (추적에 관한) 관련 정보
• Whiteboard
• Work Items
• 예시
• https://blueprints.launchpad.net/openstack-i18n/+spec/python35-support
8
Launchpad: 버그
• 특정 프로젝트 내 구체적인 버그를 보고 & 관리
• 예시: https://bugs.launchpad.net/ubuntu/+source/linphone/+bug/566075
• 버그 상태
• New, Incomplete, Confirmed, Triaged, In Progress, Fix
Committed, Fix Released, Invalid, Opinion, Won’t fix
9
Launchpad 사용 장점
• 오픈 플랫폼 & 오픈 소스
• 누구나 Launchpad에 프로젝트를 생성하여 사용 가능합니다.
• 오픈 소스로 직접 설치하여 사용 가능하다고 합니다 (전 안해봄)
• 오픈 소스 프로젝트 개발에 대한 “추적성” 확보
• 어떤 버그가 있었고, 누구에게 할당이 이루어져 수정이 이루어진 후 배포에 반영되었는가?
• 새로 제안된 기능이 특정 마일스톤 기간 내 개발 진행에 문제가 없는가?
• 프로젝트 그룹 & 구성원 관리 용이
• 여러 프로젝트를 묶어 그룹화하여 표현 가능
• 관리자 그룹 지정 등에 따른 Launchpad 프로젝트 권한 관리
• 카르마(업보?!)
10
Launchpad 계정 만드세요 
• Ubuntu One 계정 만들기
• Launchpad ID가 생기며 프로필 공간도 생김
• 예시: https://launchpad.net/~ianychoi
• 일종의 OpenID 개념으로 다른 로그인 활용 가능
• 예시: https://review.openstack.org 로그인
• 참고: 이메일 주소 나중에 추가/변경도 가능
• 그 다음 할 일은?
• 관심있는 프로젝트에 참가
• 번역, 버그 리포팅 등등
Launchpad와 오픈스택
12
OpenStack이란?
• 클라우드 환경에서 컴퓨팅 자원과 스토리지 인프라를 셋업하고 구동하기
위해 사용하는 오픈 소스 소프트웨어 프로젝트의 집합
13
OpenStack에 대한 다른 정의들
• OpenStack은 공용 (Public) 클라우드와 사설 (Private) 클라우드 구축을
가능하게 하는 오픈 소스 소프트웨어
• OpenStack은 서버, 스토리지, 네트워크들과 같은 자원들을 모두 모아,
이들을 제어하고 운영하기 위한 클라우드 Operating System
• OpenStack은 오픈 소스를 기반으로 클라우드를 구축하고 운용하고자 하는
오픈 소스 개발자, 회사, 사용자들이 주축이 되어 발전하는 커뮤니티
• IaaS 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트로 컴퓨팅, 스토리지,
네트워킹 자원을 관리하는 여러 개의 하위 프로젝트들로 이루어짐
• …
14
OpenStack 역사
• OpenStack 핵심 컨트리뷰터
• 초기: Rackspace & NASA
• Rackspace: OpenStack의 Object Storage라고 하는 “Cloud Files” 부분 플랫폼을 개발하는
데 기여하기 시작
• NASA: 기존 "Nebula" 플랫폼을 발전시켜 컴퓨팅 자원 플랫폼을 개발하는 데 기여
• 2012년 5월: NASA와 OpenStack 관계 종료
• 2012년 9월: VMWare社가
OpenStack foundation에 가입
• 그리고, 많은 회원사 & 참여자
들이 참여하고 있음!
[1] http://www.wired.com/wiredenterprise/2012/04/openstack/
The library of the Rainbow Mansion
15
Launchpad & OpenStack과 인연 – (1)
• https://launchpad.net/openstack  프로젝트 그룹
16
Launchpad & OpenStack과 인연 – (2)
• 초창기 개발부터 함께 한 nova & swift
• https://launchpad.net/swift
• https://launchpad.net/nova
17
OpenStack: Gerrit 사용
• https://review.openstack.org/
• 2011년 7월부터 (지금도 여전히) 사용
• Git 기반 코드 관리 + 코드 리뷰 및 의견 교환을 위해 사용
• 다른 프로젝트도 많이 사용
• Opendaylight, ONOS, …
18
OpenStack: Gerrit & Launchpad
• Gerrit 로그인: Launchpad와 동일한 인증 (Ubuntu One)
• Gerrit <-> Launchpad 버그 / 블루프린트 Hook
• Launchpad 버그: 링크 & Comment 연동
• https://review.openstack.org/#/c/466529/
• https://bugs.launchpad.net/openstack-i18n/+bug/1691900
• Launchpad 블루프린트: 링크 & Whiteboard 연동
• https://blueprints.launchpad.net/openstack-manuals/+spec/build-pdf-from-rst-guides
• https://review.openstack.org/#/c/404341/
19
OpenStack: Blueprint & Spec
• Blueprint 기능 정의 명세서에 대한 리뷰 & 의견 교환 & 추적 필요성
• OpenStack 프로젝트마다 선호도가 다름
• Blueprint만으로도 충분 vs. Blueprint & Spec 동시 사용 vs. …
• 예시
• https://blueprints.launchpad.net/openstack-manuals/+spec/archiving
• https://review.openstack.org/#/c/426047/
• http://specs.openstack.org/openstack/docs-specs/specs/pike/archiving.html
Case – 다루어본 OpenStack 관련
Launchpad 활용 사례
21
첫 Launchpad 버그 보고
• OpenStack 문서 페이지에 “한국어”가 아닌 “한국의”로 되어 있었음
• 리포팅: https://bugs.launchpad.net/openstack-manuals/+bug/1474452
• OpenStack Gerrit에서 수정: https://review.openstack.org/#/c/201647/
22
Tokyo 서밋: Upstream Training때
• Upstream Training (현재 Upstream Institute)이란?
• OpenStack 개발자를 위해 OpenStack 프로젝트 technical tool 및 social
interaction이 어떻게 이루어지는지를 이틀 동안 학습
• 실제 OpenStack 프로젝트 내에서 bug (문서 오류도 okay)를 선택하여 OpenStack
upstream 소스 저장소에 반영하는 것을 목표로 함
• 보통 OpenStack Summit 행사 이전에 열린다고 함
• 공식 자료 (한글): https://docs.openstack.org/ko_KR/upstream-training/
• 실제 버그를 수정해보자!
• (초보자인 경우) 간단한 문서 버그부터 시작을 권장
• “low-langing-fruit” 태그를 지정하여 링크를 공유함
• https://bugs.launchpad.net/openstack/+bugs?field.tag=low-hanging-fruit
23
Tokyo 서밋: Upstream Training때 경험
• 특정 Project 내 프로그래밍 소스로부터의 버그 선택은 어려울 것 같아…
• low-hanging-fruit 버그 목록 중 하나 선택
• https://launchpad.net/openstack-manuals/+bug/1492253
24
버그 내용 자세히 살펴보기
• 버그: Kilo – Ubuntu 설치 가이드에서 LVM에 대한 Tooltip Text
25
버그 상태 및 이력 살펴보기
• 버그 수정을 다른 사람이 기존에 제안하였음
 상태가 abandoned 으로 변경  assignee: nobody로 변경
• 버그 수정을 위해 Upstream Training 기간 중 본인이 assign 선택
26
(소스 수정: 생략) & 버그 fix 결과!
27
Tokyo 업스트림 트레이닝에서 배운 사항
• 버그 태깅 중요성
• 버그 “Triaging”, “Assign”, “Importance”
• OpenStack에서는 core reviewer쪽에서 버그 적합성 검토
• 버그 상태 및 중요도를 변경하는 작업을 “Triaging”이라고 함
• OpenStack에서 버그 상태는 누구나 변경 가능하나,
버그 중요도는 core reviewer만 가능하였음
• 버그 수정을 원하는 사람이 수정을 하고 싶은 경우
: self-assign
• 다른 사람에게 이미 assign되어 있는 버그를 그냥 가져오면 안됨
• Social norm
• …
28
(Long-term goal after Tokyo upstream
training)
• OpenStack 프로젝트에 더 많이 참여
• 번역팀
• Upstream training 번역 및 직접 기여
• Blueprint 등록
• OpenStack – Design Summit에서 5분 스피치 필요
• 나중에 알게 된 사항: 프로젝트마다 성격이 다름,
Design Summit  PTG 변경 이후 심도있는 논의 이루어짐
• (당시: 나도 과연 할 수 있을까?)
• Launchpad 프로젝트 생성 & 관리
29
Blueprint 등록
• OpenStack 문서에 PDF 지원하기
• 링크: https://blueprints.launchpad.net/openstack-manuals/+spec/build-pdf-from-rst-guides
• 배경
• OpenStack에서 이전에 PDF 구현이 있었는데 rst 기반 문서로 바뀌면서 PDF 다운로드 사라짐
• 2014년 ryu-book 번역 작업하면서 rst 기반 sphinx에서 PDF 생성하는 기능을 사용했었음
• (2016년, 오픈스택 컨트리뷰션 스터디 주제로 하고자 생각하고 있었음)
• 2016년 7월, 누군가가 메일링리스트에 PDF 지원 기능을 물어보았으며, 필요로 하는 기능임을
알 수 있었음
• 시작
• 2016년 8월, blueprint 등록
• Comment: spec 작성 필요하다고 하여 작성, 피드백 받아 최종 spec 완성 후 작업 시작
• 목표: Ocata 개발 기간
• (31 October 2016 - 24 February 2017)
30
Blueprint 완료!
• 원래 rst2pdf 플러그인 사용하려 했으나, 여러 문제로 latex 기반 PDF 변환
작업으로 변경하여 완료
• 예상 작업량 보다 많았음
• 부대표 “조성수” help 덕택에 구현 완료 
31
Upstream Institute을 위한 Sandbox
• Gerrit <-> Launchpad 연동 학습을 위한 학습용 Launchpad 프로젝트
• https://launchpad.net/openstack-dev-sandbox
• 연습 Tutorial 데모
• https://docs.openstack.org/ko_KR/upstream-training/workflow-using-
sandbox.html
결론 & 못다한 이야기…
33
Launchpad와 오픈스택
• 오픈스택 초창기부터 Launchpad 적극 활용
• 다양한 오픈스택 프로젝트 등장 및 점차 복잡해지는 관리를 위해 Gerrit
등을 사용하나, Launchpad 기능과의 연결을 통해 적극 활용하였음
• 최근에는 Launchpad를 대신하기 위한 스토리보드 활용 검토 중
• https://storyboard.openstack.org
• 다양한 프로젝트마다 다른 성격 등을
수용하기 위한 방향으로 고려 중
• 찬성/반대 다양한 의견 수렴 중
Finished!
35
참고: Jira in zanata.atlassian.net
36
참고: Jira in jira.onosproject.org

More Related Content

What's hot

[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션
[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션
[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션Ian Choi
 
[SOSCON 2016] 오픈스택을 살펴보는 오픈 소스 컨트리뷰션
[SOSCON 2016] 오픈스택을 살펴보는 오픈 소스 컨트리뷰션[SOSCON 2016] 오픈스택을 살펴보는 오픈 소스 컨트리뷰션
[SOSCON 2016] 오픈스택을 살펴보는 오픈 소스 컨트리뷰션Ian Choi
 
OpenStack 2018 Vancouver Summit 후기
OpenStack 2018 Vancouver Summit 후기OpenStack 2018 Vancouver Summit 후기
OpenStack 2018 Vancouver Summit 후기Ian Choi
 
[12월 번역 Meetup] 오픈스택 official 번역 프로젝트 소개
[12월 번역 Meetup] 오픈스택 official 번역 프로젝트 소개[12월 번역 Meetup] 오픈스택 official 번역 프로젝트 소개
[12월 번역 Meetup] 오픈스택 official 번역 프로젝트 소개OpenStack Korea Community
 
OpenStack DevStack Install - 1부 (All-in-one)
OpenStack DevStack Install - 1부 (All-in-one)OpenStack DevStack Install - 1부 (All-in-one)
OpenStack DevStack Install - 1부 (All-in-one)Ian Choi
 
[12월 번역 Meetup] 나의 오픈스택 번역 contributing 삽질 경험기
[12월 번역 Meetup] 나의 오픈스택 번역 contributing 삽질 경험기[12월 번역 Meetup] 나의 오픈스택 번역 contributing 삽질 경험기
[12월 번역 Meetup] 나의 오픈스택 번역 contributing 삽질 경험기OpenStack Korea Community
 
[12월 번역 Meetup] Hands on-lab 오픈스택: 번역으로 contributor 활동하기
[12월 번역 Meetup] Hands on-lab 오픈스택: 번역으로 contributor 활동하기[12월 번역 Meetup] Hands on-lab 오픈스택: 번역으로 contributor 활동하기
[12월 번역 Meetup] Hands on-lab 오픈스택: 번역으로 contributor 활동하기OpenStack Korea Community
 
오픈스택 커뮤니티 소개 및 기술 동향
오픈스택 커뮤니티 소개 및 기술 동향오픈스택 커뮤니티 소개 및 기술 동향
오픈스택 커뮤니티 소개 및 기술 동향Nalee Jang
 
[OpenStack Day in Korea] Introduction to open stack
[OpenStack Day in Korea] Introduction to open stack[OpenStack Day in Korea] Introduction to open stack
[OpenStack Day in Korea] Introduction to open stackNalee Jang
 
[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력
[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력
[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력Ian Choi
 
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우Ian Choi
 
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티OpenStack Korea Community
 
OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)Ian Choi
 
오픈스택커뮤니티와기술동향
오픈스택커뮤니티와기술동향오픈스택커뮤니티와기술동향
오픈스택커뮤니티와기술동향Nalee Jang
 
Red hat and after 1 year
Red hat and after 1 yearRed hat and after 1 year
Red hat and after 1 yearNalee Jang
 
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴Ian Choi
 
Open technet openstack
Open technet openstackOpen technet openstack
Open technet openstackNalee Jang
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용Ian Choi
 
OpenSource! OpenStack!
OpenSource! OpenStack!OpenSource! OpenStack!
OpenSource! OpenStack!Nalee Jang
 

What's hot (20)

[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션
[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션
[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션
 
[SOSCON 2016] 오픈스택을 살펴보는 오픈 소스 컨트리뷰션
[SOSCON 2016] 오픈스택을 살펴보는 오픈 소스 컨트리뷰션[SOSCON 2016] 오픈스택을 살펴보는 오픈 소스 컨트리뷰션
[SOSCON 2016] 오픈스택을 살펴보는 오픈 소스 컨트리뷰션
 
OpenStack 2018 Vancouver Summit 후기
OpenStack 2018 Vancouver Summit 후기OpenStack 2018 Vancouver Summit 후기
OpenStack 2018 Vancouver Summit 후기
 
OpenStack 커뮤니티 상반기 스터디
OpenStack 커뮤니티 상반기 스터디 OpenStack 커뮤니티 상반기 스터디
OpenStack 커뮤니티 상반기 스터디
 
[12월 번역 Meetup] 오픈스택 official 번역 프로젝트 소개
[12월 번역 Meetup] 오픈스택 official 번역 프로젝트 소개[12월 번역 Meetup] 오픈스택 official 번역 프로젝트 소개
[12월 번역 Meetup] 오픈스택 official 번역 프로젝트 소개
 
OpenStack DevStack Install - 1부 (All-in-one)
OpenStack DevStack Install - 1부 (All-in-one)OpenStack DevStack Install - 1부 (All-in-one)
OpenStack DevStack Install - 1부 (All-in-one)
 
[12월 번역 Meetup] 나의 오픈스택 번역 contributing 삽질 경험기
[12월 번역 Meetup] 나의 오픈스택 번역 contributing 삽질 경험기[12월 번역 Meetup] 나의 오픈스택 번역 contributing 삽질 경험기
[12월 번역 Meetup] 나의 오픈스택 번역 contributing 삽질 경험기
 
[12월 번역 Meetup] Hands on-lab 오픈스택: 번역으로 contributor 활동하기
[12월 번역 Meetup] Hands on-lab 오픈스택: 번역으로 contributor 활동하기[12월 번역 Meetup] Hands on-lab 오픈스택: 번역으로 contributor 활동하기
[12월 번역 Meetup] Hands on-lab 오픈스택: 번역으로 contributor 활동하기
 
오픈스택 커뮤니티 소개 및 기술 동향
오픈스택 커뮤니티 소개 및 기술 동향오픈스택 커뮤니티 소개 및 기술 동향
오픈스택 커뮤니티 소개 및 기술 동향
 
[OpenStack Day in Korea] Introduction to open stack
[OpenStack Day in Korea] Introduction to open stack[OpenStack Day in Korea] Introduction to open stack
[OpenStack Day in Korea] Introduction to open stack
 
[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력
[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력
[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력
 
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
 
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
 
OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)
 
오픈스택커뮤니티와기술동향
오픈스택커뮤니티와기술동향오픈스택커뮤니티와기술동향
오픈스택커뮤니티와기술동향
 
Red hat and after 1 year
Red hat and after 1 yearRed hat and after 1 year
Red hat and after 1 year
 
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
 
Open technet openstack
Open technet openstackOpen technet openstack
Open technet openstack
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용
 
OpenSource! OpenStack!
OpenSource! OpenStack!OpenSource! OpenStack!
OpenSource! OpenStack!
 

Similar to Launchpad 활용 사례 in OpenStack: 다루어본 Bug & Blueprint를 중심으로

OpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
OpenStack 개요 및 활용 사례 @ Community Open Camp with MicrosoftOpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
OpenStack 개요 및 활용 사례 @ Community Open Camp with MicrosoftIan Choi
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여Ji-Woong Choi
 
[113]apache zeppelin 이문수
[113]apache zeppelin 이문수[113]apache zeppelin 이문수
[113]apache zeppelin 이문수NAVER D2
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기nexusz99
 
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)NAVER D2
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 KubernetesTommy Lee
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기Ian Choi
 
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서Jeongmin Cha
 
2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptxssuserf875e6
 
The four myths of open source (2013)
The four myths of open source (2013)The four myths of open source (2013)
The four myths of open source (2013)Channy Yun
 
[OpenInfra Days Korea 2018] (Track 3) Zuul v3 - OpenStack 인프라 코드로 CI/CD 살펴보기
[OpenInfra Days Korea 2018] (Track 3) Zuul v3 - OpenStack 인프라 코드로 CI/CD 살펴보기[OpenInfra Days Korea 2018] (Track 3) Zuul v3 - OpenStack 인프라 코드로 CI/CD 살펴보기
[OpenInfra Days Korea 2018] (Track 3) Zuul v3 - OpenStack 인프라 코드로 CI/CD 살펴보기OpenStack Korea Community
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료지원 정
 
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님NAVER D2
 
[OpenStack Days Korea 2016] Track4 - 해외 사례로 보는 OpenStack Billing System
[OpenStack Days Korea 2016] Track4 - 해외 사례로 보는 OpenStack Billing System[OpenStack Days Korea 2016] Track4 - 해외 사례로 보는 OpenStack Billing System
[OpenStack Days Korea 2016] Track4 - 해외 사례로 보는 OpenStack Billing SystemOpenStack Korea Community
 
해외 사례로 보는 Billing for OpenStack Solution
해외 사례로 보는 Billing for OpenStack Solution해외 사례로 보는 Billing for OpenStack Solution
해외 사례로 보는 Billing for OpenStack SolutionNalee Jang
 
개발자의 첫단계
개발자의 첫단계개발자의 첫단계
개발자의 첫단계yejiHong7
 
출연연의 공개소프트웨어 연구개발 프로젝트 관리
출연연의 공개소프트웨어 연구개발 프로젝트 관리출연연의 공개소프트웨어 연구개발 프로젝트 관리
출연연의 공개소프트웨어 연구개발 프로젝트 관리Kevin Kim
 
오픈소스 프로젝트 올챙이
오픈소스 프로젝트 올챙이오픈소스 프로젝트 올챙이
오픈소스 프로젝트 올챙이cho hyun jong
 

Similar to Launchpad 활용 사례 in OpenStack: 다루어본 Bug & Blueprint를 중심으로 (20)

OpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
OpenStack 개요 및 활용 사례 @ Community Open Camp with MicrosoftOpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
OpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여
 
[113]apache zeppelin 이문수
[113]apache zeppelin 이문수[113]apache zeppelin 이문수
[113]apache zeppelin 이문수
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
 
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
 
쉽고 빠르게 접하는 오픈스택
쉽고 빠르게 접하는 오픈스택쉽고 빠르게 접하는 오픈스택
쉽고 빠르게 접하는 오픈스택
 
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
 
2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx
 
The four myths of open source (2013)
The four myths of open source (2013)The four myths of open source (2013)
The four myths of open source (2013)
 
[OpenInfra Days Korea 2018] (Track 3) Zuul v3 - OpenStack 인프라 코드로 CI/CD 살펴보기
[OpenInfra Days Korea 2018] (Track 3) Zuul v3 - OpenStack 인프라 코드로 CI/CD 살펴보기[OpenInfra Days Korea 2018] (Track 3) Zuul v3 - OpenStack 인프라 코드로 CI/CD 살펴보기
[OpenInfra Days Korea 2018] (Track 3) Zuul v3 - OpenStack 인프라 코드로 CI/CD 살펴보기
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
 
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
 
[OpenStack Days Korea 2016] Track4 - 해외 사례로 보는 OpenStack Billing System
[OpenStack Days Korea 2016] Track4 - 해외 사례로 보는 OpenStack Billing System[OpenStack Days Korea 2016] Track4 - 해외 사례로 보는 OpenStack Billing System
[OpenStack Days Korea 2016] Track4 - 해외 사례로 보는 OpenStack Billing System
 
해외 사례로 보는 Billing for OpenStack Solution
해외 사례로 보는 Billing for OpenStack Solution해외 사례로 보는 Billing for OpenStack Solution
해외 사례로 보는 Billing for OpenStack Solution
 
개발자의 첫단계
개발자의 첫단계개발자의 첫단계
개발자의 첫단계
 
Goorm소개
Goorm소개Goorm소개
Goorm소개
 
출연연의 공개소프트웨어 연구개발 프로젝트 관리
출연연의 공개소프트웨어 연구개발 프로젝트 관리출연연의 공개소프트웨어 연구개발 프로젝트 관리
출연연의 공개소프트웨어 연구개발 프로젝트 관리
 
오픈소스 프로젝트 올챙이
오픈소스 프로젝트 올챙이오픈소스 프로젝트 올챙이
오픈소스 프로젝트 올챙이
 

More from Ian Choi

Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023
Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023
Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023Ian Choi
 
클라우드 컴퓨팅 기본 사항 (Fundamentals)
클라우드 컴퓨팅 기본 사항 (Fundamentals)클라우드 컴퓨팅 기본 사항 (Fundamentals)
클라우드 컴퓨팅 기본 사항 (Fundamentals)Ian Choi
 
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요Ian Choi
 
마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)
마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)
마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)Ian Choi
 
Evolving Translation and Internationalization in OpenStack & Kubernetes commu...
Evolving Translation and Internationalization in OpenStack & Kubernetes commu...Evolving Translation and Internationalization in OpenStack & Kubernetes commu...
Evolving Translation and Internationalization in OpenStack & Kubernetes commu...Ian Choi
 
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개Ian Choi
 
오픈 소스 프로그래밍 - NoSQL with Python
오픈 소스 프로그래밍 - NoSQL with Python오픈 소스 프로그래밍 - NoSQL with Python
오픈 소스 프로그래밍 - NoSQL with PythonIan Choi
 
Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)
Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)
Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)Ian Choi
 
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...Ian Choi
 
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...Ian Choi
 
Microsoft loves communities - Korea DevRel Team
Microsoft loves communities - Korea DevRel TeamMicrosoft loves communities - Korea DevRel Team
Microsoft loves communities - Korea DevRel TeamIan Choi
 
"docs.microsoft.com"에 기여하기
"docs.microsoft.com"에 기여하기"docs.microsoft.com"에 기여하기
"docs.microsoft.com"에 기여하기Ian Choi
 
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례Ian Choi
 
OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드
OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드
OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드Ian Choi
 
무엇이 무엇이 닮았을까?- OpenStack과 Azure
무엇이 무엇이 닮았을까?- OpenStack과 Azure무엇이 무엇이 닮았을까?- OpenStack과 Azure
무엇이 무엇이 닮았을까?- OpenStack과 AzureIan Choi
 
South Korea OpenStack UG - Study & Development team activities
South Korea OpenStack UG - Study & Development team activitiesSouth Korea OpenStack UG - Study & Development team activities
South Korea OpenStack UG - Study & Development team activitiesIan Choi
 

More from Ian Choi (16)

Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023
Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023
Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023
 
클라우드 컴퓨팅 기본 사항 (Fundamentals)
클라우드 컴퓨팅 기본 사항 (Fundamentals)클라우드 컴퓨팅 기본 사항 (Fundamentals)
클라우드 컴퓨팅 기본 사항 (Fundamentals)
 
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
 
마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)
마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)
마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)
 
Evolving Translation and Internationalization in OpenStack & Kubernetes commu...
Evolving Translation and Internationalization in OpenStack & Kubernetes commu...Evolving Translation and Internationalization in OpenStack & Kubernetes commu...
Evolving Translation and Internationalization in OpenStack & Kubernetes commu...
 
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
 
오픈 소스 프로그래밍 - NoSQL with Python
오픈 소스 프로그래밍 - NoSQL with Python오픈 소스 프로그래밍 - NoSQL with Python
오픈 소스 프로그래밍 - NoSQL with Python
 
Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)
Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)
Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)
 
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...
 
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
 
Microsoft loves communities - Korea DevRel Team
Microsoft loves communities - Korea DevRel TeamMicrosoft loves communities - Korea DevRel Team
Microsoft loves communities - Korea DevRel Team
 
"docs.microsoft.com"에 기여하기
"docs.microsoft.com"에 기여하기"docs.microsoft.com"에 기여하기
"docs.microsoft.com"에 기여하기
 
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례
 
OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드
OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드
OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드
 
무엇이 무엇이 닮았을까?- OpenStack과 Azure
무엇이 무엇이 닮았을까?- OpenStack과 Azure무엇이 무엇이 닮았을까?- OpenStack과 Azure
무엇이 무엇이 닮았을까?- OpenStack과 Azure
 
South Korea OpenStack UG - Study & Development team activities
South Korea OpenStack UG - Study & Development team activitiesSouth Korea OpenStack UG - Study & Development team activities
South Korea OpenStack UG - Study & Development team activities
 

Launchpad 활용 사례 in OpenStack: 다루어본 Bug & Blueprint를 중심으로

  • 1. 2017년 5월, “우분투 한국 커뮤니티 5월 정기 세미나 - 오픈소스 프로젝트에 기여하기” 세미나 발표 최영락, 오픈스택 한국 커뮤니티 대표 & Microsoft MVP (Cloud & Datacenter Management)
  • 2. 2 목차 • Part 1: Launchpad에 대하여 • Part 2: Launchpad와 오픈스택 • Part 3: Case – 다루어본 OpenStack 관련 Launchpad 활용 사례 • Conclusion
  • 5. 5 Launchpad (https://launchpad.net)? • Canonical에서 (직접) 개발한 웹 사이트 • 오픈 소스 개발 내 많은 부분을 추적하기 위해 사용하는 시스템 • 코드 호스팅 • 버그 트래킹 • 번역 • 블루프린트 • 커뮤니티 답변 (추적)
  • 6. 6 Launchpad 를 사용하는 오픈 소스 (2017. 5. 27. 기준) • 프로젝트: 40391 • 버그 리포팅 활용: 12281 • 번역 기능 활용: 2457 • (코드) Bazzar 브랜치 사용: 25344 • 블루프린트 사용: 5602 • 커뮤니티 답변 (추적) 사용: 4423
  • 7. 7 Launchpad: 블루프린트 • 완료할 작업에 대한 구체적인 사항을 목록화하고 계획을 확인하는 공간 • 솔루션에 대한 (상세한) 설명 • 포함 항목 • 제목 • 설명 • (추적에 관한) 관련 정보 • Whiteboard • Work Items • 예시 • https://blueprints.launchpad.net/openstack-i18n/+spec/python35-support
  • 8. 8 Launchpad: 버그 • 특정 프로젝트 내 구체적인 버그를 보고 & 관리 • 예시: https://bugs.launchpad.net/ubuntu/+source/linphone/+bug/566075 • 버그 상태 • New, Incomplete, Confirmed, Triaged, In Progress, Fix Committed, Fix Released, Invalid, Opinion, Won’t fix
  • 9. 9 Launchpad 사용 장점 • 오픈 플랫폼 & 오픈 소스 • 누구나 Launchpad에 프로젝트를 생성하여 사용 가능합니다. • 오픈 소스로 직접 설치하여 사용 가능하다고 합니다 (전 안해봄) • 오픈 소스 프로젝트 개발에 대한 “추적성” 확보 • 어떤 버그가 있었고, 누구에게 할당이 이루어져 수정이 이루어진 후 배포에 반영되었는가? • 새로 제안된 기능이 특정 마일스톤 기간 내 개발 진행에 문제가 없는가? • 프로젝트 그룹 & 구성원 관리 용이 • 여러 프로젝트를 묶어 그룹화하여 표현 가능 • 관리자 그룹 지정 등에 따른 Launchpad 프로젝트 권한 관리 • 카르마(업보?!)
  • 10. 10 Launchpad 계정 만드세요  • Ubuntu One 계정 만들기 • Launchpad ID가 생기며 프로필 공간도 생김 • 예시: https://launchpad.net/~ianychoi • 일종의 OpenID 개념으로 다른 로그인 활용 가능 • 예시: https://review.openstack.org 로그인 • 참고: 이메일 주소 나중에 추가/변경도 가능 • 그 다음 할 일은? • 관심있는 프로젝트에 참가 • 번역, 버그 리포팅 등등
  • 12. 12 OpenStack이란? • 클라우드 환경에서 컴퓨팅 자원과 스토리지 인프라를 셋업하고 구동하기 위해 사용하는 오픈 소스 소프트웨어 프로젝트의 집합
  • 13. 13 OpenStack에 대한 다른 정의들 • OpenStack은 공용 (Public) 클라우드와 사설 (Private) 클라우드 구축을 가능하게 하는 오픈 소스 소프트웨어 • OpenStack은 서버, 스토리지, 네트워크들과 같은 자원들을 모두 모아, 이들을 제어하고 운영하기 위한 클라우드 Operating System • OpenStack은 오픈 소스를 기반으로 클라우드를 구축하고 운용하고자 하는 오픈 소스 개발자, 회사, 사용자들이 주축이 되어 발전하는 커뮤니티 • IaaS 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트로 컴퓨팅, 스토리지, 네트워킹 자원을 관리하는 여러 개의 하위 프로젝트들로 이루어짐 • …
  • 14. 14 OpenStack 역사 • OpenStack 핵심 컨트리뷰터 • 초기: Rackspace & NASA • Rackspace: OpenStack의 Object Storage라고 하는 “Cloud Files” 부분 플랫폼을 개발하는 데 기여하기 시작 • NASA: 기존 "Nebula" 플랫폼을 발전시켜 컴퓨팅 자원 플랫폼을 개발하는 데 기여 • 2012년 5월: NASA와 OpenStack 관계 종료 • 2012년 9월: VMWare社가 OpenStack foundation에 가입 • 그리고, 많은 회원사 & 참여자 들이 참여하고 있음! [1] http://www.wired.com/wiredenterprise/2012/04/openstack/ The library of the Rainbow Mansion
  • 15. 15 Launchpad & OpenStack과 인연 – (1) • https://launchpad.net/openstack  프로젝트 그룹
  • 16. 16 Launchpad & OpenStack과 인연 – (2) • 초창기 개발부터 함께 한 nova & swift • https://launchpad.net/swift • https://launchpad.net/nova
  • 17. 17 OpenStack: Gerrit 사용 • https://review.openstack.org/ • 2011년 7월부터 (지금도 여전히) 사용 • Git 기반 코드 관리 + 코드 리뷰 및 의견 교환을 위해 사용 • 다른 프로젝트도 많이 사용 • Opendaylight, ONOS, …
  • 18. 18 OpenStack: Gerrit & Launchpad • Gerrit 로그인: Launchpad와 동일한 인증 (Ubuntu One) • Gerrit <-> Launchpad 버그 / 블루프린트 Hook • Launchpad 버그: 링크 & Comment 연동 • https://review.openstack.org/#/c/466529/ • https://bugs.launchpad.net/openstack-i18n/+bug/1691900 • Launchpad 블루프린트: 링크 & Whiteboard 연동 • https://blueprints.launchpad.net/openstack-manuals/+spec/build-pdf-from-rst-guides • https://review.openstack.org/#/c/404341/
  • 19. 19 OpenStack: Blueprint & Spec • Blueprint 기능 정의 명세서에 대한 리뷰 & 의견 교환 & 추적 필요성 • OpenStack 프로젝트마다 선호도가 다름 • Blueprint만으로도 충분 vs. Blueprint & Spec 동시 사용 vs. … • 예시 • https://blueprints.launchpad.net/openstack-manuals/+spec/archiving • https://review.openstack.org/#/c/426047/ • http://specs.openstack.org/openstack/docs-specs/specs/pike/archiving.html
  • 20. Case – 다루어본 OpenStack 관련 Launchpad 활용 사례
  • 21. 21 첫 Launchpad 버그 보고 • OpenStack 문서 페이지에 “한국어”가 아닌 “한국의”로 되어 있었음 • 리포팅: https://bugs.launchpad.net/openstack-manuals/+bug/1474452 • OpenStack Gerrit에서 수정: https://review.openstack.org/#/c/201647/
  • 22. 22 Tokyo 서밋: Upstream Training때 • Upstream Training (현재 Upstream Institute)이란? • OpenStack 개발자를 위해 OpenStack 프로젝트 technical tool 및 social interaction이 어떻게 이루어지는지를 이틀 동안 학습 • 실제 OpenStack 프로젝트 내에서 bug (문서 오류도 okay)를 선택하여 OpenStack upstream 소스 저장소에 반영하는 것을 목표로 함 • 보통 OpenStack Summit 행사 이전에 열린다고 함 • 공식 자료 (한글): https://docs.openstack.org/ko_KR/upstream-training/ • 실제 버그를 수정해보자! • (초보자인 경우) 간단한 문서 버그부터 시작을 권장 • “low-langing-fruit” 태그를 지정하여 링크를 공유함 • https://bugs.launchpad.net/openstack/+bugs?field.tag=low-hanging-fruit
  • 23. 23 Tokyo 서밋: Upstream Training때 경험 • 특정 Project 내 프로그래밍 소스로부터의 버그 선택은 어려울 것 같아… • low-hanging-fruit 버그 목록 중 하나 선택 • https://launchpad.net/openstack-manuals/+bug/1492253
  • 24. 24 버그 내용 자세히 살펴보기 • 버그: Kilo – Ubuntu 설치 가이드에서 LVM에 대한 Tooltip Text
  • 25. 25 버그 상태 및 이력 살펴보기 • 버그 수정을 다른 사람이 기존에 제안하였음  상태가 abandoned 으로 변경  assignee: nobody로 변경 • 버그 수정을 위해 Upstream Training 기간 중 본인이 assign 선택
  • 26. 26 (소스 수정: 생략) & 버그 fix 결과!
  • 27. 27 Tokyo 업스트림 트레이닝에서 배운 사항 • 버그 태깅 중요성 • 버그 “Triaging”, “Assign”, “Importance” • OpenStack에서는 core reviewer쪽에서 버그 적합성 검토 • 버그 상태 및 중요도를 변경하는 작업을 “Triaging”이라고 함 • OpenStack에서 버그 상태는 누구나 변경 가능하나, 버그 중요도는 core reviewer만 가능하였음 • 버그 수정을 원하는 사람이 수정을 하고 싶은 경우 : self-assign • 다른 사람에게 이미 assign되어 있는 버그를 그냥 가져오면 안됨 • Social norm • …
  • 28. 28 (Long-term goal after Tokyo upstream training) • OpenStack 프로젝트에 더 많이 참여 • 번역팀 • Upstream training 번역 및 직접 기여 • Blueprint 등록 • OpenStack – Design Summit에서 5분 스피치 필요 • 나중에 알게 된 사항: 프로젝트마다 성격이 다름, Design Summit  PTG 변경 이후 심도있는 논의 이루어짐 • (당시: 나도 과연 할 수 있을까?) • Launchpad 프로젝트 생성 & 관리
  • 29. 29 Blueprint 등록 • OpenStack 문서에 PDF 지원하기 • 링크: https://blueprints.launchpad.net/openstack-manuals/+spec/build-pdf-from-rst-guides • 배경 • OpenStack에서 이전에 PDF 구현이 있었는데 rst 기반 문서로 바뀌면서 PDF 다운로드 사라짐 • 2014년 ryu-book 번역 작업하면서 rst 기반 sphinx에서 PDF 생성하는 기능을 사용했었음 • (2016년, 오픈스택 컨트리뷰션 스터디 주제로 하고자 생각하고 있었음) • 2016년 7월, 누군가가 메일링리스트에 PDF 지원 기능을 물어보았으며, 필요로 하는 기능임을 알 수 있었음 • 시작 • 2016년 8월, blueprint 등록 • Comment: spec 작성 필요하다고 하여 작성, 피드백 받아 최종 spec 완성 후 작업 시작 • 목표: Ocata 개발 기간 • (31 October 2016 - 24 February 2017)
  • 30. 30 Blueprint 완료! • 원래 rst2pdf 플러그인 사용하려 했으나, 여러 문제로 latex 기반 PDF 변환 작업으로 변경하여 완료 • 예상 작업량 보다 많았음 • 부대표 “조성수” help 덕택에 구현 완료 
  • 31. 31 Upstream Institute을 위한 Sandbox • Gerrit <-> Launchpad 연동 학습을 위한 학습용 Launchpad 프로젝트 • https://launchpad.net/openstack-dev-sandbox • 연습 Tutorial 데모 • https://docs.openstack.org/ko_KR/upstream-training/workflow-using- sandbox.html
  • 32. 결론 & 못다한 이야기…
  • 33. 33 Launchpad와 오픈스택 • 오픈스택 초창기부터 Launchpad 적극 활용 • 다양한 오픈스택 프로젝트 등장 및 점차 복잡해지는 관리를 위해 Gerrit 등을 사용하나, Launchpad 기능과의 연결을 통해 적극 활용하였음 • 최근에는 Launchpad를 대신하기 위한 스토리보드 활용 검토 중 • https://storyboard.openstack.org • 다양한 프로젝트마다 다른 성격 등을 수용하기 위한 방향으로 고려 중 • 찬성/반대 다양한 의견 수렴 중
  • 35. 35 참고: Jira in zanata.atlassian.net
  • 36. 36 참고: Jira in jira.onosproject.org