| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch replaces the legacy retrying library with the newer
and more convenient tenacity one, taking into account that:
1) retrying uses milliseconds for wait times, but tenacity uses seconds;
2) retrying has a lot of numeric arguments for specifying behaviour
of decorated functions, while tenacity has a few of them, which are
specialized objects, thus making the retry-decorator more flexible.
Change-Id: I4b165d37b2ecc210f2b94c103b73eaab51529261
Closes-Bug: #1635404
|
| |
|
|
|
|
| |
Oslo.utils provides same function and just use it.
Change-Id: Iac245d4d98c41edea5294a4d8842db69a42b3794
|
| |
|
|
| |
Change-Id: I7e3451feb94b1f25b00c5e7b197bb6b527548306
|
| |
|
|
| |
Change-Id: Id9adbc50bd51adc77ce88f698ad0ea2ee63fc5e2
|
| |
|
|
|
|
|
|
|
| |
Make sure that upgrade() is thread-safe (as it appears not
to be) by using a lock that all connections from the same
engine will use.
Change-Id: I2b2b1be9e797099c8412fc6819465e550b1b934a
Closes-Bug: #1559496
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Instead of a custom loop and backoff just use the retrying
library to do this same code and delegate the loop complexity
to it instead.
Change-Id: Iaf02cc728d2a2cfc7077300e03d7ef25522717b7
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of implementing a similar version to what the
upgrade function does, just use it directly instead.
Change-Id: I61a3c9f09c6e0724f2b55951989171ef4aaafe0c
|
| |\ \ \ |
|
| | | |/
| |/|
| | |
| | | |
Change-Id: I43465b8f5868e64bdf38d2873417a8a4a403a23b
|
| |\ \ \
| |/ /
|/| | |
|
| | | |
| | |
| | |
| | | |
Change-Id: I415a81d3b6b15b17a9a91cc2a0681c159172a4e1
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit 868dd8485456ce78a396b687ec7744dc365f06be added a
migration script that caused there to be two heads (starting
points) of migrations which would cause alembic to be unable
to do the initial schema creation (and upgrade).
So this fixes that by correctly making one head only and
not skipping tests for a database if it can not be
upgraded for whatever reason (which was silencing the
test failures).
Closes-bug: #1528683
Change-Id: Id571072eec1dc3b6cbb9e868854f6db0b271e5f8
|
| |\ \ |
|
| | | |
| | |
| | |
| | | |
Change-Id: Ie01ea85e74f1daed6bfa5158c0faa476d06873ba
|
| | | |
| | |
| | |
| | | |
Change-Id: I957c875bf493b2e38bf82af6faccbab8a4861ade
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Due to the usage of the os.path.islink check this means that no
logbooks would be returned when get_logbooks was called, which is
not the behavior we want.
Closes-Bug: #1492403
Change-Id: Ife6a5bec777c9e2d820391914ce2c6fbbadf4f79
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The io.open call can take in a encoding so we don't need
to read in binary mode, then convert it since it can just
do that on our behalf.
Change-Id: I0cce2841b40f1566ba07ff95a553cb18ea9059ee
|
| |\ \ \ |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since the creation of a client is somewhat important
and knowing what the options that are transfereed to kazoo
are we should explicitly document what keys are and what
the values should be.
Change-Id: I1a5037b274828190270ea5c402be8b2100306de4
|
| |\ \ \ \ |
|
| | | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In order to prevent a thread from closing a backend
while another thread is getting a connection (which
can result in an engine being created) stop this kind
of concurrent mutation by creating a engine (if it
was not user provided) in the constructor.
In the close the engine dispose is called (which will
according to the docs just create a new pool anyway)
so there is no need to recreate the full engine object
from its same configuration again.
Change-Id: Id1fa3001b3ebbe76bbcdb08ed4add6a9e16ea96b
|
| |\ \ \ \ |
|
| | | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When a atom is reverted it can be useful to retain the
result of that 'revert' method being called, so that it
can be later analyzed (or used for various purposes) so
adjust the storage, and actions to enable it to be stored.
Change-Id: I38a9a5f3bf7550e924468bb4a86652cb8beb306c
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Before the 2.0 release it would be great to get these
removed so let's mark that version as the version that will
no longer have these in it.
Change-Id: I66a74d270bf95db005e9febfce1a5e211c7a49f6
|
| | |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since this module contains more than the logbook
class and really is a our generic models that are used
to hold the runtime structure it is more appropriate to
place it under a models module and deprecate the usage
of the old module by placing a warning there (so that
when it is imported that warning is triggered).
Change-Id: I79def5ee08f560d38f2c9dcefd0b33becc2a4d36
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Part of blueprint make-things-speedy
Change-Id: I3ac092e98a492d3a70c7780efb4647d593fa70d1
|
| |\ \ \ |
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When no path is provided to a path based backend via configuration
use a class constant to provide the default, and override this in
backends that support providing defaults.
Change-Id: I0a6c88398403a162b113e34abe7e56821d1f02bc
|
| |\ \ \
| |_|/
|/| | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When creating a fake symlink to a path just use
hash lookup via `fetch_node` and handle that failing
if the destination nodes does not exist vs. fetching the
parent and linear searching for the existing target
node (which gets slower as the parent node gets
more children).
This makes the preparing code using the little speed
test helper on my not-very-fast box change to be the
following:
Old (preparing) - Took 29.724 seconds to run
New (preparing) - Took 21.343 seconds to run
Part of ongoing blueprint make-things-speedy
Change-Id: I608b90ae58b4e4b6724b7f1bb8faebd118a1ec79
|
| |\ \ \
| |_|/
|/| | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Having this exposed makes it easier to know what it is being
used for and what the default is (and also makes it show up
in generated docs, so people can read all about it).
Change-Id: I2e0f85d9c087d220671e2dbf82d497677c462a9e
|
| |\ \ \
| |/ / |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of having an unbounded internal file cache which will
eventually absorb all memory of the running/containing python
process have the size of that cache be limited by an optionally
provided size (and have eviction be based on how recent a cached
entry was used).
Fixes bug 1458248
Change-Id: I5e59efc4edd51b05cfb1e67d3e7014e378e352aa
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of having a `ls` method that when used recursively
*always* returns the absolute path of items in the fake in
memory storage tree and *relative* paths (when used in
non-recursive mode) add a new `ls_r` method that can return
absolute *or* relative paths.
In the future it is highly likely that the the `ls` recursive
keyword argument will be removed (so preferring and
moving to the `ls_r` should occur earlier rather than
later), so this also adds a debtcollector removed keyword
argument decorator over the existing `ls` to ensure that users
are aware of this change (as well as a adjusted docstring).
Fixes bug 1458114
Change-Id: Id2a5869e94ac44679020a14297d1073d1dc2718f
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The usage of this package allows us to get rid of the
reader/writer lock (since that package provides that) as well as
the interprocess lock as all of these are now provided by that
package instead.
Change-Id: I87990b46d397f6df779de7028bcc40e28621e1ba
|
| |\ \ \
| |/ /
|/| | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Empty paths should not be allowed to be set or
fetched or normalized so check for those and raise
an error when one is encountered.
Also add some basic test conditions that ensure
the normpath method raises when it should.
Change-Id: I7f7e6600f03c67376ba310ab231b2e33cd7528db
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The column updated_at does not update its value after the refactoring
made in 687ec913790653f79badc8f5d656c86792e94271.
Closes-Bug: #1457309
Change-Id: Iff45f386b5dc8efc3fe82ca3b1e961a0c23d7ac7
|
| |\ \ \
| |_|/
|/| | |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of creating a temporary list, only to then
iterate over it (and then never again use that temporary
list) just use itertools and create an iterator that we
use for iterating (therefore avoiding any need to create
a temporary list).
Part of ongoing blueprint make-things-speedy
Change-Id: I5322e5bdf613d485fbc8851c1319a907b425e2dd
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Just like we expose join we should also expose
split to ensure that both of these operations
can easily performed by users of this backend.
This also refactors the internal usage to call
into that static method vs calling into the
posix path module specific one.
Change-Id: I496c730b86f0af6d4b637862a92482c0df6a63b3
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There is not any need to re-normalize internal paths
once the initial get() or __get_item__() have normalized
there path arguments so in _get_item() just tell the fetching
function to avoid re-normalizing the paths its provided.
This also works for link following since the target
placed in the fake inodes metadata is already normalized
when it is inserted.
Part of blueprint make-things-speedy
Change-Id: If31d61b744f8df618c7db3afffc4a118cb17003a
|