| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I3998767be483b2a36041ffaef12859862f0dfa2f
|
|
|
|
| |
Change-Id: I678c8b7ba2d279dfadbbdafc92dd1df427df60fe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the subprocess.Popen.communicate method raises an exception,
the on_completion callback is never invoked. If a caller is
trying to use on_execute + on_completion to track lifecycle
of a process this creates a problem, as they cannot reliably
detect completion.
Conflicts:
oslo_concurrency/processutils.py
oslo_concurrency/tests/unit/test_processutils.py
Change-Id: I22b2d7bde8797276f7670bc289d915dab5122481
Closes-bug: #1470868
(cherry picked from commit ab78480659834ed07c84f8569df5d2c27965af00)
|
|
|
|
| |
Change-Id: I5570e56485b7601eb03e0dfbcbfd0e760ec13bbe
|
|
|
|
| |
Change-Id: If9269898476b6514ed6f698a6bc138e1b312c767
|
|
|
|
|
|
|
|
|
| |
If the user specifies preexec_fn, we should call that in
our existing _subprocess_setup. On windows, we silently
drop this preexec_fn as subprocess.Popen raises a ValueError
if we do pass it in.
Change-Id: I0176c66fa2de001aa14f0d928d06fd894de55511
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add optional on_execute and on_completion callbacks to allow callers of
procesutils.execute() to track process completion asynchronously.
This could be used to cache the pid of long running tasks associated
with an instance and then clear the cache when the process completes.
While the tasks are running should it be required the pid retrieved and
the process can be signaled.
Conflicts:
oslo_concurrency/processutils.py
Co-Authored-By: abhishekkekane <abhishek.kekane@nttdata.com>
Change-Id: Ifc23325eddb523f6449ba06a2deb0885a8a7009d
(cherry picked from commit d8307005bfac7d680bb1975733928e52e9053b77)
|
|
|
|
| |
Change-Id: Ib7bbfc60a8d47dc60223c1b68218d2d03588239f
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I3a0fa5cf7fc0c79fc9d122c2329e5fbe2bae254b
|
|/
|
|
| |
Change-Id: Id5c905b7eb70dfa0bdb9ee8e0c81972e5ace2aca
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ib690450269c281409a095ed44bf5791d6c2a7cc5
|
| |
| |
| |
| |
| |
| |
| | |
We no longer need to test on Python 3.3, so remove that environment from
the default list in the tox configuration.
Change-Id: Icb3f22224678f9dad5de610a40d43fbef47be7ef
|
|/
|
|
|
|
|
|
|
| |
Provide an API to discover the path being used to store external lock
files. Tempest will use this to set up some additional locking and to
test its own behavior. Other projects might use it for error reporting
or other purposes.
Change-Id: Iad40c67072333cc25a6d3e39d7535ff14b573504
|
|
|
|
|
|
|
| |
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: Iff47b4aff3a244b4cee6563630710a1bf41e16b9
|
|
|
|
| |
Change-Id: I804cae52f65840682be2cbe9c51dfa8819692027
|
|
|
|
| |
Change-Id: I68bde7dfa215ecf2abc390bae824f8f06f431738
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Issue: simultaneous usage of 'shell' and 'run_as_root' options led
to error.
Cause: it's actually a concealed TypeError: in 'shell'
mode the command argument is assumed to be a string, elsewhere
a list/tuple.
Fix: the command editing implied by 'run_as_root' is performed
with care taken of above tacit type assumption.
Change-Id: Iaba33e6fda67793ae2874ba278c990271ee5e47f
Closes-Bug: #1382873
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Related-blueprint: drop-namespace-packages
Change-Id: Ic8247cb896ba6337932d7a74618debd698584fa0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently folks end up using os.chdir() (see bug listed below) as
we are not exposing the subprocess.Popen's cwd parameter. It's
better to add a cwd parameter in processutils.execute so folks
do not have to issue chdir() before and after the processutils.
execute and there's less scope for problem as documented in
the bug.
Closes-Bug: #1414530
Change-Id: Ia4c77593c0f8301e059b349290e8663614a7ccfd
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is used to allow us to test both with and without eventlet.
It wasn't copied to the new tests directory in the namespace move,
which means that once the old tests go away eventlet won't be
monkey patching even when we try to make it. Also, there's a race
depending on whether the top-level tests are run first, or the new
package ones.
Change-Id: Ie2705c3d21625e594471f27eefc3ac3147390cb7
|
| |
| |
| |
| | |
Change-Id: Ic1d80de9e94f73fe01f942f2230a1f25a92f5f46
|
| |
| |
| |
| | |
Change-Id: I466ddfebafde7b6a249543efa6fa79e1891fc916
|
| |
| |
| |
| |
| | |
Change-Id: I4ec9b2a310471e4e07867073e9577731ac34027d
Blueprint: drop-namespace-packages
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 7c7493feb53429577efca2c4b0380af03ddc149b.
This change breaks the API of execute() and breaks nova's tests.
Closes-Bug: #1410348
Change-Id: I33fa9b4e6099f521e0de3cb4585016fd694c4548
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Only had to add a couple of newlines to the end of files.
Change-Id: Ie7c31b3c9fc4ac00e8e3281888ab9faf84bc19c5
|
|\ \ \ \ |
|
| | |_|/
| |/| |
| | | |
| | | | |
Change-Id: I54a4ed67549c28f70e66b37f5915edfcbc7dd0f3
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Lockutils uses %0.3fs for time format, which gives us a convenient
time in milliseconds. Process utils was an unbounded string which
gives us times like:
CMD "cat /proc/31599/cmdline" returned: 0 in 0.00526595115662s execute
The super long time strings are mostly confusing, and millisecond
accuracy should be sufficient for processutils.
Change-Id: I57f21b18ab060a36c3d88b0c5a94430eafeb02a2
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This provides the watchdog.watch function which is a contextmanager
that can be used before doing operations that have a high risk of
deadlocking or aberrantly taking huge amounts of time to complete
(which could be the root cause for other issues).
Unit tests require the use of sleep to make the timers pop either
before or after the event in question. There is 1 second buffer that's
encoded into each scenario which should be sufficient for unit tests
(even in busy systems). If that turns into an issue later, the buffer
can be increased (I was only seeing real skew of 1-2 ms locally).
Change-Id: I79e39f8a4aa702627ca39bea3e6fc672134b8a72
|
| | |
| | |
| | |
| | | |
Change-Id: I0140f1748b0113f77e0e3dbcf7caf1508299f0ca
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Taskflow has a reader/writer lock that is likely useful
to other projects; and it seems better at home in this
module.
The class provides a way to create reader/writer locks
where there may be many readers at the same time (but
only one writer). It does not allow (currently) for privilege
escalation (but this could be added with limited support
in the future).
Change-Id: Ie763ef92f31c34869d83a533bc8761b0fbd77217
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The following test is for compatibility for the namespace move. Having
this test in the oslo.concurrency tree will ensure that not only do
the imports functionally work, but that hacking can pass on this test,
which ensures that hacking is compatible after the namespace change.
The previous patches to oslo.concurrency extensively used # noqa,
which masked out the issue for oslo.concurrency, thus allowing the
release to break other parts of OpenStack.
Change-Id: Icd118a00a8ec0d9fb0bd9d60826676eec2a08f47
Related-Bug: #1398472
|
| | |
| | |
| | |
| | | |
Change-Id: If7fa8fd1915378bda3fc6e361049c2d90cdec8af
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Raise the number of levels we look up the stack to report where the
import is happening.
Change-Id: Ic7c2a0111c311e7feeddd7baff0ad7ec636542a4
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Use explicit files instead of auto-generating them.
Fail the build on a warning.
Tweak titles and other headings.
Add instructions for using lockutils-wrapper.
Change-Id: Ie92ce14b33180d35d84bbd0998e61b659487481d
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In Neutron, we usually specify lock_path as:
lock_path = $state_path/lock
It turned out that ConfigFilter does not work correctly with
substitution feature, so its usage blocks Neutron adoption of the
library.
The issue is also not specific to Neutron: any deployer should be able
to use substitutions ($smth) in their configuration files without
determining whether those configuration options he's interested in are
defined as ConfigOpts or ConfigFilter.
So the best short term approach to push forward the adoption of the
library is to refrain from using ConfigFilter at least until there is
consensus on how to support substitution feature with the class.
Once oslo.config sorts the issue out, we may get back to using
ConfigFilter for lockutils.
Change-Id: I7b0b5c840381b2d9afc00ff116fee1d970743183
Closes-Bug: #1399897
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Remove the specification in tox.ini that _ is a builtin so that
it will no longer assume that _ does not need to be imported.
This helps ensure that the _ from i18n is used.
Activating this check did not flag any violations.
Change-Id: I34cf8b6358f59583cc178c029ebdd024f583dafe
|
|\ \ \ \ \
| |_|_|_|/
|/| | | | |
|