CHANGES

  • Add note about requirements lower bounds

  • Remove Python 3.8 support

  • Run pyupgrade to clean up Python 2 syntaxes

  • Fix outdated tox minversion

  • Declare Python 3.12 support

  • Remove workaround for eventlet bug #592

  • Update master for stable/2024.2

6.1.0

  • Remove old excludes

  • Update master for stable/2024.1

  • reno: Update master for unmaintained/victoria

6.0.0

  • Fix wrong stacklevel

  • Drop fallback to DEFAULT section

  • Display coverage report

  • pre-commit: Integrate bandit

  • pre-commit: Bump versions

  • Bump hacking

  • Update python classifier in setup.cfg

5.3.0

  • Deprecate Windows support

  • Update master for stable/2023.2

5.2.0

  • Bump bandit

  • Imported Translations from Zanata

  • Revert “Moves supported python runtimes from version 3.8 to 3.10”

  • Moves supported python runtimes from version 3.8 to 3.10

  • Update master for stable/2023.1

5.1.1

  • Fix issues related to tox4

5.1.0

  • Imported Translations from Zanata

5.0.1

  • Ignore coverage result files

  • Fix fair internal lock used from eventlet.spawn_n

  • Prove that spawn_n with fair lock is broken

  • Cleanup py27 support

5.0.0

  • Log when waiting to acquire lock

  • Imported Translations from Zanata

  • Fix formatting of release list

  • Drop python3.6/3.7 support in testing runtime

4.5.1

  • Remove unnecessary unicode prefixes

  • Fix RequiredOptError when missing lock_path

  • Update CI to use unversioned jobs template

  • Add Python3 yoga unit tests

  • Allow python_exec kwarg to be None

  • Update python testing classifier

4.5.0

  • Add support for non-blocking locks

4.4.1

  • setup.cfg: Replace dashes with underscores

  • Remove references to ‘sys.version_info’

  • Move flake8 as a pre-commit local target

  • Remove lower-constraints remnants

4.4.0

  • Dropping lower constraints testing

  • Use TOX_CONSTRAINTS_FILE

  • Use py3 as the default runtime for tox

  • Monkey patch original current_thread _active in processutils

  • Add Python3 wallaby unit tests

  • Update master for stable/victoria

  • Adding pre-commit

4.3.0

  • Bump bandit version

  • Imported Translations from Zanata

4.2.0

  • Add support for timeout to processutils.execute

  • Update lower-constraints versions

4.1.1

  • Fix pygments style

4.1.0

  • Stop to use the __future__ module

  • Fix hacking min version to 3.0.1

  • Switch to newer openstackdocstheme and reno versions

  • Remove the unused coding style modules

  • Remove babel.cfg etc

  • Remove six usage

  • Monkey patch original current_thread _active

  • Align contributing doc with oslo’s policy

  • Add py38 package metadata

  • Imported Translations from Zanata

  • Bump default tox env from py37 to py38

  • Add release notes links to doc index

  • Add Python3 victoria unit tests

  • Update master for stable/ussuri

4.0.2

  • Use unittest.mock instead of third party mock

  • Update hacking for Python3

  • Don’t warn on lock removal if file doesn’t exist

4.0.1

  • trivial: Cleanup tox.ini

  • ignore reno builds artifacts

  • remove outdated header

  • Stop to build universal wheel

4.0.0

  • Drop python 2.7 support and testing

  • Stop configuring install_command in tox

  • tox: Trivial cleanup

  • Fix remove_lock test

3.31.0

  • Spiff up docs for *_with_prefix

  • Switch to Ussuri jobs

  • tox: Keeping going with docs

  • Document management and history of lock files

  • Bump the openstackdocstheme extension to 1.20

  • Blacklist sphinx 2.1.0 (autodoc bug)

  • Update the constraints url

  • Update master for stable/train

  • Add lock_with_prefix convenience utility

  • Some test cleanup

3.30.0

  • Add Python 3 Train unit tests

  • Cap Bandit below 1.6.0 and update Sphinx requirement

  • Replace git.openstack.org URLs with opendev.org URLs

  • OpenDev Migration Patch

  • Dropping the py35 testing

  • Follow the new PTI for document build

  • Update master for stable/stein

