/usr/share/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181
[zk: 127.0.0.1:2181(CONNECTED) 0] ls /
[id, svc-monitor, schema-transformer, api-server, fq-name-to-uuid, zookeeper
svc-monitor.pyとschema-transformerはkazooのclass kazoo.recipe.election.Electionを使ってリーダーを選出している。
electionのリンクはこちらhttp://kazoo.readthedocs.org/en/latest/api/recipe/election.html
Contrailのコードはzkclient.pyの
class ZookeeperClient(object):
--- omit ---
def master_election(self, path, identifier, func, *args, **kwargs):
while True:
self._election = self._zk_client.Election(path, identifier)
self._election.run(self._zk_election_callback, func, *args, **kwargs)
--- omit ---
このリーダー選出時にZookeeperの/svc-monitorや/schema-transformerに格納されたIDを参照している
[zk: 127.0.0.1:2181(CONNECTED) 1] ls /svc-monitor
[11daffd619854056bfe07fe869f113b5__lock__0000000013, 0e8842d2039441cea5fc55c8107d9e6b__lock__0000000012, 820af8461c1d473d9198f8046fab1001__lock__0000000009]
[zk: 127.0.0.1:2181(CONNECTED) 2] ls /schema-transformer
[a0accb0261f442a3b960341da64fbad8__lock__0000000014, 470f9849bb5a4f5f943eef69c0da436b__lock__0000000013, 8f277ad7c7f04365bfa13c3ff3370135__lock__0000000012]
残りのデータは何に使っているか調査中/api-server/subnets仮想ネットワークの情報が入っている
/fq-name-to-uuid
全てのFull Query Nameが入っている
/id/bgp/route-targets
仮想ネットワークに割り当てられたroute-targetのIDが入っている
/id/security-groups/id
作成されたセキュリティグループのID情報が入っている
/id/virtual-networks
仮想ネットワークのIDが入っている
11/11追記 重複したらまずいデータとかが入っているとの情報。
0 件のコメント:
コメントを投稿