SlideShare a Scribd company logo
OpenStack Contribution HowTo

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

More Related Content

PDF
5分で分かった気になるTekton
PDF
Android App Development with Gradle & Android Studio
PDF
Google App Engine で ChatOps やっていき
PPTX
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert2)
PDF
GitBucketPlugin@2014忘年度会
PDF
情報社会論#10 "ソフトウェアのライセンス"
PDF
Horizon Quantum Integration grizzly
PDF
20121216 OSC Cloud OpenStack Quantum
5分で分かった気になるTekton
Android App Development with Gradle & Android Studio
Google App Engine で ChatOps やっていき
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert2)
GitBucketPlugin@2014忘年度会
情報社会論#10 "ソフトウェアのライセンス"
Horizon Quantum Integration grizzly
20121216 OSC Cloud OpenStack Quantum

Viewers also liked (20)

PDF
20131011_openstack-neutron-vyattameeting
PDF
Quantum-grizzly-packet-filtering
PDF
Horizon quantum-integration-grizzly
PDF
【Cisco OpenStack Seminar 2015.10.26】 OpenStack as Strategy for future growth
PDF
2012/09/27 #ssmjp おうちOpenStack
PDF
PRML7.2
PDF
20130724 openstack-3rd-anniversary-amotoki
PDF
Lecture note on PRML 8.2
PDF
OpenStack概要
PDF
20131212 Okinawa OpenDays OpenStack
PDF
OpenStack最新動向 2016/2
PDF
20131211 Neutron Havana
PDF
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
PDF
Neutron Icehouse Update (Japanese)
PDF
neutron_icehouse_update
PDF
20161129 neutron recent topic
PDF
20150713 OpenStack Translation in Japan
PDF
Neutron: br-ex is now deprecated! what is modern way?
PDF
Ansibleで味わうHelion OpenStack
PDF
OpenStack 最新動向 2016/11
20131011_openstack-neutron-vyattameeting
Quantum-grizzly-packet-filtering
Horizon quantum-integration-grizzly
【Cisco OpenStack Seminar 2015.10.26】 OpenStack as Strategy for future growth
2012/09/27 #ssmjp おうちOpenStack
PRML7.2
20130724 openstack-3rd-anniversary-amotoki
Lecture note on PRML 8.2
OpenStack概要
20131212 Okinawa OpenDays OpenStack
OpenStack最新動向 2016/2
20131211 Neutron Havana
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
Neutron Icehouse Update (Japanese)
neutron_icehouse_update
20161129 neutron recent topic
20150713 OpenStack Translation in Japan
Neutron: br-ex is now deprecated! what is modern way?
Ansibleで味わうHelion OpenStack
OpenStack 最新動向 2016/11
Ad

Similar to OpenStack Contribution Howto (20)

PDF
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
PDF
PPTX
はじめてのgithub
PDF
git-webtouchmeeting
PDF
Pythonとgit hubとベンチャー企業の上手な付き合い方
PPTX
OpenStack開発のいろはの「い」
PDF
[Intermediate 02] シェルの使い方 / Git, GitHub について
KEY
日本androidの会 中国支部 29回勉強会 github
PDF
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
PDF
Git_GitHub 入門者向けスライド.pdf
PDF
GitHubでプロジェクトを共有してみよう
PDF
GitHubでプロジェクトを共有してみよう (1)
PDF
ノンプログラマのGit入門
PDF
ソフトウェア工学2023 08 GitHub
PDF
GitHub入門 手順編
PDF
Nutanix エンジニアのための Git 入門 :序
PPTX
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
PPTX
2018 07-18 git-hub講座
PDF
Python for Data Analysis第1回勉強会(+git入門)
PPTX
GitHub Handson
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
はじめてのgithub
git-webtouchmeeting
Pythonとgit hubとベンチャー企業の上手な付き合い方
OpenStack開発のいろはの「い」
[Intermediate 02] シェルの使い方 / Git, GitHub について
日本androidの会 中国支部 29回勉強会 github
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Git_GitHub 入門者向けスライド.pdf
GitHubでプロジェクトを共有してみよう
GitHubでプロジェクトを共有してみよう (1)
ノンプログラマのGit入門
ソフトウェア工学2023 08 GitHub
GitHub入門 手順編
Nutanix エンジニアのための Git 入門 :序
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
2018 07-18 git-hub講座
Python for Data Analysis第1回勉強会(+git入門)
GitHub Handson
Ad

More from Akihiro Motoki (6)

PDF
Kubernetes Upgrade survey (Dec 2023) results
PDF
20190722 OpenStack community past present future
PDF
20190722 Building handy CI with zuul and OpenStack
PDF
20190118-josug-open stack-community-goals
PDF
OpenStack Neutron IPv6 Lessons
PDF
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
Kubernetes Upgrade survey (Dec 2023) results
20190722 OpenStack community past present future
20190722 Building handy CI with zuul and OpenStack
20190118-josug-open stack-community-goals
OpenStack Neutron IPv6 Lessons
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions

OpenStack Contribution Howto

  • 1. OpenStack Contribution HowTo Akihiro Motoki Japan OpenStack Users Group Dec 22th, 2012
  • 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 は変更しないこと