summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* processutils: add support for missing process limitsliberty-eol2.6.1stable/libertyDaniel P. Berrange2016-06-213-11/+85
| | | | | | | | | | | | | | | | 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 prlimit parameter to execute()Victor Stinner2016-06-093-0/+247
| | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* Updated from global requirementsOpenStack Proposal Bot2016-04-291-1/+1
| | | | Change-Id: Id4d00e2933c625a934e667af936880280901c7ae
* Updated from global requirementsOpenStack Proposal Bot2015-10-191-1/+1
| | | | Change-Id: Ic46fe8df902f68f43e7f5ffaab67b0702e1cd4a2
* Updated from global requirementsOpenStack Proposal Bot2015-09-292-2/+2
| | | | Change-Id: Ia2f3fd5934739f8c53eead9a3811cce3b6a02826
* Update .gitreview for stable/libertyDoug Hellmann2015-09-141-1/+2
| | | | Change-Id: I2d1ef26b565a8e765a6803ddad1d5eac5d961c48
* Removes unused posix-ipc requirement2.6.0Claudiu Belu2015-09-011-1/+0
| | | | Change-Id: I5602fdd7b9d864853bcfec27abb88113e807b0af
* Updated from global requirementsOpenStack Proposal Bot2015-08-271-1/+1
| | | | Change-Id: I25cf2d4388417f512fe08419c0df9f8bc112b461
* Updated from global requirementsOpenStack Proposal Bot2015-08-261-1/+1
| | | | Change-Id: Ib7a6ce3f5ee766d8776f3a7c623aa6b1a8d3c065
* Merge "Use oslo_utils reflection to get 'f' callable name"2.5.0Jenkins2015-08-171-2/+5
|\
| * Use oslo_utils reflection to get 'f' callable nameJoshua Harlow2015-08-091-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Updated from global requirementsOpenStack Proposal Bot2015-08-131-2/+2
| | | | | | | | Change-Id: I8a8413e63f09d789eb9fbb1b070b381ef69cf847
* | Updated from global requirementsOpenStack Proposal Bot2015-08-111-1/+1
| | | | | | | | Change-Id: If20d0f6296fe568630349954abdd1085be6f44d9
* | flake8 - remove unused rulesDavanum Srinivas2015-08-081-4/+1
|/ | | Change-Id: Icbf1ddd8d9d6c8b24a9938f3d31a59ea70360074
* Imported Translations from TransifexOpenStack Proposal Bot2015-08-046-12/+12
| | | | | | | For more information about this automatic import see: https://wiki.openstack.org/wiki/Translations/Infrastructure Change-Id: I744b48292f4f901a9dee474d315d7cb67317a8f1
* Updated from global requirementsOpenStack Proposal Bot2015-08-041-1/+1
| | | | Change-Id: If90f38b24af03f43e91628b0352524ae68a0b86b
* Imported Translations from Transifex2.4.0OpenStack Proposal Bot2015-07-2911-44/+44
| | | | | | | For more information about this automatic import see: https://wiki.openstack.org/wiki/Translations/Infrastructure Change-Id: Ie1a5b5af32177f7123cf26ca2ac18b3c611798b4
* Updated from global requirementsOpenStack Proposal Bot2015-07-291-1/+1
| | | | Change-Id: I257f5f78f99ede0a8727aab0549f470e08dc19c5
* Imported Translations from TransifexOpenStack Proposal Bot2015-07-236-16/+16
| | | | | | | For more information about this automatic import see: https://wiki.openstack.org/wiki/Translations/Infrastructure Change-Id: Id5193f5afae859b80b86b8f50d74639f3e2d9943
* Updated from global requirementsOpenStack Proposal Bot2015-07-153-4/+4
| | | | Change-Id: Ibbaa894ed43aadca48bffead45aade251bb0f5e8
* Imported Translations from Transifex2.3.0OpenStack Proposal Bot2015-07-096-16/+16
| | | | | | | For more information about this automatic import see: https://wiki.openstack.org/wiki/Translations/Infrastructure Change-Id: I4ba9650070f96bacddbb05d99fae01768c949b0d
* Allow preexec_fn method for processutils.executeDavanum Srinivas2015-07-072-4/+33
| | | | | | | | | 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
* Updated from global requirementsOpenStack Proposal Bot2015-07-071-1/+1
| | | | Change-Id: I37b00f173bc67c3cedc39347b09835ff628334cd
* Merge "processutils: ensure on_completion callback is always called"Jenkins2015-07-062-9/+29
|\
| * processutils: ensure on_completion callback is always calledDaniel P. Berrange2015-07-022-9/+29
| | | | | | | | | | | | | | | | | | | | | | 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
* | Use pypi name for requirements.txtDirk Mueller2015-07-031-1/+1
|/ | | | | | posix-ipc is an alias of the actual pypi name posix_ipc. Change-Id: I1bf767dd0592a3c2e38e0fbf47344b692885e85e
* Updated from global requirementsOpenStack Proposal Bot2015-06-301-2/+2
| | | | Change-Id: I3a02320dd5ebaef8b324e5851053cdf50d373031
* Merge "Add tox target to find missing requirements"Jenkins2015-06-301-0/+8
|\
| * Add tox target to find missing requirementsDavanum Srinivas2015-06-261-0/+8
| | | | | | | | Change-Id: I2cfa6c2f5f763d710b2ac2f07bdf5aa80bc4a408
* | Remove redundant fileutilsSteve Martinelli2015-06-304-156/+0
|/ | | | | | | fileutils no longer seems to be used, remove it instead of carrying it around. Change-Id: Idac62aa3dbf1d6897f1b7405b094cab0f9f79912
* Merge "Ensure we 'join' on the timer watchdog thread"2.2.0Jenkins2015-06-241-0/+1
|\
| * Ensure we 'join' on the timer watchdog threadJoshua Harlow2015-06-221-0/+1
| | | | | | | | | | | | | | | | 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
* | Merge "Use better timing mechanisms instead of time.time()"Jenkins2015-06-243-12/+18
|\ \ | |/
| * Use better timing mechanisms instead of time.time()Joshua Harlow2015-06-223-12/+18
| | | | | | | | | | | | | | | | 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
* | Imported Translations from Transifex2.1.0OpenStack Proposal Bot2015-06-2311-148/+163
| | | | | | | | | | | | | | For more information about this automatic import see: https://wiki.openstack.org/wiki/Translations/Infrastructure Change-Id: I4134d26d2459671b64c7d6f5f5976596bb791d2d
* | Updated from global requirementsOpenStack Proposal Bot2015-06-221-1/+1
|/ | | | Change-Id: Ic56900bb1edb1010ed91902e6ca1906b864bdee3
* Merge "Fix LockFixture docstring"Jenkins2015-06-221-2/+2
|\
| * Fix LockFixture docstringIWAMOTO Toshihiro2015-06-161-2/+2
| | | | | | | | | | | | Fixtures.useFixture takes a class instance, not a class type. Change-Id: I48fff3f1a25b28e9ba15f79cbe18ea4c9582bd5c
* | Updated from global requirementsOpenStack Proposal Bot2015-06-223-12/+11
| | | | | | | | Change-Id: I1c2882ec6c9b99aa3c4d5d371f8649522968a913
* | Merge "Add 2 callbacks to processutils.execute()"Jenkins2015-06-172-0/+32
|\ \
| * | Add 2 callbacks to processutils.execute()Tony Breeds2015-06-172-0/+32
| |/ | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Updated from global requirementsOpenStack Proposal Bot2015-06-162-1/+1
|/ | | | Change-Id: I4d8b1ed23ed96aa3c1a5df687f2661bca493b0c4
* Merge "Switch badges from 'pypip.in' to 'shields.io'"Jenkins2015-06-151-2/+2
|\
| * Switch badges from 'pypip.in' to 'shields.io'Joshua Harlow2015-06-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Updated from global requirementsOpenStack Proposal Bot2015-06-151-1/+1
|/ | | | Change-Id: If678cb0796df57154d5f2c7812772ee2a1958d73
* Updated from global requirementsOpenStack Proposal Bot2015-06-101-1/+1
| | | | Change-Id: I9dc5573004a6ee3648ab64b2fefe769c69ae8fbc
* Replace locks and replace with fasteners library provides onesJoshua Harlow2015-06-063-758/+5
| | | | | | | | | | | | | | | | | | | 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
* Merge "Remove oslo namespace package"2.0.0Jenkins2015-06-0410-1361/+0
|\
| * Remove oslo namespace packageDoug Hellmann2015-05-2910-1361/+0
| | | | | | | | | | | | | | | | | | | | Blueprint remove-namespace-packages Depends-on: Iae62b48993eef3b31420f8cc245a55f5e303c4fc Depends-on: If927fc7d70c625faa072dc8905a7e044f08aad33 both for designate Change-Id: I60ac791560c49514d3a25e2b58b39a12d3da5d00
* | Imported Translations from Transifex1.10.0OpenStack Proposal Bot2015-05-284-93/+93
| | | | | | | | | | | | | | For more information about this automatic import see: https://wiki.openstack.org/wiki/Translations/Infrastructure Change-Id: I1482778ae774059867d06e0a40bbbbeb7c70fe5f