Mais conteúdo relacionado
Semelhante a OpenStack Contribution Howto (20)
OpenStack Contribution Howto
- 2. CLA 手続き
• OpenStack に contribution できる状態になる
には、最終的に launchpad の openstack-cla
グループのメンバーとして承認してもらう必要
あり。
• 手順は OpenStack Wiki の HowToContribute
に詳しく書かれている。
– http://wiki.openstack.org/HowToContribute
• 次ページに具体的な手順を示す。
- 3. CLA手続き~具体的な手順~
1. Launchpad にアカウントを作成する。 http://launchpad.net/
2. CCLA では、組織単位の Contributor のメンバーリストがあり、 そこに
入っているかを確認する。
3. Individual Contributor License agreement (ICLA) に署名する。
– http://wiki.openstack.org/CLA
– Developer 各人が行う必要がある。
4. Contributors Wiki ページに自分を追加する。
– http://wiki.openstack.org/Contributors
– Wiki の先頭にある指示にしたがって Launchpad ID, CLA Echosign
Transaction Number, 所属を入力する
– Wiki の編集を行うためには、Wiki にログインする必要がある。
– Launchpad の OpenID 連携の確認画面などが出て来るが、指示に従う。
5. Launchpad 上の openstack-cla グループへの参加申請を行う。
– https://launchpad.net/~openstack-cla にアクセスして、 「Join the team」を選
んで、参加申請を行う。
– 参加申請が承認されるのを待つ。
• Approver が何を確認するのかは Wiki に書いてあります。
• 却下 (declined) された場合は何かの手順が抜けています。通知メールに理由が書い
てあるので、それを参照して問題を解決すれば必ず Approve されます。
- 4. パッチ投稿手順
• OpenStack のパッチは Gerrit 上でのレビューを
経て、承認されれば GitHub の Repository に
マージされる。
– Contributor は必ず Gerrit にパッチを投稿することに
なる。
• 詳細手順 :
http://wiki.openstack.org/DevQuickstart
– 日本語版 :
http://wiki.openstack.org/DevQuickstart/ja
• (注意) 日本語版の方は古い場合があります。古ければ更
新してもらえると助かります。
- 5. Gerrit へのパッチ投稿準備
• Gerrit は SSH が review.openstack.org:29418 で動作している。
– 接続するには SSH公開鍵の登録が必要
• キーの生成 : ssh-keygen
– 形式は RSA でも DSA でもよい。
• 作成した公開鍵を Launchpad に登録
– Launchpad から Gerrit への情報の同期にはしばらく時間がかかる。
– 急ぎの場合は Gerrit に公開鍵を直接登録してもよい (Settings → SSH
Public Keys)
• git-review をインストールする
– Ubuntu や Fedora ではパッケージになっている。Pypi でも配布され
ている。
• “git review -s“ が成功すれば OK
– “git review –s” は Git Repository ごとに必要
- 6. Proxy 内からのアクセス
• Gerrit は SSH が review.openstack.org:29418 で動作している。
– SSH 経由でアクセスする必要があり、Proxy の中 から投稿するためには SSH
の設定が必要。
– “corkscrew” (or “connect-proxy”) を利用することで、通常の HTTP Proxy 経由
でのアクセスが可能。
– Corkscrew のインストール : sudo apt-get install corkscrew
– ~/.ssh/config の設定
$ less ~/.ssh/config
Host review.openstack.org
ProxyCommand /usr/bin/corkscrew proxyserver.example.net 8080 %h %p
- 7. パッチ作成
• パッチの作成は通常の Git での開発と同じ
– Topic Branch で作業するのが原則
• Topic Branch 名は bug/<bug#> か bp/<blueprint-name> にするのが慣例。
• 必ずしもバグ報告をする必要はないが、Git Commit ログですべてを説明するよりも、バ
グ報告の中で報告した方がよい。あとは、バグ報告をした方が Topic Branch 名を悩まな
くても済むというメリットもある。
– パッチは必ず 1 Commit にすること。
• Gerrit の制約で Patch Series は扱えない。
• Commit Message にはバグ番号やBlueprint の情報を記載する
– “Fixes bug 123456” “blueprint my-blueprint”
– Gerrit ではLaunchpadへのリンクが作成される
• Commit を作成したら、Commit Message に “Change-Id: xxxxx” が入って
いることを確認する。
– (当たり前だが) メッセージは “git show” で確認できる。
– 入っていない場合は、手元の Git Local Repo で “git review --s” を一度も実行
していない。 “git review -s” を実行してから、”git commit --amend” で Commit
Message を作り直すと Change-Id が付与される。
– 実は、Change-Id が付与されていない状態でも git review で Gerrit に上げる
こともできる。その場合は自動で付与される。
- 8. パッチ修正
• Gerrit 上でのレビューでフィードバックをもらっ
たら、必要に応じてパッチを修正します。
– 変更の Commit は “git commit --amend” で行うこ
と。変更履歴は Gerrit 上で参照できる。
– Gerrit 上では Change-Id で同じパッチかを識別し
ているので、Change-Id は変更しないこと