본문 바로가기

공부/오픈소스

오픈소스) 간단한 사례로 보는 오픈 스택 기여 방법

728x90

* 퇴사 이슈로 간단 메모. 추후 자료 보강예정

 

1. 버그 발견

어느날 간단한 버그 하나가 발견 됨.

 

https://bugs.launchpad.net/manila/+bug/2069782

 

Manila 서비스에서 Share type 을 생성할 때 에러 메시지에 값이 출력되야하는데, (%id) 포맷팅이 그래도 출력됨.

 

2. git clone

오픈스택를 통으로 다 설치하기에는 자원의 한계로 devstack 을 설치

 

3. dev-stack 설치 및 manila 서비스 추가

dev-stack 은 기본 서비스만 설치도며, manila는 이 서비스들에 포함되지 않아 별도 설정 필요

 

4. 코드 수정 및 테스트

코드는 어렵지 않았음

msg 변수 값으로 출력됐어야하는 내용이 message 값으로 출력되고 있었음

수정 후 테스트를 위해 서비스 재시작

sudo systemctl restart devstack@m-*

* 정확한 서비스 명 확인 후 수정 예정

 

dev-stack 의 서비스 명들은 openstack 의 서비스 명들과 차이가 있었는데, 확인 방법은 다음과 같음

$sudo systemctl list-timers devstack@*
devstack@c-api.service
devstack@c-sch.service
devstack@c-vol.service
devstack@dstat.service
devstack@etcd.service
devstack@g-api.service
devstack@keystone.service
devstack@m-api.service
devstack@m-dat.service
devstack@m-sch.service
devstack@m-shr.service
devstack@n-api-meta.service
devstack@n-api.service
devstack@n-cond-cell1.service
devstack@n-cpu.service
devstack@n-novnc-cell1.service
devstack@n-sch.service
devstack@n-super-cond.service
devstack@placement-api.service
devstack@q-ovn-metadata-agent.service
devstack@q-svc.service

각 서비스의 앞 스팰링(ex. manila는 m, nova는 n)과 컴포넌트의 조합으로 서비스 명이 구성됨

 

5. commit 메시지 작성 및 push

 

6. 리뷰 및 merge, 그리고 cherry-pick

 

5개 버전에서 계속 남아있던 버그라 모두 cherry-pick으로 해당 코드가 반영되었고 모두 머지 완료.