thirose’s blog

openstackやpythonなどなど

Open Infrastructure Summit Shanghai

11/4~11/6に行われたOpen Infrastructure Summitに参加してきました。

初サミットは昨年のバンクーバーなので今回が2回目です。前回と違い今回は(通らなかったけど)proposalを出したし、ある程度背景もわかった状態での参加なので前回より理解度は高いかと思います。

ただ中国語のセッションは全くと言っていい程理解出来ませんでしたが、新しい体験でした。

 

今回の1番の目的は自分が担当してるDesignateのコアな方々と話すことです。

弊社のDNS as a Serviceでも使っていて自分が主にメンテナンスをしているので、こういう機能あると嬉しいなーという提案や最新版はどうなの?等話を出来ると良いな思って行って、実際に話出来たのは成果かとおもいます。

 

そのなかでShared ZONEという機能について、弊社と最新版の違いを紹介出来ればと考えています。

Shared ZONEとは

1つのOpenStackクラスタ内の異なるプロジェクトで同じZONEを使う為の機能です。

パブリッククラウド的な考えだと必要性がそこまで大きいものではないかと考える方もいるかも知れませんが、プライベートクラウドだとユーザから社員で複数のサービスを提供している場合に必要性が増します。

サービスごとにプロジェクトを作り、各プロジェクトごとに異なるZONEを使う。つまり一つの会社がサービス毎にZONEを買う必要が出てくるし、そもそも管理が煩雑になります。

ユーザから見ても統一性がないと思われるかも知れません。

そのため、弊社では本家Designateが実装する前からShared ZONEを実装し運用しています。

ではどのように実装しているのか。

また、本家Designateの違いは何なのかという説明をします。

 

弊社のShared ZONE

Designateにはattibuteというユーザが自由に使えるカラムが存在していて、そこに対して、shareして使うものかどうかというフラグを追加します。

それをベースにZONE一覧を取るときにその情報をもとに使えるZONEとそうでないZONEをフィルターしています。

 

それに対して本家Designateでは何をしているか?

ネットワークベースでの割当可否判断をするようです。

同じネットワークを持つプロジェクトは同じZONEを使用することが出来るとのこと。

該当コード読んでみよう。



f:id:hirosetakahito:20191109235730j:plain

まだまだ新しいタイプの対応や、自分が見えてる範囲でのイシューはあるのでしばらくはバグフィックスにも取り組んでいこうと思いました。