CHANGES¶
- OpenDev Migration Patch
 - Fix oslo.service ProcessLauncher fails to call stop
 - import zuul job settings from project-config
 - Fix sphinx-docs job for stable branch
 
1.19.1¶
- Fix race condition with fast threads
 - Update UPPER_CONSTRAINTS_FILE for stable/ocata
 - Update .gitreview for stable/ocata
 
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