Instead of having each driver index the last value of
each option, when all current drivers do not actually care
about any of the other indexes we can just use and provide
a option collapsing function that we by default apply to
all the existing drivers options (to avoid needing to index
by -1).
This avoids a confusion point for new folks, and one that
does not currently really provide any value (no driver in
tree besides one option in the redis driver uses/consumes
or understands multiple options in the first place).
Change-Id: Ia2898d84fd0e54871b829f4a95786a33accc20b8
To allow the zake driver to use a pre-existing storage
backend (for example, shared with a taskflow test that
also uses zake) we need a way to provide non-query-string
options and to get those options to the zake driver for
usage.
This approach allows the `get_coordinator` function
to take **kwargs and have those take precedence over
the options found with the same name in the urls query
string (and merge those together to form the coordinators
option dictionary that exists already).
Change-Id: Ibc745927eccac050992227410cca393d956f8c44
Adjust the docs to better describe why a fake storage
class attribute exists and how it is used and what it
represents compared to a real zookeeper setup.
Change-Id: I255ccd83c8033266e9cee09a343468ae4e0f2bfd
The zake driver should theoretically function the same as the
non-local driver so all the same kazoo functions should work,
without the whole distributed part as they work with the regular
zookeeper backed kazoo driver.
Change-Id: I19df0da0e58c5624ca1b10f61c42510f1f104847
Some code in the drivers might actually raise the standard
NotImplemented error, and that would be a bug to skip a test if that was
the case. In that case we want the test to fail.
So let's switch to a custom exception that is used to skip the test if
it's raised.
Change-Id: Ideafee0b1f008ff32724fb98d6a477bd3976104d
That is needed to prevent Zake driver load in real-life Zookeeper
usage - currently we had the situation when even if you want to use
just KaZoo, you needed to install partially test-requierements
(zake package).
Change-Id: I9664fda2d6e76a6e48776b4a6d92af4c4baf1425