* Tue May 12 2020 cloud-devel@suse.de
- update to version 2.1.0
- Fix membership lease issue on the etcd3gw driver
- RedisLock release() should not check if the lock has been acquired
- Add shared arg in metaclass Lock
- [ussuri][goal] Drop python 2.7 support and testing
- Drop os-testr test-requirement and pretty_tox.sh
- Update master for stable/train
- Avoid redis lock's expire_time exceeding timeout.
* Wed Oct 09 2019 cloud-devel@suse.de
- removed 0001-Remove-grpcio-from-requirements.txt.patch
- update to version 1.66.2
- Remove unused requirements.
- Blacklist sphinx 2.1.0
- Remove py35, add py37 classifiers
- OpenDev Migration Patch
- Replace git.openstack.org URLs with opendev.org URLs
- Add Python 3 Train unit tests
- Update Sphinx requirement and uncap grpcio
- Referencing testenv deps now works
- add python 3.7 unit test job
- Update master for stable/stein
- Move grpcio from requirements.txt to extras
- Fix wrong log level during heartbeat
- Move test deps to test-requirements.txt
- Unblock tooz gate
* Mon Apr 29 2019 Dirk Mueller <dmueller@suse.com>
- fix python-enum34 dependency
* Mon Apr 08 2019 cloud-devel@suse.de
- update to version 1.64.2
- More explicitly document driver connection strings
- fix tox python3 overrides
- Ensure consistent encoding of strings for ID
- Add release note link in README
- add lib-forward-testing-python3 test job
- Change openstack-dev to openstack-discuss
- Unblock tooz gate
- Update reno for stable/rocky
- Fixed UnicodeEncodeError for Python2 unicode objects
- Switch to autodoc_default_options
- Migrate to stestr
- add python 3.6 unit test job
- Use templates for cover
- Fix coverage tests
- import zuul job settings from project-config
- coordination: do not retry the whole heartbeat on fail
- add 0001-Remove-grpcio-from-requirements.txt.patch
* Mon Mar 25 2019 cloud-devel@suse.de
- update to version 1.62.1
- fix tox python3 overrides
- Update .gitreview for stable/rocky
- import zuul job settings from project-config
- Fixed UnicodeEncodeError for Python2 unicode objects
* Mon Sep 03 2018 cloud-devel@suse.de
- update to version 1.62.0
- set default python to python3
- Use native Zuul v3 tox jobs
- Update reno for stable/queens
- Zuul: Remove project name
- Remove setting of version/release from releasenotes
- Trivial: Update pypi url to new url
- Add doc/requirements.txt
- Implement group support for etcd3gw
- Zuul: add file extension to playbook path
- Move legacy jobs to project
- partitioner: do not use hash() to determine object identity
- Follow the new PTI for document build
- msgpack-python has been renamed to msgpack
- Remove tox_install.sh
Version: 1.60.0-bp150.1.3
* Fri Feb 23 2018 tbechtold@suse.com
- Switch to stable/queens spec template
* Mon Feb 19 2018 cloud-devel@suse.de
- update to version 1.60.0
- Update .gitreview for stable/queens
- Use native Zuul v3 tox jobs
- msgpack-python has been renamed to msgpack
* Sun Nov 26 2017 cloud-devel@suse.de
- update to version 1.59.0
- redis: always remove lock from acquired lock when release()ing
- Update reno for stable/pike
- Add etcd3 group support
- Use the same default timeout for async result
- redis: log an error on release failure
- Acquire fails with "ToozError: Not found"
* Mon Aug 07 2017 cloud-devel@suse.de
- update to version 1.58.0
- etcd3: add etcd3 coordination driver
- Factorize tox envlist for better readability
- redis: fix concurrent access on acquire()
- {my,pg}sql: close connections when out of retry
- tests: fix etcd and consul test run
- pass on partitions
- pgsql: fix self._conn.close() being called without connection
- Implement heartbeat for FileDriver
- hashring: allow to use bytes as node name
- Update reno for stable/ocata
- coordination: factorize common async result futures code
- Turn on warning-is-error in doc build
- Make sure Lock.heartbeat() returns True/False
- etcd3: use discard() rather than remove()
- http->https for security
- doc: use list-table for driver support tables
- Separate etcd3gw driver that uses the etcd3 grpc gateway
- etcd3: replace custom lock code by more recent etcd3 lock code
- coordination: remove double serialization of capabilities
- consul: remove unused executor
- etcd: fix blocking argument
- get weight of existing members
- coordination: fix reversed fiels for __repr__ for events
- Add shared filelock
- postgresql: only pass username and password if they are set
- Fix psycopg2 connection argument
- Update URLs in documents according to document migration
- etcd: fix acquire(blocking=True) on request exception
- tests: tests fail if no URL is set + run partitioner tests on basic drivers
- Adds authentication support for zookeeperDriver
- coordination: do not get member list if not needed
- sql: close connection for lock if not used
- support unicode node name
- etcd3: fix test run
- test: leverage existing helper method in test_partitioner
- simplify hashring node lookup
- rearrange existing documentation to fit the new standard layout
- Fix docstring for group and member id
- Mutualize executor code in a mixin class
- Disable test_get_lock_serial_locking_two_lock_process for etcd3
- Simplify env list and test running
- doc: update heartbeat doc to use start_heart=True
- Switch tests to use latest etcd - 3.1.3
- etcd3: skip ProcessPool based test
- Rewrite heartbeat runner with event
- Switch from oslosphinx to openstackdocstheme
- FileDriver:Support multiple processes
- tests: fix missing .get() on some group operations
- add weight tests for add_nodes
- Enhance heartbeat sleep timer
* Fri Feb 10 2017 cloud-devel@suse.de
- update to version 1.48.0:
- Replace 'assertTrue(a in b)' with 'assertIn(a, b)' and 'assertFalse(a in
- Replace retrying with tenacity
- [doc] Note lack of constraints is a choice
- Fixup concurrent modification
- file: update .metadata atomically
- Switch from Python 3.4 to Python 3.5
- tox: use pretty tox output
- file: move _read_{group,member}_id to staticmethod-s
- Update etcd version in tests
- redis: make sure we don't release and heartbeat a lock at the same time
- Add CONTRIBUTING.rst
- The 'moves.moved_class' function creates a new class
- coordinator: add join_group_create
- Bump hacking to 0.12
- coordination: make get_members() return a set
- file: move _load_and_validate to a method
- Add weight support to the hashring
- Use the internal group of list rather than listing the groups
- Changed author and author-email
- tox: install docs dependency in docs target and reno
- Raise tooz error when unexpected last entries found
- Install only needed packages
- coordination: add __repr__ for join/leave events
- zookeeper: switch to standard group membership watching
- coordination: fix moved_class usage for ToozError
- Use method ensure_tree from oslo.utils
- Move ToozError to root module
- Using assertIsNone() instead of assertEqual(None, ...)
- Replace 'assertTrue(a (not)in b)' with 'assert(Not)In(a, b)'
- coordination: renforce event based testing
- Factorize member_id in the base coordinator class
- Add a hashring implementation
- Add reno for release notes management
- Do not re-set the members cache for watchers by default
- Fix a typo in file.py
- Add partitioner implementation
- Move the cached-based watcher implementation into its own class
- etcd: run tests in clustering mode too
- Changed the home-page link
- Replaces uuid.uuid4 with uuidutils.generate_uuid()
- Fix test function name with two underscores to have only one
- Stop making tooz.utils depending on tooz.coordination
- file: return converted voluptuous data
- Factorize group quit on stop()
- coordination: allow to pass capabilities in join_group_create()
* Fri Sep 30 2016 dmueller@suse.com
- update to 1.43.0:
* Makedirs only throws oserror, so only catch that
* Wed Aug 10 2016 tbechtold@suse.com
- update to version 1.42.0
* Share _get_random_uuid() among all tests
* Fix the test test_unwatch_elected_as_leader.
* etcd: don't run heartbeat() concurrently
* File driver: properly handle Windows paths
* etcd: properly block when using 'wait'
* Clean leave group hooks when unwatching.
* Updated from global requirements
* Tue Aug 09 2016 tbechtold@suse.com
- update to 1.40.0:
* Add docs for new consul driver
* Change dependency to use flavors
* Run doc8 only in pep8 target
* Move pep8 requirements in their own target
* zookeeper: do not hard depend on eventlet
* Remove unused iso8601 dependency
* tests: remove testscenario usage
* file: set no timeout by default
* tests: move bad_url from scenarios to static test
* Expose timeout capabilities and use them for tests
* Use pifpaf to setup daemons
* Updated from global requirements
* Using LOG.warning instead of LOG.warn
* redis: do not force LuaLock
* Fix coordinator typo
* Ensure etcd is in developer and driver docs
* Remove unused consul future result
* Add a consul based driver
* file: make python2 payload readable from python3
- update _service and switch to upstream spec.j2 template
* Thu Mar 03 2016 tbechtold@suse.com
- update to 1.34.0:
* Updated from global requirements
* Compute requires_beating
* Fix calling acquire(blocking=False) twice leads to a deadlock
* Raises proper error when unwatching a group
* Updated from global requirements
* Updated from global requirements
* Add .tox, *.pyo and *.egg to .gitignore
* Enable OS_LOG_CAPTURE so that logs can be seen (on error)
* Updated from global requirements
* Add lock breaking
* pgsql: fix hostname parsing
* Updated from global requirements
* Updated from global requirements
* Update voluptuous requirement
* Updated from global requirements
* Updated from global requirements
* Have zookeeper heartbeat perform basic get
* Add desired characteristics strict subset validation
* Add base64 key encoder (and validations)
* Use voluptuous instead of jsonschema
* Add programatic introspection of drivers characteristic(s)
* Updated from global requirements
* pep8: fix remaining errors and enable all checks
* Use utils.convert_blocking to convert blocking argument
* Adjust some of the zookeeper exception message
* Fix etcd env setup
* tests: do not hardcode /tmp
* utils: replace exception_message by exception_to_unicode
* Add a default port and default host
* etcd: driver with lock support
* Use utils.to_binary instead of using redis module equivalent
* Remove tested under 2.6 from docs
- adjust Requires according to requirements.txt
* Mon Jan 04 2016 tbechtold@suse.com
- update to 1.29.0:
* Updated from global requirements
* Add basic file content schema validation
* Spice up the driver summary/info page
* Make all locks operate the same when fetched from different coordinators
* Add noted driver weaknesses onto the drivers docs
* Updated from global requirements
* File: read member id from file with suffix ".raw"
* Reduce duplication of code in handling multi-type blocking argument
* Updated from global requirements
* Add comment in memcache explaining the current situation with lock release
* Add 'requires_beating' property to coordination driver
* {pg,my}sql: fix AttributeError on connection failure
* tests: allow ipc to bypass blocking=False test
* pgsql: remove unused left-over code
* Add 'is_still_owner' lock test function
* Updated from global requirements
* Updated from global requirements
* Remove python 2.6 and cleanup tox.ini
* Updated from global requirements
* Allow specifying a kazoo async handler 'kind'
* Updated from global requirements
* Updated from global requirements
* Add standard code coverage configuration file
* docs - Set pbr 'warnerrors' option for doc build
* Include changelog/history in docs
* Updated from global requirements
* Expose Znode Stats and Capabilities
* Allow more kazoo specific client options to be proxied through
* Updated from global requirements
- add _service file
- adjust Requires according to requirements.txt
* Tue Sep 01 2015 tbechtold@suse.com
- update to 1.23.0:
* Changes to add driver list to the documentation
* Updated from global requirements
* Updated from global requirements
* Accept blocking argument in lock's context manager
* Make RedisLock's init consistent with other locks
* Updated from global requirements
* Raise exception on failed lock's CM acquire fail
* Be more restrictive on the executors users can provide
* Updated from global requirements
* Updated from global requirements
* Use futurist to allow for executor providing and unifying
* Use a lua script(s) instead of transactions
* Updated from global requirements
* Change Lock.name to a property
* Update .gitignore
* Updated from global requirements
* Fixup dependencies
* Expose started state of coordinator to external
* Updated from global requirements
* Updated from global requirements
* Remove tooz/openstack as it is empty and not used
* Fix sp 'seonds' -> 'seconds'
* Ensure run_watchers called from mixin, not base class
* Updated from global requirements
* Update compatibility matrix due to file drivers new abilities
- Adjust Requires according to requirements.txt
* Wed Jul 29 2015 tbechtold@suse.com
- Unify spec file. Use fedora compatible files macros
* Fri Jul 03 2015 dmueller@suse.com
- update to 0.17.0:
* Ensure unwatch_elected_as_leader correctly clears hooks
* Wed Jun 24 2015 tbechtold@suse.com
- update to 0.16.0:
* Updated from global requirements
* Ensure lock(s) acquire/release returns boolean values
* Remove file-driver special no-async abilities
* Delay interpolating the LOG string
* Use `encodeutils.exception_to_unicode` for exception -> string function
* Use the `excutils.raise_with_cause` after doing our type check
* Updated from global requirements
* Use the 'driver_lock' around read operations
* Updated from global requirements
* Switch badges from 'pypip.in' to 'shields.io'
* Updated from global requirements
* Add watch file driver support
* Make the file driver more capable (with regard to groups)
* Ensure locks can not be created outside of the root file driver directory
* Updated from global requirements
* Use MySQL default port when not set explicitly
* Use fasteners library for interprocess locks
* Implement watch/unwatch elected_as_leader for redis driver
* Updated from global requirements
* Use lua locks instead of pipeline locks
* Move more string constants to class constants with docstrings
* Updated from global requirements
* Updated from global requirements
* Remove support for redis < 2.6.0
* Expose Zookeeper client class constants
* Expose redis client class constants
* Use a serialization/deserialization specific exception
* Expose memcache coord. class constants
* Explicitly start and execute most transactions
* Provide and use a options collapsing function
* Add zookeeper tag in setup.cfg
* Use pymemcache pooled client
* Use oslo.serialization msgpackutils
* Provide ability for namespace customization for Zookeeper and Zake drivers
* Typo in Locking doc
* Move optional driver requirements to test-requirements.txt
* Have run_watchers take a timeout and respect it
* Heartbeat on acquired locks copy
* Avoid using a thread local token storage
* Fix param name to be its right name
* Replace more instance(s) of exception chaining with helper
* Just use staticmethod functions to create _dumps/_loads
* Uncap library requirements for liberty
* Link AOF to redis persistence docs
* Add exception docs to developer docs
* Add + use helper to raise + chain exceptions
* Allow the acquired file to be closed manually
* Updated from global requirements
* Silence logs + errors when stopping and group membership lost
* Make and use a thread safe pymemcache client subclass
* Handle errors that come out of pymemcache better
* Use rst inline code structure + link to sentinel
* Beef up the docstrings on the various drivers
* fix lock concurrency issues with certain drivers
* Add pypi download + version badges
* Denote that 2.6 testing is still happening
* Updated from global requirements
* Use a sentinel connection pool to manage failover
* fix mysql driver url parsing
- Adjust Requires according to requirements.txt
* Wed Apr 08 2015 tbechtold@suse.com
- update to 0.13.1:
* Switch to non-namespaced module imports
* Add a driver feature compatibility matrix
* Remove support for 3.3
* Two locks acquired from one coord must works
* Updated from global requirements
* Releases locks in tests
* Allow coordinator non-string options and use them
* Since we use msgpack this can be more than a str
* Updated from global requirements
- update Requires according to requirements.txt
* Thu Feb 26 2015 tbechtold@suse.com
- update to 0.12:
* retry: fix decorator
* file: fix typo in errno.EACCES
* Add a file based driver
* Upgrade to hacking 0.10
* Update sentinel support to allow multiple sentinel hosts
* Allow to pass arguments to retry()
* IPC simplification
* Thu Jan 08 2015 tbechtold@suse.com
- update to version 0.10:
* Add support for an optional redis-sentinel
* README.rst tweaks
* A few more documentation tweaks
* Sync requirements to global requirements
* Add create/join/leave group support in IPC driver
* Add driver autogenerated docs
* Update links + python version supported
* zookeeper: add support for delete group
* redis: add support for group deletion
* tests: minor code simplification
* memcached: add support for group deletion
* memcached: add support for _destroy_group
* Switch to using oslosphinx
* Add doc on how transaction is itself retrying internally
* Fix .gitreview after rename/transfer
* tests: use scenarios attributes for timeout capability
* tests: check for leave group events on dead members cleanup
* memcached: delete stale/dead group members on get_members()
* tests: remove check_port
* tests: do not skip test on connection error
* doc: add missing new drivers
* doc: switch examples to Zake
* doc: add locking
* Fix tox envlist
* Drop Python 3.3 tests in tox
* Allow tox with py34 and MySQL
* Test connection error scenarios on more drivers
* Translate psycopg2 errors/exceptions into tooz exceptions
* Ensure 'leave_group' result gotten before further work
* watch_leave_group not triggering callback on expired members
* Add MySQL driver
* Discard 'self' from '_joined_groups' if we got booted out
* Implement non-blocking locks with PostgreSQL
* More retry code out of memcached
* Add a PostgreSQL driver
* Fix gate
* Handle when a group used to exist but no longer does
* tox: split redis/memcached env
* Fix memcached heartbeat on start()
* tox: splits test scenarios
* Add a minimum redis version check while starting
* Make requirement on redis 2.10.x explicit
* Try to use PSETEX when possible
* Use hdel with many keys where supported
* Avoid logging warnings when group deleted or member gone
* Ensure that we correctly expire (and cleanup) redis members
* Various fixes for locks and version compatibility
* Move sysv_ipc deps to test-requirements
* test: try to stop() first
* Convert the rest of memcached driver functions to futures
* Add a assertRaisesAny helper method
* Allow zake to be tested
* Add a redis driver
* Ensure groups leaving returns are gotten
* Raise the new OperationTimedOut when futures don't finish
* Start to add a catch and reraise of timed out exceptions
* Adjust the timeout to reflect the repeated retries
* ipc: do not delete the lock if we never acquired it
* Add home-page field
* Split up the requirements for py2.x and py3.x
* ipc: Fix acquire lock loop logic
* Make lock blocking with no time out by default
* coordination: remove destroy() from the lock protocol
* IPC: fix a potential race condition at init
* Fix IPC driver on OS X
* Switch to oslo.utils
* Blacklist retrying 1.3.0
* Use futures to make parts of the memcached driver async
* Have examples run in the py27 environment and make them work
- Adjust Requires according requirements.txt
* Fri Nov 14 2014 dmueller@suse.com
- python-subunit removed from runtime requires, its a test only
require
* Fri Oct 03 2014 iartarisi@suse.com
- Add python-sysv_ipc requirement from requirements.txt file
* Tue Sep 30 2014 dmueller@suse.com
- update to 0.4:
* Standardize the async result subclasses
* Fix the comment which was borrowed from the IPC driver
* Be more tolerant of unicode exceptions
* Standardize on the same lock acquire method definition
* Standardize on hiding the lock implementation
* On lock removal validate that they key was actually deleted
* Use a thread safe deque instead of a queue
* Change inline docs about class fake storage variable
* LOG a warning if the heartbeat can not be validated
* Add doc8 to the py27 test running
* Use the more reliable sysv_ipc instead of posix_ipc+lockutils
* Only start zookeeper/memcached when not already running
* Let zake act as a in-memory fully functional driver
* Switch to a custom NotImplemented error
* Ensure lock list isn't mutated while iterating
* Move Zake driver code to separated Python module
* Work toward Python 3.4 support and testing
* Unlock the kazoo version
* Bump up zake to be using the newer 0.1 or greater
* Fix zake driver with latest release
* memcached: switch leader election implementation to a lock
* Add the generation of the documentation in tox.ini
* Add coverage report
- fix package requires