Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OpenStack Contribution Howto

2,210 views

Published on

Tips and procedures to post patches to OpenStack.
Dec 22, 2012 meeting of Japan OpenStack User Groups

Published in: Technology
  • Be the first to comment

OpenStack Contribution Howto

  1. 1. OpenStack Contribution HowTo Akihiro Motoki Japan OpenStack Users Group Dec 22th, 2012
  2. 2. CLA 手続き• OpenStack に contribution できる状態になる には、最終的に launchpad の openstack-cla グループのメンバーとして承認してもらう必要 あり。• 手順は OpenStack Wiki の HowToContribute に詳しく書かれている。 – http://wiki.openstack.org/HowToContribute• 次ページに具体的な手順を示す。
  3. 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. 4. パッチ投稿手順• OpenStack のパッチは Gerrit 上でのレビューを 経て、承認されれば GitHub の Repository に マージされる。 – Contributor は必ず Gerrit にパッチを投稿することに なる。• 詳細手順 : http://wiki.openstack.org/DevQuickstart – 日本語版 : http://wiki.openstack.org/DevQuickstart/ja • (注意) 日本語版の方は古い場合があります。古ければ更 新してもらえると助かります。
  5. 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. 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/configHost review.openstack.orgProxyCommand /usr/bin/corkscrew proxyserver.example.net 8080 %h %p
  7. 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. 8. パッチ修正• Gerrit 上でのレビューでフィードバックをもらっ たら、必要に応じてパッチを修正します。 – 変更の Commit は “git commit --amend” で行うこ と。変更履歴は Gerrit 上で参照できる。 – Gerrit 上では Change-Id で同じパッチかを識別し ているので、Change-Id は変更しないこと

×