3.29.1

  • add python 3.7 unit test job

  • Change python3.5 job to python3.7 job on Stein+

  • Update hacking version

  • Stop using setup.py build_sphinx

  • Update mailinglist from dev to discuss

3.29.0

  • Add support for fair locks

  • Clean up .gitignore references to personal tools

  • Don’t quote {posargs} in tox.ini

  • Always build universal wheels

3.28.1

  • Imported Translations from Zanata

  • Use templates for cover and lower-constraints

  • ignore warning from bandit for using shell=

  • add lib-forward-testing-python3 test job

  • add python 3.6 unit test job

  • Remove PyPI downloads

  • import zuul job settings from project-config

  • Reorganize that ‘Release Notes’ in README

  • Update reno for stable/rocky

  • Switch to stestr

  • Add release notes link to README

  • fix tox python3 overrides

  • Remove stale pip-missing-reqs tox test

  • Trivial: Update pypi url to new url

3.27.0

  • set default python to python3

  • Switch pep8 job to python 3

  • fix lower constraints and uncap eventlet

  • add lower-constraints job

  • Updated from global requirements

  • Updated from global requirements

3.26.0

  • Updated from global requirements

  • Updated from global requirements

  • Imported Translations from Zanata

  • Mask passwords only when command execution fails

  • Imported Translations from Zanata

  • Update reno for stable/queens

  • Updated from global requirements

  • Imported Translations from Zanata

  • Updated from global requirements

  • Update doc links in CONTRIBUTING.rst and README.rst

  • Updated from global requirements

3.25.0

  • Add python_exec kwarg to processutils.execute()

  • Updated from global requirements

  • add bandit to pep8 job

3.24.0

  • Remove -U from pip install

  • Avoid tox_install.sh for constraints support

  • Updated from global requirements

  • Remove setting of version/release from releasenotes

  • Updated from global requirements

  • Updated from global requirements

  • Updated from global requirements

  • Imported Translations from Zanata

3.23.0

  • Updated from global requirements

  • Updated from global requirements

  • Updated from global requirements

3.22.0

  • Minor correction to docstrings

  • Updated from global requirements

  • Updated from global requirements

  • Windows: ensure exec calls don’t block other greenthreads

  • Update reno for stable/pike

  • Updated from global requirements

  • Add debug log to indicate when external lock is taken

3.21.0

  • Update URLs in documents according to document migration

  • Imported Translations from Zanata

  • Updated from global requirements

  • switch from oslosphinx to openstackdocstheme

  • turn on warning-is-error for sphinx

  • rearrange existing documentation to follow the new layout standard

  • Remove log translations

  • Check reStructuredText documents for common style issues

  • Updated from global requirements

  • Check for SubprocessError by name on Python 3.x

3.20.0

  • Updated from global requirements

  • Using fixtures.MockPatch instead of mockpatch.Patch

3.19.0

  • Updated from global requirements

  • [Fix gate]Update test requirement

  • Updated from global requirements

  • Remove support for py34

  • pbr.version.VersionInfo needs package name (oslo.xyz and not oslo_xyz)

  • Update reno for stable/ocata

3.18.0

  • Automatically convert process_input to bytes

  • Add Constraints support

  • Show team and repo badges on README

3.16.0

  • Updated from global requirements

  • Updated from global requirements

  • Updated from global requirements

  • Imported Translations from Zanata

  • Remove unnecessary requirements

  • [TrivialFix] Replace ‘assertTrue(a in b)’ with ‘assertIn(a, b)’

3.15.0

  • Changed the home-page link

  • Change assertTrue(isinstance()) by optimal assert

  • Enable release notes translation

  • Ignore prlimit argument on Windows

  • Updated from global requirements

  • Updated from global requirements

  • Update reno for stable/newton

3.14.0

  • Updated from global requirements

  • Fix external lock tests on Windows

3.13.0

  • Updated from global requirements

  • Fix parameters of assertEqual are misplaced

  • Add Python 3.5 classifier and venv

3.12.0

  • Updated from global requirements

  • Imported Translations from Zanata

  • Updated from global requirements

3.11.0

  • Imported Translations from Zanata

