[ 사전 준비 ]

openstack.org 에 open id 로 접속

review.openstack.org 의 settings 에서 등록해야 할 내용

1. Profile >> Username

      - gerrit review 시에 등록할 username 값

    Profile >> Full Name, Email Address

      - git config 에 등록할 user.name, user.email 값

2. SSH Public Keys

    -> ssh public keys 를 등록

3. Agreements

    -> Contributor Agreement 등록


# clone a project (nova)
git clone git://github.com/openstack/nova.git

-> DevStack 으로 설치했다면 /opt/stack/nova 에 git 으로 clone 되어 있음

# port 확인 (브라우저에서 확인)
https://review.openstack.org/ssh_info

# Testing Gerrit Connections
ssh -p 29418 StephenAhn@review.openstack.org

# Setting username
git config --global --add gitreview.username "StephenAhn"

# gerrit 단축 경로 저장
vi ~/.ssh/config
Host review
  Hostname review.openstack.org
  Port 29418
  User StephenAhn

# gerrit remote 확인 및 change-id 자동 세팅 설정
git review -s

# gerrit remote 확인 시 에러나면 remote 추가
git remote add gerrit ssh://StephenAhn@review.openstack.org:29418/openstack/nova.git

# 최신 소스로 다운받기 (DevStack 의 경우 /opt/stack/nova 디렉토리에서)
git remote update
git checkout master
git pull --ff-only origin master

# blueprint 채널 생성 (blueprint 명이 local-storage-volume-scheduling 임)
git checkout -b bp/local-storage-volume-scheduling

# .mailmap 에 본인 email 추가 (여러 개의 이메일도 가능)
vi .mailmap
    <skanddh@gmail.com> <xxx@xxx.com>

# commit message 입력
git commit --amend

첫번째 라인은 50자 이내로 간단히 요약을 쓴다.
[공백라인]
설명을 적되 라인은 72자가 넘어가면 다음 라인에 쓴다.
.....

Add volume retype to Cinder client.
Cinder code: https://review.openstack.org/#/c/44881/

DocImpact
Implements: blueprint local-storage-volume-scheduling

Change-Id 는 자동으로 지정되므로 적지 않는다.

[ Commit message에 추가해야 할 내용 ]
DocImpact             -> 도큐먼트가 바껴야 할 때 넣음
SecurityImpact      -> 보안 문제가 있으니 OpenStack Secrurity Group 에서 
                                review해야 할 때 넣음
UpgradeImpact      -> 업그레이드에 영향을 미치는 경우 넣음
                                 (release notes 의 'Upgrade Notes' section 수정을 고려)

# git review 등록 (샘플 이외에 셋 중 아무거나 쓰면 됨)
# 샘플 양식
git push ssh://StephenAhn@review.openstack.org:29418/<Project Name> HEAD:refs/for/<Branch Name>

git push ssh://StephenAhn@review.openstack.org:29418/openstack/cinder HEAD:refs/for/bp/local-storage-volume-scheduling
git push review:openstack/cinder HEAD:refs/for/bp/local-storage-volume-scheduling
git review


[ unit test 수행을 위한 패키지 다운로드 ]
sudo apt-get install python-dev libssl-dev python-pip git-core libmysqlclient-dev libpq-dev
sudo apt-get install libxml2-dev libxslt-dev libvirt-dev
sudo apt-get install python-virtualenv testrepository

[ nova unit test ]
cd /opt/stack/nova
./run_tests.sh

# pep8 코딩 표준 테스트
./run_tests.sh -p

# netaddr>=0.7.6 에서 에러 발생 시
$ source .venv/bin/activate
$ wget https://github.com/downloads/drkjam/netaddr/netaddr-0.7.9.zip
$ unzip netaddr-0.7.9.zip
$ cd netaddr-0.7.9
$ python setup.py install

# ubuntu 12.04 에서 libvirt-python 1.2.5 설치 시 에러
ubuntu 12.04 에서는 libvirt 0.9.8 이 기본이므로 libvirt 1.2.0 으로 업그레이드 해야함
$ sudo apt-get update
sudo apt-get -y install \
    gcc \
    make \
    pkg-config \
    libxml2-dev \
    libgnutls-dev \
    libdevmapper-dev \
    libcurl4-gnutls-dev \
    python-dev \
    libpciaccess-dev \
    libxen-dev \
    libyajl-dev \
    libnl-dev

sudo mkdir -p /opt/libvirt
$ sudo chmod 00755 /opt/libvirt
$ sudo chown root:root /opt/libvirt
$ sudo chmod a+w /opt/libvirt
$ cd /opt/libvirt
$ wget http://libvirt.org/sources/libvirt-1.2.0.tar.gz
$ tar xzvf libvirt-1.2.0.tar.gz
$ mv libvirt-1.2.0 libvirt
$ cd libvirt
./configure \
    --prefix=/usr \
    --localstatedir=/var \
    --sysconfdir=/etc \
    --with-esx=yes \
    --with-xen=yes
$ make -j
$ sudo make install

$ ./run_tests.sh


# git review 시 권한이 없다는 메세지가 올 때 해결방법
git review

"fatal: ICLA contributor agreement requires current contact information.
Please review your contact information:
  https://review.openstack.org/#/settings/contact

fatal: The remote end hung up unexpectedly"

1. https://review.openstack.org/#/settings/contact 사이트에 접속
2. Contack information 중 아래의 Mailing Address Country, Phone Number, Fax Number 입력
3. "Contact information last updated on 날짜." 가 중간에 보이면 정상적으로 처리되었음
4. git review 실행




Posted by Kubernetes Korea co-leader seungkyua@gmail.com

댓글을 달아 주세요