| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original commit adding support for process limits only wired
up address space, max files and resident set size limits. This
is not sufficient to enable nova to protect qemu-img commands
against malicious images.
This commit adds support for the remaining limits supported
by python: core file size, cpu time, data size, file size,
locked memory size, max processes and stack size.
Related-bug: #1449062
Change-Id: I164c4b35e1357a0f80ed7fe00a7ae8f49df92e31
(cherry picked from commit 8af826953d1ad2cab2ecf360e0c794de70a367c3)
(cherry picked from commit 5f417f8e9656e097070036daced26d8b0f3728c3)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new oslo_concurrency.prlimit module which is written to be used
on the command line:
python -m oslo_concurrency.prlimit --rss=RSS -- program arg1 ...
This module calls setrlimit() to restrict the resources and then
executes the program. Its command line is written to be the same than
the Linux prlimit system program.
Add a new ProcessLimits class processutils: resource limits on a
process.
Add an optional prlimit parameter to process_utils.execute(). If the
parameter is used, wrap the command through the new oslo_concurrency
prlimit wrapper.
Linux provides a prlimit command line tool which implements the same
feature (and even more), but it requires util-linux v2.21, and
OpenStack targets other operating systems like Solaris and FreeBSD.
Change-Id: Ib40aa62958ab9c157a2bd51d7ff3edb445556285
Related-Bug: 1449062
(cherry-pick from b2e78569c5cabc9582c02aacff1ce2a5e186c3ab)
|
|
|
|
| |
Change-Id: Id4d00e2933c625a934e667af936880280901c7ae
|
|
|
|
| |
Change-Id: Ic46fe8df902f68f43e7f5ffaab67b0702e1cd4a2
|
|
|
|
| |
Change-Id: Ia2f3fd5934739f8c53eead9a3811cce3b6a02826
|
|
|
|
| |
Change-Id: I2d1ef26b565a8e765a6803ddad1d5eac5d961c48
|
|
|
|
| |
Change-Id: I5602fdd7b9d864853bcfec27abb88113e807b0af
|
|
|
|
| |
Change-Id: I25cf2d4388417f512fe08419c0df9f8bc112b461
|
|
|
|
| |
Change-Id: Ib7a6ce3f5ee766d8776f3a7c623aa6b1a8d3c065
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using the utility function gets a better name.
For example:
$ python
>>> from oslo_utils import reflection
>>> class A(object):
... def m(self):
... pass
...
>>> z = A()
>>> reflection.get_callable_name(z.m)
'__main__.A.m'
Versus:
>>> z.m.__name__
'm'
Change-Id: I2daadd969383aaf49ad87876ba108dd80dd56f08
|
| |
| |
| |
| | |
Change-Id: I8a8413e63f09d789eb9fbb1b070b381ef69cf847
|
| |
| |
| |
| | |
Change-Id: If20d0f6296fe568630349954abdd1085be6f44d9
|
|/
|
| |
Change-Id: Icbf1ddd8d9d6c8b24a9938f3d31a59ea70360074
|
|
|
|
|
|
|
| |
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: I744b48292f4f901a9dee474d315d7cb67317a8f1
|
|
|
|
| |
Change-Id: If90f38b24af03f43e91628b0352524ae68a0b86b
|
|
|
|
|
|
|
| |
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: Ie1a5b5af32177f7123cf26ca2ac18b3c611798b4
|
|
|
|
| |
Change-Id: I257f5f78f99ede0a8727aab0549f470e08dc19c5
|
|
|
|
|
|
|
| |
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: Id5193f5afae859b80b86b8f50d74639f3e2d9943
|
|
|
|
| |
Change-Id: Ibbaa894ed43aadca48bffead45aade251bb0f5e8
|
|
|
|
|
|
|
| |
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: I4ba9650070f96bacddbb05d99fae01768c949b0d
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I37b00f173bc67c3cedc39347b09835ff628334cd
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
Change-Id: I22b2d7bde8797276f7670bc289d915dab5122481
Closes-bug: #1470868
|
|/
|
|
|
|
| |
posix-ipc is an alias of the actual pypi name posix_ipc.
Change-Id: I1bf767dd0592a3c2e38e0fbf47344b692885e85e
|
|
|
|
| |
Change-Id: I3a02320dd5ebaef8b324e5851053cdf50d373031
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I2cfa6c2f5f763d710b2ac2f07bdf5aa80bc4a408
|
|/
|
|
|
|
|
| |
fileutils no longer seems to be used, remove it instead of
carrying it around.
Change-Id: Idac62aa3dbf1d6897f1b7405b094cab0f9f79912
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This object is just another thread and its cancel method
does not join on itself, so we should make sure that we do
to avoid leaving threads lying around.
Change-Id: I37e3170b58627dee93513ec222f9a55001389dad
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
To ensure we show accurate timing information about
lock acqusition and release times use a timing mechanism
which can not/should not move backwards.
Change-Id: I9559b20cf7de67fc474e6e17eda23791ecc4122e
|
| |
| |
| |
| |
| |
| |
| | |
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: I4134d26d2459671b64c7d6f5f5976596bb791d2d
|
|/
|
|
| |
Change-Id: Ic56900bb1edb1010ed91902e6ca1906b864bdee3
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Fixtures.useFixture takes a class instance, not a class type.
Change-Id: I48fff3f1a25b28e9ba15f79cbe18ea4c9582bd5c
|
| |
| |
| |
| | |
Change-Id: I1c2882ec6c9b99aa3c4d5d371f8649522968a913
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
Co-Authored-By: abhishekkekane <abhishek.kekane@nttdata.com>
Change-Id: Ifc23325eddb523f6449ba06a2deb0885a8a7009d
|
|/
|
|
| |
Change-Id: I4d8b1ed23ed96aa3c1a5df687f2661bca493b0c4
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The badge hosting at 'pypip.in' has been broken for a while
now, it was supposed to be fixed in the following PR(s):
- https://github.com/badges/pypipins/issues/39
- https://github.com/badges/pypipins/issues/38
- https://github.com/badges/pypipins/issues/37
That does not appear to have actually happened and/or is not
getting addressed, so switch to a more reliable badge hosting
site that provides the same badge information.
Change-Id: Ie327176665d286d22c84fa826a9be905c8a5f29d
|
|/
|
|
| |
Change-Id: If678cb0796df57154d5f2c7812772ee2a1958d73
|
|
|
|
| |
Change-Id: I9dc5573004a6ee3648ab64b2fefe769c69ae8fbc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fasteners library (extracted from this library and a couple other
variations) provides the interprocess lock logic and the reader writer
lock logic so we can remove the local version and we can just use it
from that library instead.
The tests that were ensuring the internals of this file lock have
now moved to the repo where that library is (for the time being),
currently travis is testing that repo against py2.6, py2.7 and py3.4.
https://github.com/harlowja/fasteners/tree/master/fasteners/tests
Docs also exist at:
http://fasteners.readthedocs.org/en/latest/
Change-Id: I98565b22e68358efe28fea62f74f8ebfcc438ff7
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Blueprint remove-namespace-packages
Depends-on: Iae62b48993eef3b31420f8cc245a55f5e303c4fc
Depends-on: If927fc7d70c625faa072dc8905a7e044f08aad33
both for designate
Change-Id: I60ac791560c49514d3a25e2b58b39a12d3da5d00
|
| |
| |
| |
| |
| |
| |
| | |
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: I1482778ae774059867d06e0a40bbbbeb7c70fe5f
|