3.10.0

  • Imported Translations from Zanata

  • Updated from global requirements

  • Add reno for releasenotes management

3.9.0

  • Add doc/ to pep8 check

  • Remove unused import statement

  • Add timeout option to ssh_execute

  • Fix wrong import example in docstring

  • Trivial: ignore openstack/common in flake8 exclude list

3.8.0

  • Updated from global requirements

  • Imported Translations from Zanata

  • processutils: add support for missing process limits

  • Remove direct dependency on babel

  • Updated from global requirements

  • Updated from global requirements

  • Updated from global requirements

  • Add a few usage examples for lockutils

  • Revert “Use tempfile.tempdir for lock_path if OSLO_LOCK_PATH is not set”

  • Updated from global requirements

  • Use tempfile.tempdir for lock_path if OSLO_LOCK_PATH is not set

3.6.0

  • Updated from global requirements

3.5.0

  • Updated from global requirements

  • Make ProcessExecutionError picklable

  • Updated from global requirements

3.4.0

  • Update translation setup

  • Add prlimit parameter to execute()

  • Updated from global requirements

  • Updated from global requirements

  • Updated from global requirements

  • Updated from global requirements

  • Imported Translations from Zanata

  • Updated from global requirements

3.3.0

  • Remove unnecessary package in setup.cfg

  • Updated from global requirements

  • Updated from global requirements

3.2.0

  • Updated from global requirements

  • Updated from global requirements

  • Trival: Remove ‘MANIFEST.in’

  • Add complementary remove lock with prefix function

3.1.0

  • Drop python 2.6 support

3.0.0

  • Updated from global requirements

  • Updated from global requirements

  • Remove python 2.6 classifier

  • Remove python 2.6 and cleanup tox.ini

  • Use versionadded and versionchanged in doc

  • Updated from global requirements

  • Imported Translations from Zanata

  • Updated from global requirements

2.8.0

  • Updated from global requirements

2.7.0

  • Fix Tests to run under OSX

  • Fix coverage configuration and execution

  • Imported Translations from Zanata

  • Move ‘history’ -> release notes section

  • add auto-generated docs for config options

  • Change ignore-errors to ignore_errors

  • Updated from global requirements

  • Imported Translations from Zanata

  • Use int enumerations for log error constants

2.6.0

  • Removes unused posix-ipc requirement

  • Updated from global requirements

  • Updated from global requirements

2.5.0

  • Updated from global requirements

  • Updated from global requirements

  • Use oslo_utils reflection to get ‘f’ callable name

  • flake8 - remove unused rules

  • Imported Translations from Transifex

  • Updated from global requirements

2.4.0

  • Imported Translations from Transifex

  • Updated from global requirements

  • Imported Translations from Transifex

  • Updated from global requirements

2.3.0

  • Imported Translations from Transifex

  • Allow preexec_fn method for processutils.execute

  • Updated from global requirements

  • Use pypi name for requirements.txt

  • processutils: ensure on_completion callback is always called

  • Updated from global requirements

  • Remove redundant fileutils

  • Add tox target to find missing requirements

2.2.0

2.1.0

  • Imported Translations from Transifex

  • Updated from global requirements

  • Ensure we ‘join’ on the timer watchdog thread

  • Use better timing mechanisms instead of time.time()

  • Updated from global requirements

  • Add 2 callbacks to processutils.execute()

  • Updated from global requirements

  • Fix LockFixture docstring

  • Updated from global requirements

  • Switch badges from ‘pypip.in’ to ‘shields.io’

  • Updated from global requirements

  • Replace locks and replace with fasteners library provides ones

2.0.0

  • Remove oslo namespace package

1.10.0

  • Imported Translations from Transifex

  • Sync from oslo-incubator

  • Updated from global requirements

  • Advertise support for Python3.4 / Remove support for 3.3

  • Updated from global requirements

  • Imported Translations from Transifex

  • Remove run_cross_tests.sh

  • Updated from global requirements

  • Updated from global requirements

1.9.0

  • Add binary parameter to execute and ssh_execute

  • Port processutils to Python 3

  • Uncap library requirements for liberty

  • Move fixtures to test-requirements.txt

  • Fix test_as_root* tests to work when run as root

  • Add pypi download + version badges

  • Standardize setup.cfg summary for oslo libs

  • Imported Translations from Transifex

  • Updated from global requirements

  • Remove tools/run_cross_tests.sh from openstack-common.conf

