これは、 OpenStack Advent Calendar 2016 のエントリです。

先日、OpenStack に新たなリポジトリを追加したので、そのときに感じたことや経験を共有してみたいと思います。

ナニを追加したのか?

Coverage.py によって生成される、単体テストなどの coverage データを、データベースに時系列な データとして保持するための小さなツールです。最終的には、 openstack-health と連携して、 単体テストの coverage 推移を表示したいと考えてます。もちろん、

「カバレッジ100%だったら品質が良いわけじゃないよね?」

という話はあります。しかし、少なくとも、カバレッジ率が意図せず下落傾向な場合は、問題がある可能性があり、 それを知ることができるというのが重要と考えています。

このような性質のコンポーネントのため、独立したプロジェクトではなく、 Quality Assurance プログラム配下のリポジトリとして追加しました。このようなリポジトリを追加することはなかなか無いこととは 思いますが、新しいリポジトリを追加した経験は、もしかしたら誰かの役に立つかもしれないと思い、共有します。

なお、似たようなツールとして subunit2sql と言うものがあるのですが、それにインスパイアされて作りました。

新しいリポジトリの追加方法

Project Creator's Guide をまずは読みます。ステップ・バイ・ステップで丁寧に説明された ドキュメントです。このとおりやっていれば、あまり迷うことも無いと思います。

大きな流れとしては、

# Launchpad 設定 # PyPI 設定 # openstack-infra/project-config, openstack/governance 設定 # レビュー待ち&対応 # 新しいリポジトリ作成(最初でもOK) # Gateジョブ実行動作確認 # 初期バージョンリリース # ...

という感じになると思います。

ドキュメントに書いてないこと

ドキュメントのとおりに進んでいって、特に困ったことにはならなかったので、あまりないですね。強いて言えば、

  • Launchpadの登録で、少しだけ記述が現状とあってない部分があった。
  • Ubuntuバージョンはxenialが基本(trustyが必要でなければそのジョブは入れないほうが良い)

くらいでしょうか。

感想・まとめ

  • リポジトリ追加は比較的カンタン
  • OpenStack Infra job設定わかりづらい。。(他のを真似してやればある程度は想像つくけど)
  • でも、OpenStack インフラを使って自動ビルド・テストが実行できるのはとても便利

参考URL

Happy Hacking!



Comments

comments powered by Disqus