CHANGES¶
reno: Update master for unmaintained/2023.1
3.6.0¶
Add note about requirements lower bounds
Run pyupgrade to clean up Python 2 syntaxes
Remove Python 3.8 support
Fix outdated tox minversion
Declare Python 3.12 support
Remove workaround for eventlet < 0.27.0
Update master for stable/2024.2
3.5.0¶
reno: Update master for unmaintained/zed
Remove old excludes
Update sslutils.wrap for newer Pythons
Make signal handling order predictable
Update master for stable/2024.1
reno: Update master for unmaintained/xena
reno: Update master for unmaintained/wallaby
reno: Update master for unmaintained/victoria
3.4.0¶
Switch to coverage command
reno: Update master for unmaintained/yoga
pre-commit: Integrate doc8 and bandit
pre-commit: Bump versions
Bump hacking
Update python classifier in setup.cfg
3.3.0¶
Update master for stable/2023.2
3.2.0¶
Imported Translations from Zanata
Bump bandit
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
3.1.1¶
Fix issues related to tox4
3.1.0¶
Fix misuse of assertTrue
Imported Translations from Zanata
Add Python3 antelope unit tests
Update master for stable/zed
Fix native threads on child process
3.0.0¶
Imported Translations from Zanata
Drop python3.6/3.7 support in testing runtime
Add Python3 zed unit tests
Update master for stable/yoga
2.8.0¶
Make debug option of wsgi server configurable
2.7.0¶
Fix fo() backdoor command for non-class objects
Fix BackOffLoopingCall error so it is not misleading
Add Python3 yoga unit tests
Update master for stable/xena
2.6.0¶
setup.cfg: Replace dashes with underscores
Remove references to ‘sys.version_info’
Move flake8 as a pre-commit local target
Add Python3 xena unit tests
Update master for stable/wallaby
Remove lower-constraints remnants
2.5.0¶
remove unicode from code
Use TOX_CONSTRAINTS_FILE
Dropping lower constraints testing
Drop custom implementation of EVENTLET_HUB
Use TOX_CONSTRAINTS_FILE
Use py3 as the default runtime for tox
Use TOX_CONSTRAINTS_FILE
Add Python3 wallaby unit tests
Update master for stable/victoria
Adding pre-commit
2.4.0¶
[goal] Migrate testing to ubuntu focal
Bump bandit version
2.3.2¶
Do not import “oslo.log” in the main module
2.3.1¶
2.3.0¶
Fix wsgi SSL tests for wsgi module under python 3
Reactivate wsgi test related to socket option under python 3
Fix wsgi/SSL/ipv6 tests for wsgi module under python 3
Fix some SSL tests for wsgi module under python 3
Raise minimum version of eventlet to 0.25.2
Fix pygments style
Stop to use the __future__ module
2.2.0¶
Drop six usages
Fix hacking min version to 3.0.1
Switch to newer openstackdocstheme and reno versions
Remove the unused coding style modules
Remove translation sections from setup.cfg
Align tests with monkey patch original current_thread _active
Remove monotonic usage
Align contributing doc with oslo’s policy
Monkey patch original current_thread _active
Bump default tox env from py37 to py38
Add py38 package metadata
Use unittest.mock instead of third party mock
Add release notes links to doc index
Add Python3 victoria unit tests
Update master for stable/ussuri
Cleanup py27 support
2.1.1¶
Update hacking for Python3
2.1.0¶
Update eventlet
Update the minversion parameter
remove outdated header
reword releasenote for py27 support dropping
2.0.0¶
[ussuri][goal] Drop python 2.7 support and testing
tox: Trivial cleanup
1.41.1¶
Add ‘is_available’ function
tox: Keeping going with docs
Switch to official Ussuri jobs
Extend test cert validity to 2049
Update the constraints url
1.41.0¶
Update master for stable/train
1.40.2¶
Reno for SIGHUP fix
1.40.1¶
Polish usage.rst
restart: don’t stop process on sighup when mutating
Move doc related modules to doc/requirements.txt
Add Python 3 Train unit tests
1.40.0¶
Stop using pbr to build docs
Make PID availabe as formatstring in backdoor path
1.39.0¶
Cap Bandit below 1.6.0 and update Sphinx requirement
Add workers’ type check before launching the services
Replace git.openstack.org URLs with opendev.org URLs
OpenDev Migration Patch
Dropping the py35 testing
Update master for stable/stein
1.38.0¶
Update oslo.service to require yappi 1.0 or newer
add python 3.7 unit test job
Update hacking version
1.37.0¶
Bump oslo.utils lower constraint to 3.40.2
1.36.0¶
Profile Oslo Service processes
Use eventletutils Event class
Avoid eventlet_backdoor listing on same port
1.35.0¶
Use template for lower-constraints
Deprecate the ThreadGroup.cancel() API
Document the threadgroup module
Actually test child SIGHUP signal
Restore correct signal handling in Python3
Add stop_on_exception to TG timers
Add better timer APIs to ThreadGroup
Update mailinglist from dev to discuss
Use SleepFixture in looping call test suite
1.33.0¶
Fixture to mock loopingcall wait()
Limit monotonic to py2
1.32.1¶
Fix stop of loopingcall
Use eventlet Event for loopingcall events
Clean up .gitignore references to personal tools
Always build universal wheels
1.32.0¶
Ensure connection is active in graceful shutdown tests
Stop asserting on Eventlet internals
Skips signal handling on Windows
add lib-forward-testing-python3 test job
add python 3.6 unit test job
import zuul job settings from project-config
Update reno for stable/rocky
1.31.3¶
Remove unnecessary pyNN testenv
Convert oslo.service to using stestr
Add release notes link to README
Fix oslo.service ProcessLauncher fails to call stop
fix tox python3 overrides
Add test dependency on requests
Remove moxstubout
1.31.2¶
[ThreadGroup] Don’t remove timer when stop timers
Make lower-constraints job voting
tox.ini: Use python3.5 in py35 environment
Python 3: Fix eventlet wakeup after signal
Python 3: Fix non-deterministic test
Remove stale pip-missing-reqs tox test
Trivial: Update pypi url to new url
add lower-constraints job
move doc8 test to pep8 job
set default python to python3
1.31.1¶
Revert “Revert “Permit aborting loopingcall while sleeping””
1.31.0¶
Remove eventlet cap
Fixup certificates and skip failing test
1.30.0¶
Imported Translations from Zanata
Imported Translations from Zanata
Update links in README
Imported Translations from Zanata
Updated from global requirements
Update reno for stable/queens
Updated from global requirements
Updated from global requirements
Updated from global requirements
1.29.0¶
Maintain shared memory after fork in Python >=3.7
Updated from global requirements
Revert “Permit aborting loopingcall while sleeping”
1.28.1¶
1.28.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
1.27.0¶
Updated from global requirements
change periodic_task to catch all exceptions including BaseException
Fix bandit scan and make it voting
Imported Translations from Zanata
1.26.0¶
Updated from global requirements
Updated from global requirements
Updated from global requirements
Updated from global requirements
Imported Translations from Zanata
Updated from global requirements
Updated from global requirements
Update reno for stable/pike
Updated from global requirements
1.25.0¶
Update URLs in documents according to document migration
1.24.1¶
rearrange existing documentation to fit the new standard layout
switch from oslosphinx to openstackdocstheme
1.24.0¶
Updated from global requirements
Updated from global requirements
Updated from global requirements
Updated from global requirements
Permit aborting loopingcall while sleeping
Updated from global requirements
Updated from global requirements
Updated from global requirements
Updated from global requirements
1.23.0¶
Add min_interval to BackOffLoopingCall
1.22.0¶
Updated from global requirements
Updated from global requirements
1.21.0¶
Remove log translations
Use Sphinx 1.5 warning-is-error
Fix some reST field lists in docstrings
Updated from global requirements
1.20.0¶
Updated from global requirements
[Fix gate]Update test requirement
Updated from global requirements
Updated from global requirements
Fix race condition with fast threads
pbr.version.VersionInfo needs package name (oslo.xyz and not oslo_xyz)
Remove duplicated register_opts call
Update reno for stable/ocata
Remove references to Python 3.4
1.19.0¶
Add FixedIntervalWithTimeoutLoopingCall
Add Constraints support
Show team and repo badges on README
1.18.0¶
Updated from global requirements
Updated from global requirements
Updated from global requirements
Imported Translations from Zanata
Update .coveragerc after the removal of respective directory
Delete python bytecode file
1.17.0¶
Changed the home-page link
Updated from global requirements
Replace ‘MagicMock’ with ‘Mock’
Enable release notes translation
Updated from global requirements
Updated from global requirements
Updated from global requirements
1.16.0¶
Updated from global requirements
Stay alive on double SIGHUP
1.15.0¶
Updated from global requirements
1.14.0¶
Updated from global requirements
Fix parameters of assertEqual are misplaced
1.13.0¶
Updated from global requirements
Updated from global requirements
Updated from global requirements
Add reno for release notes management
Updated from global requirements
1.12.0¶
Imported Translations from Zanata
Updated from global requirements
Updated from global requirements
Updated from global requirements
Updated from global requirements
Updated from global requirements
Updated from global requirements
1.11.0¶
Trivial: ignore openstack/common in flake8 exclude list
1.10.0¶
[Trivial] Remove executable privilege of doc/source/conf.py
1.9.0¶
Updated from global requirements
Offer mutate_config_files
Make _spawn_service more flexible
Remove direct dependency on babel
Updated from global requirements
Updated from global requirements
Updated from global requirements
Updated from global requirements
Fix argument type for _sd_notify() on python3
Use a timeutils.StopWatch for cancel timing
Add ability to cancel Threads and ThreadGroups
Exception: message need ‘_’ function
Fix Heartbeats stop when time is changed
Updated from global requirements
1.7.0¶
Updated from global requirements
Correct some help text
Fix typo in help text
wsgi: decrease the default number of greenthreads in pool
Updated from global requirements
1.6.0¶
Updated from global requirements
Allow the backdoor to serve from a local unix domain socket
Updated from global requirements
1.5.0¶
Use requests in TestWSGIServerWithSSL instead of raw socket client
1.4.0¶
Updated from global requirements
Updated from global requirements
Fix misspelling and rewrite sentence
Add a more useful/detailed frame dumping function
Updated from global requirements
Update translation setup
Fix race condition on handling signals
Updated from global requirements
Updated from global requirements
Updated from global requirements
Updated from global requirements
Fix artificial service.wait()
1.3.0¶
Graceful shutdown added to ServiceLauncher
Fix test execution on CentOS 7
Updated from global requirements
Fix some inconsistency in docstrings
Refactoring of tests/eventlet_service.py
Updated from global requirements
Remove argument ServiceLauncher.wait() method
fix a couple of assert issues
Run sslutils and wsgi tests for python3
Updated from global requirements
1.2.0¶
Updated from global requirements
Fix a race condition in signal handlers
Enable py3 mock.patch of RuntimeError
Delete python bytecode before every test run
Trival: Remove ‘MANIFEST.in’
1.1.0¶
Avoid warning when time taken is close to zero
Update the _i18n.py file and fix the domain value
Add Bandit to tox for security static analysis
Code refactoring of ThreadGroup::stop_timers()
1.0.0¶
Updated from global requirements
Updated from global requirements
Add functionality for creating Unix domain WSGI servers
Use reflection.get_class_name() from oslo.utils
Remove Python 2.6 classifier
Remove openstack-common.conf
cleanup tox.ini
Change “started child” messages to DEBUG
Support for SSL protocol and cipher controls
0.13.0¶
Default value of graceful_shutdown_timeout is set to 60sec
Updated from global requirements
Logger name argument was added into wsgi.Server constructor
Avoid the dual-naming confusion
Forbid launching services with 0 or negative number of workers
0.12.0¶
Document graceful_shutdown_timeout config option
Remove py26 env from test list
Added config option graceful_shutdown_timeout
Updated from global requirements
Add docstring for LoopingCallBase._start()
Updated from global requirements
0.11.0¶
Updated from global requirements
Add doc8 to py27 tox env and fix raised issues
Document termination of children on SIGHUP
Updated from global requirements
Updated from global requirements
0.10.0¶
RetryDecorator should not log warnings/errors for expected exceptions
Termination children on SIGHUP added
Fix coverage configuration and execution
Add register_opts function to sslutils
Move the common thread manipulating routine to a shared routine
Update log string to correctly denote what it waits on
Avoid removing entries for timers that didn’t stop
Cleanup thread on thread done callback
Move ‘history’ -> release notes section
Add unit tests for sslutils
Expand README and clean up intro to sphinx docs
Add shields.io version/downloads links/badges into README.rst
add auto-generated docs for config options
Move backoff looping call from IPA to oslo.service
Change ignore-errors to ignore_errors
Fix the home-page value in setup.cfg
WSGI module was corrected
Updated from global requirements
ThreadGroup’s stop didn’t recognise the current thread correctly
doing monkey_patch for unittest
0.9.0¶
Handling corner cases in dynamic looping call
Change DEBUG log in loopingcall to TRACE level log
Updated from global requirements
0.8.0¶
Added wsgi functionality
0.7.0¶
Updated from global requirements
Update “Signal handling” section of usage docs
Use oslo_utils reflection to get ‘f’ callable name
Updated from global requirements
Prefix the ‘safe_wrapper’ function to be ‘_safe_wrapper’
Setup translations
Check that sighup is supported before accessing signal.SIGHUP
Use contextlib.closing instead of try … finally: sock.close
Avoid using the global lockutils semaphore collection
Updated from global requirements
0.6.0¶
Added newline at end of file
Added class SignalHandler
Updated from global requirements
Activate pep8 check that _ is imported
Denote what happens when no exceptions are passed in
Allow LoopingCall to continue on exception in callee
0.5.0¶
Updated from global requirements
Updated from global requirements
Updated from global requirements
Add oslo_debug_helper to tox.ini
Add usage documentation for oslo_service.service module
0.4.0¶
Updated from global requirements
save docstring, name etc using six.wraps
Move backdoor-related tests from test_service
Add mock to test_requirements
Remove usage of mox in test_eventlet_backdoor
0.3.0¶
Copy RetryDecorator from oslo.vmware
Increase test coverage of systemd
Ensure we set the event and wait on the timer in the test
Make it easier to use the eventlet backdoor locally
Track created thread and disallow more than one start being active
0.2.0¶
Documentation on the use of the oslo-config-generator
Add greenlet to requirements
Add tox target to find missing requirements
Enforce H405 check
Enforce H301 check
Return timer after adding it to internal list
Updated from global requirements
Have all the looping calls share a common run loop
Move service abstract base class check to launch_service methods
Fix a typo in a comment
Updated from global requirements
Use a signal name->sigval and sigval->signal name mapping
0.1.0¶
Test for instantaneous shutdown fixed
Graceful shutdown WSGI/RPC server
Use monotonic.monotonic and stopwatches instead of time.time
Updated from global requirements
Eventlet service fixed
Add documentation for the service module
Improve test coverage for loopingcall module
Add oslo.service documentation
Remove usage of global CONF
Make logging option values configurable
Introduce abstract base class for services
Add entrypoints for option discovery
Updated from global requirements
Move the option definitions into a private file
Fix unit tests
Fix pep8
exported from oslo-incubator by graduate.sh
Clean up logging to conform to guidelines
Port service to Python 3
Test for shutting down eventlet server on signal
service child process normal SIGTERM exit
Revert “Revert “Revert “Optimization of waiting subprocesses in ProcessLauncher”””
Revert “Revert “Optimization of waiting subprocesses in ProcessLauncher””
Revert “Optimization of waiting subprocesses in ProcessLauncher”
ProcessLauncher: reload config file in parent process on SIGHUP
Add check to test__signal_handlers_set
Store ProcessLauncher signal handlers on class level
Remove unused validate_ssl_version
Update tests for optional sslv3
Fixed ssl.PROTOCOL_SSLv3 not supported by Python 2.7.9
Optimization of waiting subprocesses in ProcessLauncher
Switch from oslo.config to oslo_config
Change oslo.config to oslo_config
Remove oslo.log code and clean up versionutils API
Replace mox by mox3
Allow overriding name for periodic tasks
Separate add_periodic_task from the metaclass __init__
Upgrade to hacking 0.10
Remove unnecessary import of eventlet
Added graceful argument on Service.stop method
Remove extra white space in log message
Prefer delayed %r formatting over explicit repr use
ServiceRestartTest: make it more resilient
threadgroup: don’t log GreenletExit
add list_opts to all modules with configuration options
Remove code that moved to oslo.i18n
Remove graduated test and fixtures libraries
rpc, notifier: remove deprecated modules
Let oslotest manage the six.move setting for mox
Remove usage of readlines()
Allow test_service to run in isolation
Changes calcuation of variable delay
Use timestamp in loopingcall
Remove unnecessary setUp function
Log the function name of looping call
pep8: fixed multiple violations
Make periodic tasks run on regular spacing interval
Use moxstubout and mockpatch from oslotest
Implement stop method in ProcessLauncher
Fix parenthesis typo misunderstanding in periodic_task
Fix docstring indentation in systemd
Remove redundant default=None for config options
Make unspecified periodic spaced tasks run on default interval
Make stop_timers() method public
Remove deprecated LoopingCall
Fixed several typos
Add graceful stop function to ThreadGroup.stop
Use oslotest instead of common test module
Remove duplicated “caught” message
Move notification point to a better place
Remove rendundant parentheses of cfg help strings
Adds test condition in test_periodic
Fixed spelling error - occured to occurred
Add missing _LI for LOG.info in service module
notify calling process we are ready to serve
Reap child processes gracefully if greenlet thread gets killed
Improve help strings for sslutils module
Remove unnecessary usage of noqa
Removes use of timeutils.set_time_override
Update oslo log messages with translation domains
Refactor unnecessary arithmetic ops in periodic_task
Refactor if logic in periodic_task
Use timestamp in periodic tasks
Add basic Python 3 tests
Clear time override in test_periodic
Don’t share periodic_task instance data in a class attr
Revert “service: replace eventlet event by threading”
Simplify launch method
Simple typo correction
Cleanup unused log related code
Utilizes assertIsNone and assertIsNotNone
Fix filter() usage due to python 3 compability
Use hacking import_exceptions for gettextutils._
threadgroup: use threading rather than greenthread
disable SIGHUP restart behavior in foreground
service: replace eventlet event by threading
Allow configurable ProcessLauncher liveness check
Make wait & stop methods work on all threads
Typos fix in db and periodic_task module
Remove vim header
os._exit in _start_child may cause unexpected exception
Adjust import order according to PEP8 imports rule
Add a link method to Thread
Use multiprocessing.Event to ensure services have started
Apply six for metaclass
Removed calls to locals()
Move comment in service.py to correct location
Fixes issue with SUGHUP in services on Windows
Replace using tests.utils part2
Bump hacking to 0.7.0
Replace using tests.utils with openstack.common.test
Refactors boolean returns
Add service restart function in oslo-incubator
Fix stylistic problems with help text
Enable H302 hacking check
Convert kombu SSL version string into integer
Allow launchers to be stopped multiple times
Ignore any exceptions from rpc.cleanup()
Add graceful service shutdown support to Launcher
Improve usability when backdoor_port is nonzero
Enable hacking H404 test
Enable hacking H402 test
Enable hacking H401 test
Fixes import order nits
Add DynamicLoopCall timers to ThreadGroups
Pass backdoor_port to services being launched
Improve python3 compatibility
Use print_function __future__ import
Improve Python 3.x compatibility
Import nova’s looping call
Copy recent changes in periodic tasks from nova
Fix IBM copyright strings
Removes unused imports in the tests module
update OpenStack, LLC to OpenStack Foundation
Add function for listing native threads to eventlet backdoor
Use oslo-config-2013.1b3
Support for SSL in wsgi.Service
Replace direct use of testtools BaseTestCase
Use testtools as test base class
ThreadGroup remove unused name parameters
Implement importutils.try_import
Fix test cases in tests.unit.test_service
Don’t rely on os.wait() blocking
Use Service thread group for WSGI request handling
Make project pyflakes clean
Replace try: import with extras.try_import
raise_on_error parameter shouldn’t be passed to task function
Account for tasks duration in LoopingCall delay
updating sphinx documentation
Enable eventlet_backdoor to return port
Use the ThreadGroup for the Launcher
Change RPC cleanup ordering
threadgroup : greethread.cancel() should be kill()
Use spawn_n when not capturing return value
Make ThreadGroup derived from object to make mocking possible
Don’t log exceptions for GreenletExit and thread_done
Log CONF from ProcessLauncher.wait, like ServiceLauncher
Import order clean-up
Added a missing `cfg` import in service.py
Log config on startup
Integrate eventlet backdoor
Add the rpc service and delete manager
Use pep8 v1.3.3
Add threadgroup to manage timers and greenthreads
Add basic periodic task infrastructure
Add multiprocess service launcher
Add signal handling to service launcher
Basic service launching infrastructure
Move manager.py and service.py into common
Copy eventlet_backdoor into common from nova
Copy LoopingCall from nova for service.py
initial commit
Initial skeleton project