1.8.0

  • Switch to non-namespaced module imports

  • Remove py33 env from default tox list

  • Add lockutils.get_lock_path() function

1.7.0

  • Imported Translations from Transifex

  • Updated from global requirements

1.6.0

  • Updated from global requirements

  • processutils: execute(): fix option incompatibility

1.5.0

  • Ability to set working directory

  • Add eventlet test check to new tests __init__.py

  • Drop use of namespaced oslo.i18n

  • Updated from global requirements

  • Updated from global requirements

  • Update Oslo imports to remove namespace package

1.4.1

  • Revert “Port processutils to Python 3”

0.4.0

  • Bump to hacking 0.10

  • Updated from global requirements

  • add watchdog module

  • Updated from global requirements

  • make time format for processutils match lockutils

  • Correct the translation domain for loading messages

  • Add a reader/writer lock

  • Don’t use ConfigFilter for lockutils

  • Report import warnings where the import occurs

  • Port processutils to Python 3

  • Activate pep8 check that _ is imported

  • Drop requirements-py3.txt

  • Updated from global requirements

  • Clean up API documentation

  • Workflow documentation is now in infra-manual

  • Remove noqa from test files

  • test compatibility for old imports

  • Fix bug link in README.rst

0.3.0

  • Add external lock fixture

  • Add a TODO for retrying pull request #20

  • Allow the lock delay to be provided

  • Allow for providing a customized semaphore container

  • Move locale files to proper place

  • Flesh out the README

  • Move out of the oslo namespace package

  • Improve testing in py3 environment

  • Only modify autoindex.rst if it exists

  • Imported Translations from Transifex

  • lockutils-wrapper cleanup

  • Don’t use variables that aren’t initialized

0.2.0

  • Imported Translations from Transifex

  • Use six.wraps

  • Clean up lockutils logging

  • Remove unused incubator modules

  • Improve lock_path help and documentation

  • Add pbr to installation requirements

