Cephのバージョン名とコードネームのひみつ

1 min読了の目安(約1500字TECH技術記事

この記事はRookと仲間たち、クラウドネイティブなストレージの Advent Calendar 202017日目を後からこっそり埋めたものです。

ソフトウェアのバージョン名の命名規則にはいろいろな種類があります。代表的なところではsemantic versioning、通称semverというものがあります。一部で有名な3.1415...と円周率の小数点以下一桁ずつが増えていくTeXといったものもあります。

さてCephのバージョンはどうかといいますと、これがかなり特殊です。たとえば最新安定版はv15.2.8です。一見semverのように見えるので「メジャーバージョンが15、マイナーバージョンが2、パッチバージョンが8でしょ?」と思いがちですが、実は全然違います。1つ目の15のところはメジャーリリース番号と呼ばれていて、これはsemverでいうところのメジャー番号のようなものです。2つ目は飛ばして3つ目がマイナーリリースのようなものです。バグ修正だけではなく一部機能追加もします。

では2つ目の数値がなにかというと、これはメジャーリリース番号のリリースタイプと呼ばれる、開発の進行具合をあらわすような数値になっています。数値は0,1,2のいずれかになり、0は開発版、1はrc版、2は安定版です。すなわちv15.2.8はv15の安定版の8番目のマイナーリリース、といった意味になります。やたらとややこしいですね。仮にv15.0.10とかv15.1.10とかいう数値を見ても「おっ、10番目のパッチリリースだから安定しているのかな?」と油断してはいけません。こいつらは開発版とrc版です。

Cephのメジャーリリース番号にはそれぞれ固有のコードネームがついています。このコードネームはOpenStackなどの他のソフトウェアにもよく見られるAからはじまって次のバージョンはB,その次はC,D,E...のように続く単語が選ばれます。ここまでは普通なのですが、選ばれる単語が独特で、頭足類(イカとかタコとかの動物の総称)の名前がつけられます。これはそもそもCephの名前自体が"Ceph"alopod(頭足類を示す英単語)に由来することから来ているのでしょう[1]

最近の3つの安定版でいうとv13がMimic(ミミックオクトパス)、v14がNautilus(オウムガイ)、そしてv15がOctopus(タコ)です。次期安定版であるv16はPacific(ミズダコ)が予定されています。

さて、次々版のv17はというとQではじまる頭足類を探さなければいけないのですが、去年から「Qではじまる頭足類なんかいねえよ…」と開発者たちが頭を抱えて公募もした結果、最終的には最近になって「Quincy」に落ち着いたようです。Quincyが何を意味するかというと、スポンジボブというアニメに出てくるSquidward Tentacles(日本語版ではイカルド)のミドルネームから来ているそうです。あまりの無理やりっぷりがすごいですね。

Cephのバージョン名とコードネームについては詳しくは公式ドキュメントをごらんください。では終わります。

脚注
  1. 過去にCephの主要な開発元であったInkTank社(数年前にRed Hat社が買収)の名前も頭足類が吐き出す墨から転じてインクを入れる容器(InkTank)となったのでしょう。 ↩︎