1CHANGES 2======= 3 42.7.0 5----- 6 7* Fix fo() backdoor command for non-class objects 8* Fix BackOffLoopingCall error so it is not misleading 9* Add Python3 yoga unit tests 10* Update master for stable/xena 11 122.6.0 13----- 14 15* setup.cfg: Replace dashes with underscores 16* Remove references to 'sys.version\_info' 17* Move flake8 as a pre-commit local target 18* Add Python3 xena unit tests 19* Update master for stable/wallaby 20* Remove lower-constraints remnants 21 222.5.0 23----- 24 25* remove unicode from code 26* Use TOX\_CONSTRAINTS\_FILE 27* Dropping lower constraints testing 28* Drop custom implementation of EVENTLET\_HUB 29* Use TOX\_CONSTRAINTS\_FILE 30* Use py3 as the default runtime for tox 31* Use TOX\_CONSTRAINTS\_FILE 32* Add Python3 wallaby unit tests 33* Update master for stable/victoria 34* Adding pre-commit 35 362.4.0 37----- 38 39* [goal] Migrate testing to ubuntu focal 40* Bump bandit version 41 422.3.2 43----- 44 45* Do not import "oslo.log" in the main module 46 472.3.1 48----- 49 50 512.3.0 52----- 53 54* Fix wsgi SSL tests for wsgi module under python 3 55* Reactivate wsgi test related to socket option under python 3 56* Fix wsgi/SSL/ipv6 tests for wsgi module under python 3 57* Fix some SSL tests for wsgi module under python 3 58* Raise minimum version of eventlet to 0.25.2 59* Fix pygments style 60* Stop to use the \_\_future\_\_ module 61 622.2.0 63----- 64 65* Drop six usages 66* Fix hacking min version to 3.0.1 67* Switch to newer openstackdocstheme and reno versions 68* Remove the unused coding style modules 69* Remove translation sections from setup.cfg 70* Align tests with monkey patch original current\_thread \_active 71* Remove monotonic usage 72* Align contributing doc with oslo's policy 73* Monkey patch original current\_thread \_active 74* Bump default tox env from py37 to py38 75* Add py38 package metadata 76* Use unittest.mock instead of third party mock 77* Add release notes links to doc index 78* Add Python3 victoria unit tests 79* Update master for stable/ussuri 80* Cleanup py27 support 81 822.1.1 83----- 84 85* Update hacking for Python3 86 872.1.0 88----- 89 90* Update eventlet 91* Update the minversion parameter 92* remove outdated header 93* reword releasenote for py27 support dropping 94 952.0.0 96----- 97 98* [ussuri][goal] Drop python 2.7 support and testing 99* tox: Trivial cleanup 100 1011.41.1 102------ 103 104* Add 'is\_available' function 105* tox: Keeping going with docs 106* Switch to official Ussuri jobs 107* Extend test cert validity to 2049 108* Update the constraints url 109 1101.41.0 111------ 112 113* Update master for stable/train 114 1151.40.2 116------ 117 118* Reno for SIGHUP fix 119 1201.40.1 121------ 122 123* Polish usage.rst 124* restart: don't stop process on sighup when mutating 125* Move doc related modules to doc/requirements.txt 126* Add Python 3 Train unit tests 127 1281.40.0 129------ 130 131* Stop using pbr to build docs 132* Make PID availabe as formatstring in backdoor path 133 1341.39.0 135------ 136 137* Cap Bandit below 1.6.0 and update Sphinx requirement 138* Add workers' type check before launching the services 139* Replace git.openstack.org URLs with opendev.org URLs 140* OpenDev Migration Patch 141* Dropping the py35 testing 142* Update master for stable/stein 143 1441.38.0 145------ 146 147* Update oslo.service to require yappi 1.0 or newer 148* add python 3.7 unit test job 149* Update hacking version 150 1511.37.0 152------ 153 154* Bump oslo.utils lower constraint to 3.40.2 155 1561.36.0 157------ 158 159* Profile Oslo Service processes 160* Use eventletutils Event class 161* Avoid eventlet\_backdoor listing on same port 162 1631.35.0 164------ 165 166* Use template for lower-constraints 167* Deprecate the ThreadGroup.cancel() API 168* Document the threadgroup module 169* Actually test child SIGHUP signal 170* Restore correct signal handling in Python3 171* Add stop\_on\_exception to TG timers 172* Add better timer APIs to ThreadGroup 173* Update mailinglist from dev to discuss 174* Use SleepFixture in looping call test suite 175 1761.33.0 177------ 178 179* Fixture to mock loopingcall wait() 180* Limit monotonic to py2 181 1821.32.1 183------ 184 185* Fix stop of loopingcall 186* Use eventlet Event for loopingcall events 187* Clean up .gitignore references to personal tools 188* Always build universal wheels 189 1901.32.0 191------ 192 193* Ensure connection is active in graceful shutdown tests 194* Stop asserting on Eventlet internals 195* Skips signal handling on Windows 196* add lib-forward-testing-python3 test job 197* add python 3.6 unit test job 198* import zuul job settings from project-config 199* Update reno for stable/rocky 200 2011.31.3 202------ 203 204* Remove unnecessary pyNN testenv 205* Convert oslo.service to using stestr 206* Add release notes link to README 207* Fix oslo.service ProcessLauncher fails to call stop 208* fix tox python3 overrides 209* Add test dependency on requests 210* Remove moxstubout 211 2121.31.2 213------ 214 215* [ThreadGroup] Don't remove timer when stop timers 216* Make lower-constraints job voting 217* tox.ini: Use python3.5 in py35 environment 218* Python 3: Fix eventlet wakeup after signal 219* Python 3: Fix non-deterministic test 220* Remove stale pip-missing-reqs tox test 221* Trivial: Update pypi url to new url 222* add lower-constraints job 223* move doc8 test to pep8 job 224* set default python to python3 225 2261.31.1 227------ 228 229* Revert "Revert "Permit aborting loopingcall while sleeping"" 230 2311.31.0 232------ 233 234* Remove eventlet cap 235* Fixup certificates and skip failing test 236 2371.30.0 238------ 239 240* Imported Translations from Zanata 241* Imported Translations from Zanata 242* Update links in README 243* Imported Translations from Zanata 244* Updated from global requirements 245* Update reno for stable/queens 246* Updated from global requirements 247* Updated from global requirements 248* Updated from global requirements 249 2501.29.0 251------ 252 253* Maintain shared memory after fork in Python >=3.7 254* Updated from global requirements 255* Revert "Permit aborting loopingcall while sleeping" 256 2571.28.1 258------ 259 260 2611.28.0 262------ 263 264* Remove -U from pip install 265* Avoid tox\_install.sh for constraints support 266* Updated from global requirements 267* Remove setting of version/release from releasenotes 268* Updated from global requirements 269 2701.27.0 271------ 272 273* Updated from global requirements 274* change periodic\_task to catch all exceptions including BaseException 275* Fix bandit scan and make it voting 276* Imported Translations from Zanata 277 2781.26.0 279------ 280 281* Updated from global requirements 282* Updated from global requirements 283* Updated from global requirements 284* Updated from global requirements 285* Imported Translations from Zanata 286* Updated from global requirements 287* Updated from global requirements 288* Update reno for stable/pike 289* Updated from global requirements 290 2911.25.0 292------ 293 294* Update URLs in documents according to document migration 295 2961.24.1 297------ 298 299* rearrange existing documentation to fit the new standard layout 300* switch from oslosphinx to openstackdocstheme 301 3021.24.0 303------ 304 305* Updated from global requirements 306* Updated from global requirements 307* Updated from global requirements 308* Updated from global requirements 309* Permit aborting loopingcall while sleeping 310* Updated from global requirements 311* Updated from global requirements 312* Updated from global requirements 313* Updated from global requirements 314 3151.23.0 316------ 317 318* Add min\_interval to BackOffLoopingCall 319 3201.22.0 321------ 322 323* Updated from global requirements 324* Updated from global requirements 325 3261.21.0 327------ 328 329* Remove log translations 330* Use Sphinx 1.5 warning-is-error 331* Fix some reST field lists in docstrings 332* Updated from global requirements 333 3341.20.0 335------ 336 337* Updated from global requirements 338* [Fix gate]Update test requirement 339* Updated from global requirements 340* Updated from global requirements 341* Fix race condition with fast threads 342* pbr.version.VersionInfo needs package name (oslo.xyz and not oslo\_xyz) 343* Remove duplicated register\_opts call 344* Update reno for stable/ocata 345* Remove references to Python 3.4 346 3471.19.0 348------ 349 350* Add FixedIntervalWithTimeoutLoopingCall 351* Add Constraints support 352* Show team and repo badges on README 353 3541.18.0 355------ 356 357* Updated from global requirements 358* Updated from global requirements 359* Updated from global requirements 360* Imported Translations from Zanata 361* Update .coveragerc after the removal of respective directory 362* Delete python bytecode file 363 3641.17.0 365------ 366 367* Changed the home-page link 368* Updated from global requirements 369* Replace 'MagicMock' with 'Mock' 370* Enable release notes translation 371* Updated from global requirements 372* Updated from global requirements 373* Updated from global requirements 374 3751.16.0 376------ 377 378* Updated from global requirements 379* Stay alive on double SIGHUP 380 3811.15.0 382------ 383 384* Updated from global requirements 385 3861.14.0 387------ 388 389* Updated from global requirements 390* Fix parameters of assertEqual are misplaced 391 3921.13.0 393------ 394 395* Updated from global requirements 396* Updated from global requirements 397* Updated from global requirements 398* Add reno for release notes management 399* Updated from global requirements 400 4011.12.0 402------ 403 404* Imported Translations from Zanata 405* Updated from global requirements 406* Updated from global requirements 407* Updated from global requirements 408* Updated from global requirements 409* Updated from global requirements 410* Updated from global requirements 411 4121.11.0 413------ 414 415* Trivial: ignore openstack/common in flake8 exclude list 416 4171.10.0 418------ 419 420* [Trivial] Remove executable privilege of doc/source/conf.py 421 4221.9.0 423----- 424 425* Updated from global requirements 426* Offer mutate\_config\_files 427* Make \_spawn\_service more flexible 428* Remove direct dependency on babel 429* Updated from global requirements 430* Updated from global requirements 431* Updated from global requirements 432* Updated from global requirements 433* Fix argument type for \_sd\_notify() on python3 434* Use a timeutils.StopWatch for cancel timing 435* Add ability to cancel Threads and ThreadGroups 436* Exception: message need '\_' function 437* Fix Heartbeats stop when time is changed 438* Updated from global requirements 439 4401.7.0 441----- 442 443* Updated from global requirements 444* Correct some help text 445* Fix typo in help text 446* wsgi: decrease the default number of greenthreads in pool 447* Updated from global requirements 448 4491.6.0 450----- 451 452* Updated from global requirements 453* Allow the backdoor to serve from a local unix domain socket 454* Updated from global requirements 455 4561.5.0 457----- 458 459* Use requests in TestWSGIServerWithSSL instead of raw socket client 460 4611.4.0 462----- 463 464* Updated from global requirements 465* Updated from global requirements 466* Fix misspelling and rewrite sentence 467* Add a more useful/detailed frame dumping function 468* Updated from global requirements 469* Update translation setup 470* Fix race condition on handling signals 471* Updated from global requirements 472* Updated from global requirements 473* Updated from global requirements 474* Updated from global requirements 475* Fix artificial service.wait() 476 4771.3.0 478----- 479 480* Graceful shutdown added to ServiceLauncher 481* Fix test execution on CentOS 7 482* Updated from global requirements 483* Fix some inconsistency in docstrings 484* Refactoring of tests/eventlet\_service.py 485* Updated from global requirements 486* Remove argument ServiceLauncher.wait() method 487* fix a couple of assert issues 488* Run sslutils and wsgi tests for python3 489* Updated from global requirements 490 4911.2.0 492----- 493 494* Updated from global requirements 495* Fix a race condition in signal handlers 496* Enable py3 mock.patch of RuntimeError 497* Delete python bytecode before every test run 498* Trival: Remove 'MANIFEST.in' 499 5001.1.0 501----- 502 503* Avoid warning when time taken is close to zero 504* Update the \_i18n.py file and fix the domain value 505* Add Bandit to tox for security static analysis 506* Code refactoring of ThreadGroup::stop\_timers() 507 5081.0.0 509----- 510 511* Updated from global requirements 512* Updated from global requirements 513* Add functionality for creating Unix domain WSGI servers 514* Use reflection.get\_class\_name() from oslo.utils 515* Remove Python 2.6 classifier 516* Remove openstack-common.conf 517* cleanup tox.ini 518* Change "started child" messages to DEBUG 519* Support for SSL protocol and cipher controls 520 5210.13.0 522------ 523 524* Default value of graceful\_shutdown\_timeout is set to 60sec 525* Updated from global requirements 526* Logger name argument was added into wsgi.Server constructor 527* Avoid the dual-naming confusion 528* Forbid launching services with 0 or negative number of workers 529 5300.12.0 531------ 532 533* Document graceful\_shutdown\_timeout config option 534* Remove py26 env from test list 535* Added config option graceful\_shutdown\_timeout 536* Updated from global requirements 537* Add docstring for LoopingCallBase.\_start() 538* Updated from global requirements 539 5400.11.0 541------ 542 543* Updated from global requirements 544* Add doc8 to py27 tox env and fix raised issues 545* Document termination of children on SIGHUP 546* Updated from global requirements 547* Updated from global requirements 548 5490.10.0 550------ 551 552* RetryDecorator should not log warnings/errors for expected exceptions 553* Termination children on SIGHUP added 554* Fix coverage configuration and execution 555* Add register\_opts function to sslutils 556* Move the common thread manipulating routine to a shared routine 557* Update log string to correctly denote what it waits on 558* Avoid removing entries for timers that didn't stop 559* Cleanup thread on thread done callback 560* Move 'history' -> release notes section 561* Add unit tests for sslutils 562* Expand README and clean up intro to sphinx docs 563* Add shields.io version/downloads links/badges into README.rst 564* add auto-generated docs for config options 565* Move backoff looping call from IPA to oslo.service 566* Change ignore-errors to ignore\_errors 567* Fix the home-page value in setup.cfg 568* WSGI module was corrected 569* Updated from global requirements 570* ThreadGroup's stop didn't recognise the current thread correctly 571* doing monkey\_patch for unittest 572 5730.9.0 574----- 575 576* Handling corner cases in dynamic looping call 577* Change DEBUG log in loopingcall to TRACE level log 578* Updated from global requirements 579 5800.8.0 581----- 582 583* Added wsgi functionality 584 5850.7.0 586----- 587 588* Updated from global requirements 589* Update "Signal handling" section of usage docs 590* Use oslo\_utils reflection to get 'f' callable name 591* Updated from global requirements 592* Prefix the 'safe\_wrapper' function to be '\_safe\_wrapper' 593* Setup translations 594* Check that sighup is supported before accessing signal.SIGHUP 595* Use contextlib.closing instead of try ... finally: sock.close 596* Avoid using the global lockutils semaphore collection 597* Updated from global requirements 598 5990.6.0 600----- 601 602* Added newline at end of file 603* Added class SignalHandler 604* Updated from global requirements 605* Activate pep8 check that \_ is imported 606* Denote what happens when no exceptions are passed in 607* Allow LoopingCall to continue on exception in callee 608 6090.5.0 610----- 611 612* Updated from global requirements 613* Updated from global requirements 614* Updated from global requirements 615* Add oslo\_debug\_helper to tox.ini 616* Add usage documentation for oslo\_service.service module 617 6180.4.0 619----- 620 621* Updated from global requirements 622* save docstring, name etc using six.wraps 623* Move backdoor-related tests from test\_service 624* Add mock to test\_requirements 625* Remove usage of mox in test\_eventlet\_backdoor 626 6270.3.0 628----- 629 630* Copy RetryDecorator from oslo.vmware 631* Increase test coverage of systemd 632* Ensure we set the event and wait on the timer in the test 633* Make it easier to use the eventlet backdoor locally 634* Track created thread and disallow more than one start being active 635 6360.2.0 637----- 638 639* Documentation on the use of the oslo-config-generator 640* Add greenlet to requirements 641* Add tox target to find missing requirements 642* Enforce H405 check 643* Enforce H301 check 644* Return timer after adding it to internal list 645* Updated from global requirements 646* Have all the looping calls share a common run loop 647* Move service abstract base class check to launch\_service methods 648* Fix a typo in a comment 649* Updated from global requirements 650* Use a signal name->sigval and sigval->signal name mapping 651 6520.1.0 653----- 654 655* Test for instantaneous shutdown fixed 656* Graceful shutdown WSGI/RPC server 657* Use monotonic.monotonic and stopwatches instead of time.time 658* Updated from global requirements 659* Eventlet service fixed 660* Add documentation for the service module 661* Improve test coverage for loopingcall module 662* Add oslo.service documentation 663* Remove usage of global CONF 664* Make logging option values configurable 665* Introduce abstract base class for services 666* Add entrypoints for option discovery 667* Updated from global requirements 668* Move the option definitions into a private file 669* Fix unit tests 670* Fix pep8 671* exported from oslo-incubator by graduate.sh 672* Clean up logging to conform to guidelines 673* Port service to Python 3 674* Test for shutting down eventlet server on signal 675* service child process normal SIGTERM exit 676* Revert "Revert "Revert "Optimization of waiting subprocesses in ProcessLauncher""" 677* Revert "Revert "Optimization of waiting subprocesses in ProcessLauncher"" 678* Revert "Optimization of waiting subprocesses in ProcessLauncher" 679* ProcessLauncher: reload config file in parent process on SIGHUP 680* Add check to test\_\_signal\_handlers\_set 681* Store ProcessLauncher signal handlers on class level 682* Remove unused validate\_ssl\_version 683* Update tests for optional sslv3 684* Fixed ssl.PROTOCOL\_SSLv3 not supported by Python 2.7.9 685* Optimization of waiting subprocesses in ProcessLauncher 686* Switch from oslo.config to oslo\_config 687* Change oslo.config to oslo\_config 688* Remove oslo.log code and clean up versionutils API 689* Replace mox by mox3 690* Allow overriding name for periodic tasks 691* Separate add\_periodic\_task from the metaclass \_\_init\_\_ 692* Upgrade to hacking 0.10 693* Remove unnecessary import of eventlet 694* Added graceful argument on Service.stop method 695* Remove extra white space in log message 696* Prefer delayed %r formatting over explicit repr use 697* ServiceRestartTest: make it more resilient 698* threadgroup: don't log GreenletExit 699* add list\_opts to all modules with configuration options 700* Remove code that moved to oslo.i18n 701* Remove graduated test and fixtures libraries 702* rpc, notifier: remove deprecated modules 703* Let oslotest manage the six.move setting for mox 704* Remove usage of readlines() 705* Allow test\_service to run in isolation 706* Changes calcuation of variable delay 707* Use timestamp in loopingcall 708* Remove unnecessary setUp function 709* Log the function name of looping call 710* pep8: fixed multiple violations 711* Make periodic tasks run on regular spacing interval 712* Use moxstubout and mockpatch from oslotest 713* Implement stop method in ProcessLauncher 714* Fix parenthesis typo misunderstanding in periodic\_task 715* Fix docstring indentation in systemd 716* Remove redundant default=None for config options 717* Make unspecified periodic spaced tasks run on default interval 718* Make stop\_timers() method public 719* Remove deprecated LoopingCall 720* Fixed several typos 721* Add graceful stop function to ThreadGroup.stop 722* Use oslotest instead of common test module 723* Remove duplicated "caught" message 724* Move notification point to a better place 725* Remove rendundant parentheses of cfg help strings 726* Adds test condition in test\_periodic 727* Fixed spelling error - occured to occurred 728* Add missing \_LI for LOG.info in service module 729* notify calling process we are ready to serve 730* Reap child processes gracefully if greenlet thread gets killed 731* Improve help strings for sslutils module 732* Remove unnecessary usage of noqa 733* Removes use of timeutils.set\_time\_override 734* Update oslo log messages with translation domains 735* Refactor unnecessary arithmetic ops in periodic\_task 736* Refactor if logic in periodic\_task 737* Use timestamp in periodic tasks 738* Add basic Python 3 tests 739* Clear time override in test\_periodic 740* Don't share periodic\_task instance data in a class attr 741* Revert "service: replace eventlet event by threading" 742* Simplify launch method 743* Simple typo correction 744* Cleanup unused log related code 745* Utilizes assertIsNone and assertIsNotNone 746* Fix filter() usage due to python 3 compability 747* Use hacking import\_exceptions for gettextutils.\_ 748* threadgroup: use threading rather than greenthread 749* disable SIGHUP restart behavior in foreground 750* service: replace eventlet event by threading 751* Allow configurable ProcessLauncher liveness check 752* Make wait & stop methods work on all threads 753* Typos fix in db and periodic\_task module 754* Remove vim header 755* os.\_exit in \_start\_child may cause unexpected exception 756* Adjust import order according to PEP8 imports rule 757* Add a link method to Thread 758* Use multiprocessing.Event to ensure services have started 759* Apply six for metaclass 760* Removed calls to locals() 761* Move comment in service.py to correct location 762* Fixes issue with SUGHUP in services on Windows 763* Replace using tests.utils part2 764* Bump hacking to 0.7.0 765* Replace using tests.utils with openstack.common.test 766* Refactors boolean returns 767* Add service restart function in oslo-incubator 768* Fix stylistic problems with help text 769* Enable H302 hacking check 770* Convert kombu SSL version string into integer 771* Allow launchers to be stopped multiple times 772* Ignore any exceptions from rpc.cleanup() 773* Add graceful service shutdown support to Launcher 774* Improve usability when backdoor\_port is nonzero 775* Enable hacking H404 test 776* Enable hacking H402 test 777* Enable hacking H401 test 778* Fixes import order nits 779* Add DynamicLoopCall timers to ThreadGroups 780* Pass backdoor\_port to services being launched 781* Improve python3 compatibility 782* Use print\_function \_\_future\_\_ import 783* Improve Python 3.x compatibility 784* Import nova's looping call 785* Copy recent changes in periodic tasks from nova 786* Fix IBM copyright strings 787* Removes unused imports in the tests module 788* update OpenStack, LLC to OpenStack Foundation 789* Add function for listing native threads to eventlet backdoor 790* Use oslo-config-2013.1b3 791* Support for SSL in wsgi.Service 792* Replace direct use of testtools BaseTestCase 793* Use testtools as test base class 794* ThreadGroup remove unused name parameters 795* Implement importutils.try\_import 796* Fix test cases in tests.unit.test\_service 797* Don't rely on os.wait() blocking 798* Use Service thread group for WSGI request handling 799* Make project pyflakes clean 800* Replace try: import with extras.try\_import 801* raise\_on\_error parameter shouldn't be passed to task function 802* Account for tasks duration in LoopingCall delay 803* updating sphinx documentation 804* Enable eventlet\_backdoor to return port 805* Use the ThreadGroup for the Launcher 806* Change RPC cleanup ordering 807* threadgroup : greethread.cancel() should be kill() 808* Use spawn\_n when not capturing return value 809* Make ThreadGroup derived from object to make mocking possible 810* Don't log exceptions for GreenletExit and thread\_done 811* Log CONF from ProcessLauncher.wait, like ServiceLauncher 812* Import order clean-up 813* Added a missing \`cfg\` import in service.py 814* Log config on startup 815* Integrate eventlet backdoor 816* Add the rpc service and delete manager 817* Use pep8 v1.3.3 818* Add threadgroup to manage timers and greenthreads 819* Add basic periodic task infrastructure 820* Add multiprocess service launcher 821* Add signal handling to service launcher 822* Basic service launching infrastructure 823* Move manager.py and service.py into common 824* Copy eventlet\_backdoor into common from nova 825* Copy LoopingCall from nova for service.py 826* initial commit 827* Initial skeleton project 828