0.1.0

  • Updated from global requirements

  • Imported Translations from Transifex

  • Updated from global requirements

  • Updated from global requirements

  • Remove extraneous vim editor configuration comments

  • Add deprecated name test case

  • Make lock_wrapper private

  • Support building wheels (PEP-427)

  • Handle Python 3’s O_CLOEXEC default

  • Remove hard dep on eventlet

  • Test with both vanilla and eventlet stdlib

  • Imported Translations from Transifex

  • Fix coverage testing

  • Clean up doc header

  • Use ConfigFilter for opts

  • Make lockutils main() a console entry point

  • Expose lockutils opts to config generator

  • Add hacking import exception for i18n

  • Imported Translations from Transifex

  • provide sane cmd exit reporting

  • Imported Translations from Transifex

  • Add lock_path as param to remove_external function

  • Updated from global requirements

  • Cleanup and adding timing to lockutils logging

  • Imported Translations from Transifex

  • Remove oslo-incubator fixture

  • Break up the logging around the lockfile release/unlock

  • Always log the releasing, even under failure

  • Clarify logging in lockutils

  • Imported Translations from Transifex

  • Address race in file locking tests

  • Updated from global requirements

  • Imported Translations from Transifex

  • Updated from global requirements

  • Handle a failure on communicate()

  • Imported Translations from Transifex

  • Add code/api documentation

  • Add history file to documentation

  • Update contributing instructions

  • Work toward Python 3.4 support and testing

  • warn against sorting requirements

  • Log stdout, stderr and command on execute() error

  • Mask passwords in exceptions and error messages

  • Imported Translations from Transifex

  • Address some potential security issues in lockutils

  • Use file locks by default again

  • Switch to oslo.i18n in our code

  • Imported Translations from Transifex

  • Switch to oslo.utils in our code

  • Mask passwords in exceptions and error messages

  • Initial translation setup

  • Fix docs generation

  • Make all tests pass

  • exported from oslo-incubator by graduate.sh

  • Remove oslo.log from lockutils

  • lockutils: split tests and run in Python 3

  • Fix exception message in openstack.common.processutils.execute

  • Allow test_lockutils to run in isolation

  • Remove `processutils` dependency on `log`

  • Don’t import fcntl on Windows

  • Fix broken formatting of processutils.execute log statement

  • Move nova.utils.cpu_count() to processutils module

  • pep8: fixed multiple violations

  • fixed typos found by RETF rules

  • Mask passwords that are included in commands

  • Improve help strings

  • Remove str() from LOG.* and exceptions

  • Fixed several typos

  • Emit a log statement when releasing internal lock

  • Allow passing environment variables to execute()

  • Use oslotest instead of common test module

  • Remove rendundant parentheses of cfg help strings

  • Allow external locks to work with threads

  • Re-enable file-based locking behavior

  • Use Posix IPC in lockutils

  • Update log translation domains

  • Update oslo log messages with translation domains

  • Move the released file lock to the successful path

  • Add remove external lock files API in lockutils

  • Catch OSError in processutils

  • Use threading.ThreadError instead of reraising IOError

  • Have the interprocess lock follow lock conventions

  • lockutils: move directory creation in lock class

  • lockutils: remove lock_path parameter

  • lockutils: expand add_prefix

  • lockutils: remove local usage

  • lockutils: do not grab the lock in creators

  • Remove unused variables

  • Utilizes assertIsNone and assertIsNotNone

  • Fix i18n problem in processutils module

  • lockutils: split code handling internal/external lock

  • lockutils: fix testcase wrt Semaphore

  • Use hacking import_exceptions for gettextutils._

  • Correct invalid docstrings

  • Fix violations of H302:import only modules

  • Fixed misspellings of common words

  • Trivial: Make vertical white space after license header consistent

  • Unify different names between Python2/3 with six.moves

  • Remove vim header

  • Use six.text_type instead of unicode function in tests

  • Adjust import order according to PEP8 imports rule

  • fix lockutils.lock() to make it thread-safe

  • Add main() to lockutils that creates temp dir for locks

  • Allow lockutils to get lock_path conf from envvar

  • Correct execute() to check 0 in check_exit_code

  • Replace assertEquals with assertEqual

  • Move LockFixture into a fixtures module

  • Fix to properly log when we release a semaphore

  • Add LockFixture to lockutils

  • Modify lockutils.py due to dispose of eventlet

  • Replace using tests.utils part2

  • Fix processutils.execute errors on windows

  • Bump hacking to 0.7.0

  • Replace using tests.utils with openstack.common.test

  • Allow passing a logging level to processutils.execute

  • BaseException.message is deprecated since Python 2.6

  • Fix locking bug

  • Move synchronized body to a first-class function

  • Make lock_file_prefix optional

  • Enable H302 hacking check

  • Enable hacking H404 test

  • Use param keyword for docstrings

  • Use Python 3.x compatible octal literal notation

  • Use Python 3.x compatible except construct

  • Enable hacking H402 test

  • python3: python3 binary/text data compatbility

  • Removes len() on empty sequence evaluation

  • Added convenience APIs for lockutils

  • Import trycmd and ssh_execute from nova

  • Update processutils

  • Use print_function __future__ import

  • Improve Python 3.x compatibility

  • Replaces standard logging with common logging

  • Locking edge case when lock_path does not exist

  • lockutils: add a failing unit test

  • lockutils: improve the external locks test

  • Removes unused imports in the tests module

  • Fix locking issues in Windows

  • Fix Copyright Headers - Rename LLC to Foundation

  • Use oslo-config-2013.1b3

  • Emit a warning if RPC calls made with lock

  • Default lockutils to using a tempdir

  • Replace direct use of testtools BaseTestCase

  • Use testtools as test base class

  • Start adding reusable test fixtures

  • Fixes import order errors

  • Log when release file lock

  • Eliminate sleep in the lockutils test case (across processes)

  • Disable lockutils test_synchronized_externally

  • Fix import order in openstack/common/lockutils.py

  • Make project pyflakes clean

  • updating sphinx documentation

  • Remove unused greenthread import in lockutils

  • Move utils.execute to its own module

  • Fix missing import in lockutils

  • Move nova’s util.synchronized decorator to openstack common