A new mixin was introduced to share run_watchers across drivers,
but the base class's run_watchers() currently gets called instead,
resulting in a NotImplemented error.
Change-Id: I5f23f63100a9c00837025b291cb1db0a5187a8e9
Closes-bug: #1470264
The default unwatch_elected_as_leader implementation had
a typo preventing the method from suceeding.
Change-Id: Ib49cbd6558499ff8cd074bf8f2c9a26782a2146c
Closes-Bug: 1467907
Some of the returns were missing, so to ensure that the
interface is consistent ensure that we always return true
or false as needed, and add tests to ensure this keeps on
being maintained.
Change-Id: I877111c3a1d1d300881625c5900d4a825c5f1684
To enable a following commit to unify the `run_watchers` of
the various drivers we need to make the file driver method
look more like the other drivers, which means removing the
special no-async ability and having it use the standard get
a future and wait on it to return (and repeat).
Change-Id: I14d227a0e6a80da80eb2580b1780ae1dba128b21
If the log level isn't even enabled, we can avoid interpolating
the formatted string completly, so choose to do that by default.
Change-Id: Ibf2253b859a9196a0f4cebd78b565fedf5199832
To ensure that a file/group/folder is not being
removed while a read is underway (and therefore causing
corrupted msgpack reads) place the driver lock decorator
on the read methods to avoid this rare but possible
occurrence.
Change-Id: Ie2c53bd030aced77282cf575fd1024632e65348f
Also uses the nested temp dir support to ensure
that the temporary directory used for tests isn't
always the same (and therefore causing the file
driver tests to have problems).
Change-Id: I1b1acace086148e7930319e23cb5777c78adce6a
Adds the following to the file driver:
- join_group
- leave_group
- create_group
- get_members
- get_member_capabilities
- delete_group
- get_groups
Currently no watching (or leadership usage) is implemented
but it should be relatively simple to add at a later date.
Change-Id: I4fa73f43c5c9dde2b0e28693d1fecea8f6a0d3de
When a port number is not set explicitly in the connect URL to MySQL,
use MySQL default port number 3306
Change-Id: I3a7b50e7b8da00872960051b726e4b08ad9eacd6
This library provides the interprocess lock code
shared by oslo.concurrency, taskflow, and tooz, so
we can just use it instead of having something similar.
Change-Id: Ie6dc318b2c1fc86605bb48f6909df7f1aa6a216f
Lua locks are less prone to retries (and client side
flapping) so instead of using pipelines and retries on
those pipelines just use the simpler (and guaranteed
server-side atomic) lua based locks instead.
Change-Id: I3a03e040b56fd9ac97b7e5d00463ec961c81084a
To enable lua (and eval) usage to be accessible we
need to bump the min version to 2.6 (which should be
available on all distros that openstack is running
on).
This does that version bump and removes the code that
was handling and checking older versions (and the
differences/lack of APIs).
Change-Id: Ie8cd99d55e1907bb545b6692834b03871d9c1f83