Link: https://openstack.nimeyo.com/35311/?show=63539#c63539<br />
From: dawn <beijingwangkang@hotmail.com><br />
<br />
<p>we know ceilometer use <strong>tooz</strong> to implement ha, so we can found the answer in tooz</p>
<ul><li><p>First, tooz will parse the backendurl by netutils.urlsplit:<br>
> parsed<em>url = netutils.urlsplit(backend</em>url)</p></li>
<li><p>Then, backend driver will be found by the url scheme, for example in my situation, <strong>memcached</strong><br><code>driver.DriverManager(
namespace=TOOZ_BACKENDS_NAMESPACE,
name=parsed_url.scheme,
invoke_on_load=True,
invoke_args=(member_id, parsed_url, options)).driver</code></p></li>
<li>Finally , the MemcachedDriver will be initialed as below<br><code>def __init__(self, member_id, parsed_url, options):
super(MemcachedDriver, self).__init__()
options = utils.collapse(options)
self._options = options
self._member_id = member_id
self._joined_groups = set()
self._executor = utils.ProxyExecutor.build("Memcached", options)
self.host = (parsed_url.hostname or "localhost",
parsed_url.port or 11211)
default_timeout = options.get('timeout', self.DEFAULT_TIMEOUT)
self.timeout = int(default_timeout)
self.membership_timeout = int(options.get(
'membership_timeout', default_timeout))
self.lock_timeout = int(options.get(
'lock_timeout', default_timeout))
self.leader_timeout = int(options.get(
'leader_timeout', default_timeout))
max_pool_size = options.get('max_pool_size', None)
if max_pool_size is not None:
self.max_pool_size = int(max_pool_size)
else:
self.max_pool_size = None
self._acquired_locks = []</code> </li>
</ul><p><strong>So,</strong> I set the backendurl as "memcached://127.0.0.1:11211"<br>
You can find your answer here: <a rel="nofollow" href="https://github.com/openstack/tooz/tree/master/tooz/drivers">tooz backend driver code</a></p>
<p>Hope this will help you!</p>