25af998d64
If a TreeCache encounters a ZK disconnect, then any events in its event queue are no longer useful and possibly counter-productive. If we process events from before the disconnection after a reconnection, the cache could get into an erroneous state. The cache is designed so that on initial or re-connection, we first establish the watch, and then walk the tree to look for previously existing data. All events we process (whether generated by the watch or by walking the tree) must be in order after the watch was established. To ensure this, we clear the event queues on reconnect and restart the event queue threads. Additionally, this change cleans up handling of the case where the cache key is None (the parser says we're not interested in the object) but the preCacheHook didn't tell us to exit early. In that case, we would previously most likely try to pop the None object from the cache, which would generally be harmless. But we shouldn't be doing that anyway, so add a check for whether we have an object key in the main cache method and ignore the return values from the preCacheHook. Change-Id: I4bbedb19364c894a2033ef8c1d2e439299971a83 |
||
---|---|---|
contrib/statsd_exporter | ||
doc | ||
etc | ||
nodepool | ||
playbooks | ||
releasenotes/notes | ||
tools | ||
.coveragerc | ||
.dockerignore | ||
.gitignore | ||
.gitreview | ||
.stestr.conf | ||
.zuul.yaml | ||
bindep.txt | ||
Dockerfile | ||
LICENSE | ||
noxfile.py | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
TESTING.rst | ||
tox.ini |
Nodepool
Nodepool is a system for managing test node resources. It supports launching single-use test nodes from cloud providers as well as managing access to pre-defined pre-existing nodes. Nodepool is part of a suite of tools that form a comprehensive test system, including Zuul.
The latest documentation for Nodepool is published at: https://zuul-ci.org/docs/nodepool/
The latest documentation for Zuul is published at: https://zuul-ci.org/docs/zuul/
Getting Help
There are two Zuul-related mailing lists:
- zuul-announce
-
A low-traffic announcement-only list to which every Zuul operator or power-user should subscribe.
- zuul-discuss
-
General discussion about Zuul, including questions about how to use it, and future development.
You will also find Zuul developers in the #zuul channel on Freenode IRC.
Contributing
To browse the latest code, see: https://opendev.org/zuul/nodepool To clone the latest code, use git clone https://opendev.org/zuul/nodepool
Bugs are handled at: https://storyboard.openstack.org/#!/project/zuul/nodepool
Code reviews are handled by gerrit at https://review.opendev.org
After creating a Gerrit account, use git review to submit patches. Example:
# Do your commits
$ git review
# Enter your username if prompted
Join #zuul on Freenode to discuss development or usage.
License
Nodepool is free software, licensed under the Apache License, version 2.0.
Python Version Support
Nodepool requires Python 3. It does not support Python 2.