CHANGES¶
1.17.0¶
- Changed the home-page link
- Updated from global requirements
- Replace ‘MagicMock’ with ‘Mock’
- 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