Hello community, here is the log from the commit of package python-oslo.log for openSUSE:Factory checked in at 2018-01-17 21:56:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-oslo.log (Old) and /work/SRC/openSUSE:Factory/.python-oslo.log.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.log" Wed Jan 17 21:56:37 2018 rev:10 rq:565769 version:3.36.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-oslo.log/python-oslo.log.changes 2017-08-28 15:29:46.426399753 +0200 +++ /work/SRC/openSUSE:Factory/.python-oslo.log.new/python-oslo.log.changes 2018-01-17 21:56:39.155877258 +0100 @@ -1,0 +2,21 @@ +Mon Jan 15 11:55:42 UTC 2018 - [email protected] + +- update to version 3.36.0 + - Update the documentation link for doc migration + - Add release note for use_json option + - Truncate error_summary if exc_info not explicitly passed + - Update reno for stable/pike + - Remove checks for auth_token in JSON-based formatter tests + - JSONFormatter convert unserializable with repr() + - Remove setting of version/release from releasenotes + - Add option to use JSON formatter + - Imported Translations from Zanata + - Cleanup test-requirements + - Allow logging of unhashable exceptions in Python 3 + - Migrate to Zuul v3 + - Zuul: add file extension to playbook path + - Update the documentation link + - Updated from global requirements + - Capture context in its own key for JSON-based formatters + +------------------------------------------------------------------- Old: ---- oslo.log-3.30.0.tar.gz New: ---- oslo.log-3.36.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-oslo.log.spec ++++++ --- /var/tmp/diff_new_pack.FcF4vJ/_old 2018-01-17 21:56:40.223827303 +0100 +++ /var/tmp/diff_new_pack.FcF4vJ/_new 2018-01-17 21:56:40.251825994 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-oslo.log # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,85 +16,119 @@ # -%global sname oslo.log Name: python-oslo.log -Version: 3.30.0 +Version: 3.36.0 Release: 0 Summary: OpenStack log library License: Apache-2.0 Group: Development/Languages/Python -Url: https://launchpad.net/%{sname} -Source0: https://pypi.io/packages/source/o/%{sname}/%{sname}-%{version}.tar.gz +Url: https://launchpad.net/oslo.log +Source0: https://files.pythonhosted.org/packages/source/o/oslo.log/oslo.log-3.36.0.tar.gz BuildRequires: openstack-macros BuildRequires: python-devel -BuildRequires: python-mock >= 2.0 -BuildRequires: python-monotonic >= 0.6 -BuildRequires: python-oslo.config >= 4.0.0 -BuildRequires: python-oslo.context >= 2.14.0 -BuildRequires: python-oslo.i18n >= 2.1.0 -BuildRequires: python-oslo.serialization >= 1.10.0 -BuildRequires: python-oslo.utils >= 3.20.0 -BuildRequires: python-oslotest >= 1.10.0 -BuildRequires: python-pbr >= 2.0.0 -BuildRequires: python-pyinotify >= 0.9.6 -BuildRequires: python-python-dateutil >= 2.4.2 -BuildRequires: python-python-subunit >= 0.0.18 -BuildRequires: python-six >= 1.9.0 -BuildRequires: python-testrepository >= 0.0.18 -BuildRequires: python-testscenarios >= 0.4 -BuildRequires: python-testtools >= 1.4.0 +BuildRequires: python2-mock >= 2.0.0 +BuildRequires: python2-monotonic >= 0.6 +BuildRequires: python2-oslo.config >= 4.6.0 +BuildRequires: python2-oslo.context >= 2.19.2 +BuildRequires: python2-oslo.i18n >= 3.15.3 +BuildRequires: python2-oslo.serialization >= 2.18.0 +BuildRequires: python2-oslo.utils >= 3.31.0 +BuildRequires: python2-oslotest >= 1.10.0 +BuildRequires: python2-pbr >= 2.0.0 +BuildRequires: python2-pyinotify >= 0.9.6 +BuildRequires: python2-python-dateutil >= 2.4.2 +BuildRequires: python2-python-subunit >= 1.0.0 +BuildRequires: python2-six >= 1.10.0 +BuildRequires: python2-testrepository >= 0.0.18 +BuildRequires: python2-testscenarios >= 0.4 +BuildRequires: python2-testtools >= 2.2.0 +BuildRequires: python3-devel +BuildRequires: python3-mock >= 2.0.0 +BuildRequires: python3-monotonic >= 0.6 +BuildRequires: python3-oslo.config >= 4.6.0 +BuildRequires: python3-oslo.context >= 2.19.2 +BuildRequires: python3-oslo.i18n >= 3.15.3 +BuildRequires: python3-oslo.serialization >= 2.18.0 +BuildRequires: python3-oslo.utils >= 3.31.0 +BuildRequires: python3-oslotest >= 1.10.0 +BuildRequires: python3-pbr >= 2.0.0 +BuildRequires: python3-pyinotify >= 0.9.6 +BuildRequires: python3-python-dateutil >= 2.4.2 +BuildRequires: python3-python-subunit >= 1.0.0 +BuildRequires: python3-six >= 1.10.0 +BuildRequires: python3-testrepository >= 0.0.18 +BuildRequires: python3-testscenarios >= 0.4 +BuildRequires: python3-testtools >= 2.2.0 Requires: python-debtcollector >= 1.2.0 Requires: python-monotonic >= 0.6 -Requires: python-oslo.config >= 4.0.0 -Requires: python-oslo.context >= 2.14.0 -Requires: python-oslo.i18n >= 2.1.0 -Requires: python-oslo.serialization >= 1.10.0 -Requires: python-oslo.utils >= 3.20.0 +Requires: python-oslo.config >= 4.6.0 +Requires: python-oslo.context >= 2.19.2 +Requires: python-oslo.i18n >= 3.15.3 +Requires: python-oslo.serialization >= 2.18.0 +Requires: python-oslo.utils >= 3.31.0 Requires: python-pyinotify >= 0.9.6 Requires: python-python-dateutil >= 2.4.2 -Requires: python-six >= 1.9.0 +Requires: python-six >= 1.10.0 BuildArch: noarch +%if 0%{?suse_version} +Requires(post): update-alternatives +Requires(postun): update-alternatives +%else +# on RDO, update-alternatives is in chkconfig +Requires(post): chkconfig +Requires(postun): chkconfig +%endif +%python_subpackages %description OpenStack logging configuration library provides standardized configuration for all openstack projects.It also provides custom formatters, handlers and support for context specific logging (like resource id's etc). -%package doc +%package -n python-oslo.log-doc Summary: Documentation for OpenStack log library Group: Development/Languages/Python BuildRequires: python-Sphinx -BuildRequires: python-openstackdocstheme >= 1.11.0 +BuildRequires: python-openstackdocstheme >= 1.17.0 -%description doc +%description -n python-oslo.log-doc Documentation for the oslo.log library. %prep -%autosetup -n %{sname}-%{version} -p1 +%autosetup -p1 -n oslo.log-3.36.0 %py_req_cleanup sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg %build -%{py2_build} +%{python_build} # generate html docs %{__python2} setup.py build_sphinx rm -rf doc/build/html/.{doctrees,buildinfo} %install -%{py2_install} +%{python_install} +%python_clone -a %{buildroot}%{_bindir}/convert-json + +%post +%python_install_alternative convert-json + +%postun +%python_uninstall_alternative convert-json %check -testr init && testr run --parallel +%{python_expand rm -rf .testrepository +$python setup.py testr +} -%files +%files %{python_files} %license LICENSE %doc ChangeLog README.rst -%{python2_sitelib}/oslo_log -%{python2_sitelib}/*.egg-info -%{_bindir}/convert-json +%{python_sitelib}/oslo_log +%{python_sitelib}/*.egg-info +%python_alternative %{_bindir}/convert-json -%files doc +%files -n python-oslo.log-doc %license LICENSE %doc doc/build/html ++++++ _service ++++++ --- /var/tmp/diff_new_pack.FcF4vJ/_old 2018-01-17 21:56:40.339821878 +0100 +++ /var/tmp/diff_new_pack.FcF4vJ/_new 2018-01-17 21:56:40.339821878 +0100 @@ -1,8 +1,8 @@ <services> <service mode="disabled" name="renderspec"> - <param name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/pike/openstack/oslo.log/oslo.log.spec.j2</param> + <param name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/master/openstack/oslo.log/oslo.log.spec.j2</param> <param name="output-name">python-oslo.log.spec</param> - <param name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/pike/global-requirements.txt</param> + <param name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/master/requirements.txt</param> <param name="changelog-email">[email protected]</param> <param name="changelog-provider">gh,openstack,oslo.log</param> </service> ++++++ oslo.log-3.30.0.tar.gz -> oslo.log-3.36.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/.zuul.yaml new/oslo.log-3.36.0/.zuul.yaml --- old/oslo.log-3.30.0/.zuul.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo.log-3.36.0/.zuul.yaml 2018-01-08 15:13:47.000000000 +0100 @@ -0,0 +1,21 @@ +- job: + name: oslo.log-src-grenade-devstack + parent: legacy-dsvm-base + voting: false + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^setup.cfg$ + post-run: playbooks/legacy/oslo.log-src-grenade-devstack/post.yaml + required-projects: + - openstack-dev/grenade + - openstack-infra/devstack-gate + - openstack/oslo.log + run: playbooks/legacy/oslo.log-src-grenade-devstack/run.yaml + timeout: 10800 + +- project: + name: openstack/oslo.log + check: + jobs: + - oslo.log-src-grenade-devstack + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/AUTHORS new/oslo.log-3.36.0/AUTHORS --- old/oslo.log-3.30.0/AUTHORS 2017-07-18 15:10:17.000000000 +0200 +++ new/oslo.log-3.36.0/AUTHORS 2018-01-08 15:15:56.000000000 +0100 @@ -55,6 +55,7 @@ Ian Cordasco <[email protected]> Ihar Hrachyshka <[email protected]> James Carey <[email protected]> +James E. Blair <[email protected]> Jamie Lennox <[email protected]> Jason Kölker <[email protected]> Javeme <[email protected]> @@ -71,6 +72,7 @@ Joshua Harlow <[email protected]> Joshua Harlow <[email protected]> Joshua Harlow <[email protected]> +Juan Antonio Osorio Robles <[email protected]> Julien Danjou <[email protected]> Kevin Benton <[email protected]> Kevin Rasmussen <[email protected]> @@ -95,6 +97,7 @@ Min Pae <[email protected]> Monty Taylor <[email protected]> Morgan Fainberg <[email protected]> +Nam Nguyen Hoai <[email protected]> Nataliia Uvarova <[email protected]> OpenStack Release Bot <[email protected]> Pádraig Brady <[email protected]> @@ -128,17 +131,21 @@ Vishvananda Ishaya <[email protected]> Yaguang Tang <[email protected]> YangLei <[email protected]> +Zane Bitter <[email protected]> ZhiQiang Fan <[email protected]> Zhiteng Huang <[email protected]> ZhongShengping <[email protected]> Zhongyue Luo <[email protected]> +Zuul <[email protected]> abhishekkekane <[email protected]> avnish <[email protected]> gecong1973 <[email protected]> gengchc2 <[email protected]> gtt116 <[email protected]> liangjingtao <[email protected]> +lingyongxu <[email protected]> loooosy <[email protected]> +malei <[email protected]> melanie witt <[email protected]> ricolin <[email protected]> sonu.kumar <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/ChangeLog new/oslo.log-3.36.0/ChangeLog --- old/oslo.log-3.30.0/ChangeLog 2017-07-18 15:10:17.000000000 +0200 +++ new/oslo.log-3.36.0/ChangeLog 2018-01-08 15:15:56.000000000 +0100 @@ -1,6 +1,56 @@ CHANGES ======= +3.36.0 +------ + +* Truncate error\_summary if exc\_info not explicitly passed +* Cleanup test-requirements +* Updated from global requirements +* Imported Translations from Zanata + +3.35.0 +------ + +* Updated from global requirements + +3.34.0 +------ + +* Remove setting of version/release from releasenotes +* Updated from global requirements +* Capture context in its own key for JSON-based formatters + +3.33.0 +------ + +* Updated from global requirements +* Remove checks for auth\_token in JSON-based formatter tests +* Add release note for use\_json option +* Add option to use JSON formatter +* Updated from global requirements +* Zuul: add file extension to playbook path +* JSONFormatter convert unserializable with repr() + +3.32.0 +------ + +* Allow logging of unhashable exceptions in Python 3 +* Updated from global requirements +* Migrate to Zuul v3 +* Imported Translations from Zanata +* Updated from global requirements + +3.31.0 +------ + +* Updated from global requirements +* Update the documentation link for doc migration +* Update the documentation link +* Updated from global requirements +* Update reno for stable/pike +* Updated from global requirements + 3.30.0 ------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/PKG-INFO new/oslo.log-3.36.0/PKG-INFO --- old/oslo.log-3.30.0/PKG-INFO 2017-07-18 15:10:18.000000000 +0200 +++ new/oslo.log-3.36.0/PKG-INFO 2018-01-08 15:15:56.000000000 +0100 @@ -1,11 +1,12 @@ Metadata-Version: 1.1 Name: oslo.log -Version: 3.30.0 +Version: 3.36.0 Summary: oslo.log library Home-page: https://docs.openstack.org/oslo.log/latest Author: OpenStack Author-email: [email protected] License: UNKNOWN +Description-Content-Type: UNKNOWN Description: ======================== Team and repository tags ======================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/doc/source/user/examples/_i18n.py new/oslo.log-3.36.0/doc/source/user/examples/_i18n.py --- old/oslo.log-3.30.0/doc/source/user/examples/_i18n.py 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/doc/source/user/examples/_i18n.py 2018-01-08 15:13:47.000000000 +0100 @@ -16,7 +16,7 @@ """A demonstration of oslo.i18n integration module that is used in projects wanting to implement Oslo i18n translation. - See http://docs.openstack.org/developer/oslo.i18n/usage.html + See https://docs.openstack.org/oslo.i18n/latest/user/index.html """ import oslo_i18n diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/doc/source/user/examples/usage.py new/oslo.log-3.36.0/doc/source/user/examples/usage.py --- old/oslo.log-3.30.0/doc/source/user/examples/usage.py 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/doc/source/user/examples/usage.py 2018-01-08 15:13:47.000000000 +0100 @@ -23,7 +23,7 @@ More information about Oslo Logging can be found at: - http://docs.openstack.org/developer/oslo.log/usage.html + https://docs.openstack.org/oslo.log/latest/user/index.html """ from oslo_config import cfg diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/doc/source/user/examples/usage_context.py new/oslo.log-3.36.0/doc/source/user/examples/usage_context.py --- old/oslo.log-3.30.0/doc/source/user/examples/usage_context.py 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/doc/source/user/examples/usage_context.py 2018-01-08 15:13:47.000000000 +0100 @@ -23,8 +23,8 @@ More information about Oslo Logging can be found at: - http://docs.openstack.org/developer/oslo.log/usage.html - http://docs.openstack.org/developer/oslo.context/usage.html + https://docs.openstack.org/oslo.log/latest/user/index.html + https://docs.openstack.org/oslo.context/latest/user/index.html """ from oslo_config import cfg diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/doc/source/user/examples/usage_helper.py new/oslo.log-3.36.0/doc/source/user/examples/usage_helper.py --- old/oslo.log-3.30.0/doc/source/user/examples/usage_helper.py 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/doc/source/user/examples/usage_helper.py 2018-01-08 15:13:47.000000000 +0100 @@ -23,7 +23,7 @@ More information about Oslo Logging can be found at: - http://docs.openstack.org/developer/oslo.log/usage.html + https://docs.openstack.org/oslo.log/latest/user/index.html """ # Use default Python logging to display running output diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/doc/source/user/examples/usage_i18n.py new/oslo.log-3.36.0/doc/source/user/examples/usage_i18n.py --- old/oslo.log-3.30.0/doc/source/user/examples/usage_i18n.py 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/doc/source/user/examples/usage_i18n.py 2018-01-08 15:13:47.000000000 +0100 @@ -22,8 +22,8 @@ More information about Oslo Logging can be found at: - http://docs.openstack.org/developer/oslo.log/usage.html - http://docs.openstack.org/developer/oslo.i18n/usage.html + https://docs.openstack.org/oslo.log/latest/user/index.html + https://docs.openstack.org/oslo.i18n/latest/user/index.html """ from oslo_config import cfg diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/doc/source/user/usage.rst new/oslo.log-3.36.0/doc/source/user/usage.rst --- old/oslo.log-3.30.0/doc/source/user/usage.rst 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/doc/source/user/usage.rst 2018-01-08 15:13:47.000000000 +0100 @@ -88,7 +88,7 @@ Logging within an application should use `Oslo International Utilities (i18n)`_ marker functions to provide language translation capabilities. -.. _Oslo International Utilities (i18n): http://docs.openstack.org/developer/oslo.i18n/ +.. _Oslo International Utilities (i18n): http://docs.openstack.org/oslo.i18n/latest .. literalinclude:: examples/usage_i18n.py :linenos: @@ -100,7 +100,7 @@ With the use of `Oslo Context`_, log records can also contain additional contextual information applicable for your application. -.. _Oslo Context: http://docs.openstack.org/developer/oslo.context/ +.. _Oslo Context: http://docs.openstack.org/oslo.context/latest .. literalinclude:: examples/usage_context.py :linenos: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/oslo.log.egg-info/PKG-INFO new/oslo.log-3.36.0/oslo.log.egg-info/PKG-INFO --- old/oslo.log-3.30.0/oslo.log.egg-info/PKG-INFO 2017-07-18 15:10:17.000000000 +0200 +++ new/oslo.log-3.36.0/oslo.log.egg-info/PKG-INFO 2018-01-08 15:15:56.000000000 +0100 @@ -1,11 +1,12 @@ Metadata-Version: 1.1 Name: oslo.log -Version: 3.30.0 +Version: 3.36.0 Summary: oslo.log library Home-page: https://docs.openstack.org/oslo.log/latest Author: OpenStack Author-email: [email protected] License: UNKNOWN +Description-Content-Type: UNKNOWN Description: ======================== Team and repository tags ======================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/oslo.log.egg-info/SOURCES.txt new/oslo.log-3.36.0/oslo.log.egg-info/SOURCES.txt --- old/oslo.log-3.30.0/oslo.log.egg-info/SOURCES.txt 2017-07-18 15:10:18.000000000 +0200 +++ new/oslo.log-3.36.0/oslo.log.egg-info/SOURCES.txt 2018-01-08 15:15:56.000000000 +0100 @@ -1,6 +1,7 @@ .coveragerc .mailmap .testr.conf +.zuul.yaml AUTHORS CONTRIBUTING.rst ChangeLog @@ -83,16 +84,21 @@ oslo_log/tests/unit/fixture/__init__.py oslo_log/tests/unit/fixture/test_logging_error.py oslo_log/tests/unit/fixture/test_setlevel.py +playbooks/legacy/oslo.log-src-grenade-devstack/post.yaml +playbooks/legacy/oslo.log-src-grenade-devstack/run.yaml releasenotes/notes/.placeholder +releasenotes/notes/add-context-section-0b2f411ec64f42f6.yaml releasenotes/notes/add-reno-e4fedb11ece56f1e.yaml releasenotes/notes/always-add-error-text-715022964364ffa0.yaml releasenotes/notes/info-logging-7b7be9fc7a95aebc.yaml releasenotes/notes/is_debug_enabled-d7afee4c811a46df.yaml +releasenotes/notes/jsonformatter-repr-fd616eb6fa6caeb3.yaml releasenotes/notes/reload_log_config-743817192b1172b6.yaml releasenotes/notes/remove-log-format-b4b949701cee3315.yaml releasenotes/notes/remove-syslog-rfc-format-7a06772c0bb48e9b.yaml releasenotes/notes/remove-verbose-option-d0d1381e182d1be1.yaml releasenotes/notes/systemd-journal-support-fcbc34b3c5ce93ec.yaml +releasenotes/notes/use-json-option-96f71da54a3b9a18.yaml releasenotes/notes/use_stderr_default_false-50d846b88cf2be90.yaml releasenotes/source/conf.py releasenotes/source/index.rst @@ -100,6 +106,7 @@ releasenotes/source/mitaka.rst releasenotes/source/newton.rst releasenotes/source/ocata.rst +releasenotes/source/pike.rst releasenotes/source/unreleased.rst releasenotes/source/_static/.placeholder releasenotes/source/_templates/.placeholder diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/oslo.log.egg-info/pbr.json new/oslo.log-3.36.0/oslo.log.egg-info/pbr.json --- old/oslo.log-3.30.0/oslo.log.egg-info/pbr.json 2017-07-18 15:10:17.000000000 +0200 +++ new/oslo.log-3.36.0/oslo.log.egg-info/pbr.json 2018-01-08 15:15:56.000000000 +0100 @@ -1 +1 @@ -{"git_version": "8bb44cd", "is_release": true} \ No newline at end of file +{"git_version": "e29dc73", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/oslo.log.egg-info/requires.txt new/oslo.log-3.36.0/oslo.log.egg-info/requires.txt --- old/oslo.log-3.30.0/oslo.log.egg-info/requires.txt 2017-07-18 15:10:17.000000000 +0200 +++ new/oslo.log-3.36.0/oslo.log.egg-info/requires.txt 2018-01-08 15:15:56.000000000 +0100 @@ -1,10 +1,10 @@ pbr!=2.1.0,>=2.0.0 -six>=1.9.0 -oslo.config!=4.3.0,!=4.4.0,>=4.0.0 -oslo.context>=2.14.0 -oslo.i18n!=3.15.2,>=2.1.0 -oslo.utils>=3.20.0 -oslo.serialization!=2.19.1,>=1.10.0 +six>=1.10.0 +oslo.config>=5.1.0 +oslo.context>=2.19.2 +oslo.i18n>=3.15.3 +oslo.utils>=3.33.0 +oslo.serialization!=2.19.1,>=2.18.0 debtcollector>=1.2.0 pyinotify>=0.9.6 python-dateutil>=2.4.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/oslo_log/_i18n.py new/oslo.log-3.36.0/oslo_log/_i18n.py --- old/oslo.log-3.30.0/oslo_log/_i18n.py 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/oslo_log/_i18n.py 2018-01-08 15:13:47.000000000 +0100 @@ -14,7 +14,7 @@ """oslo.i18n integration module. -See http://docs.openstack.org/developer/oslo.i18n/usage.html . +See https://docs.openstack.org/oslo.i18n/latest/user/index.html . """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/oslo_log/_options.py new/oslo.log-3.36.0/oslo_log/_options.py --- old/oslo.log-3.30.0/oslo_log/_options.py 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/oslo_log/_options.py 2018-01-08 15:13:47.000000000 +0100 @@ -97,6 +97,10 @@ default='LOG_USER', help='Syslog facility to receive log lines. ' + _IGNORE_MESSAGE), + cfg.BoolOpt('use-json', + default=False, + help='Use JSON formatting for logging. ' + + _IGNORE_MESSAGE), ] generic_log_opts = [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/oslo_log/formatters.py new/oslo.log-3.36.0/oslo_log/formatters.py --- old/oslo.log-3.30.0/oslo_log/formatters.py 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/oslo_log/formatters.py 2018-01-08 15:13:56.000000000 +0100 @@ -12,6 +12,7 @@ import datetime import debtcollector +import functools import itertools import logging import logging.config @@ -32,6 +33,15 @@ from functools import reduce +try: + # Test if to_primitive() has the fallback parameter added + # in oslo.serialization 2.21.1 + jsonutils.to_primitive(1, fallback=repr) + _HAVE_JSONUTILS_FALLBACK = True +except TypeError: + _HAVE_JSONUTILS_FALLBACK = False + + def _dictify_context(context): if getattr(context, 'get_logging_values', None): return context.get_logging_values() @@ -138,17 +148,29 @@ # If we have an exception, format it to be included in the # output. if exc_info: - # Build the exception summary in the line with the - # primary log message, to serve as a mnemonic for error - # and warning cases. - error_summary = traceback.format_exception_only( - exc_info[0], - exc_info[1], - )[0].rstrip() - # Remove the local reference to the exception and - # traceback to avoid a memory leak through the frame - # references. - del exc_info + try: + # Build the exception summary in the line with the + # primary log message, to serve as a mnemonic for error + # and warning cases. + error_summary = traceback.format_exception_only( + exc_info[0], + exc_info[1], + )[0].rstrip() + # If the exc_info wasn't explicitly passed to us, take only the + # first line of it. _Remote exceptions from oslo.messaging append + # the full traceback to the exception message, so we want to avoid + # outputting the traceback unless we've been passed exc_info + # directly (via LOG.exception(), for example). + if not record.exc_info: + error_summary = error_summary.split('\n', 1)[0] + except TypeError as type_err: + # Work around https://bugs.python.org/issue28603 + error_summary = "<exception with %s>" % six.text_type(type_err) + finally: + # Remove the local reference to the exception and + # traceback to avoid a memory leak through the frame + # references. + del exc_info return error_summary @@ -169,7 +191,12 @@ self.hostname = None def formatException(self, ei, strip_newlines=True): - lines = traceback.format_exception(*ei) + try: + lines = traceback.format_exception(*ei) + except TypeError as type_error: + # Work around https://bugs.python.org/issue28603 + msg = six.text_type(type_error) + lines = ['<Unprintable exception due to %s>\n' % msg] if strip_newlines: lines = [moves.filter( lambda x: x, @@ -211,18 +238,33 @@ for key in getattr(record, 'extra_keys', []): if key not in extra: extra[key] = getattr(record, key) - # If we saved a context object, explode it into the extra - # dictionary because the values are more useful than the + # The context object might have been given from the logging call. if + # that was the case, it'll come in the 'extra' entry already. If not, + # lets use the context we fetched above. In either case, we explode it + # into the 'context' entry because the values are more useful than the # object reference. - if 'context' in extra: - extra.update(_dictify_context(context)) - del extra['context'] + if 'context' in extra and extra['context']: + message['context'] = _dictify_context(extra['context']) + elif context: + message['context'] = _dictify_context(context) + else: + message['context'] = {} + extra.pop('context', None) message['extra'] = extra if record.exc_info: message['traceback'] = self.formatException(record.exc_info) - return jsonutils.dumps(message) + if _HAVE_JSONUTILS_FALLBACK: + # Bug #1593641: If an object cannot be serialized to JSON, convert + # it using repr() to prevent serialization errors. Using repr() is + # not ideal, but serialization errors are unexpected on logs, + # especially when the code using logs is not aware that the + # JSONFormatter will be used. + convert = functools.partial(jsonutils.to_primitive, fallback=repr) + return jsonutils.dumps(message, default=convert) + else: + return jsonutils.dumps(message) class FluentFormatter(logging.Formatter): @@ -245,7 +287,12 @@ self.hostname = None def formatException(self, exc_info, strip_newlines=True): - lines = traceback.format_exception(*exc_info) + try: + lines = traceback.format_exception(*exc_info) + except TypeError as type_error: + # Work around https://bugs.python.org/issue28603 + msg = six.text_type(type_error) + lines = ['<Unprintable exception due to %s>\n' % msg] if strip_newlines: lines = reduce(lambda a, line: a + line.rstrip().splitlines(), lines, []) @@ -275,12 +322,18 @@ for key in getattr(record, 'extra_keys', []): if key not in extra: extra[key] = getattr(record, key) - # If we saved a context object, explode it into the extra - # dictionary because the values are more useful than the + # The context object might have been given from the logging call. if + # that was the case, it'll come in the 'extra' entry already. If not, + # lets use the context we fetched above. In either case, we explode it + # into the extra dictionary because the values are more useful than the # object reference. - if 'context' in extra: - extra.update(_dictify_context(context)) - del extra['context'] + if 'context' in extra and extra['context']: + message['context'] = _dictify_context(extra['context']) + elif context: + message['context'] = _dictify_context(context) + else: + message['context'] = {} + extra.pop('context', None) message['extra'] = extra if record.exc_info: @@ -450,11 +503,22 @@ def formatException(self, exc_info, record=None): """Format exception output with CONF.logging_exception_prefix.""" if not record: - return logging.Formatter.formatException(self, exc_info) + try: + return logging.Formatter.formatException(self, exc_info) + except TypeError as type_error: + # Work around https://bugs.python.org/issue28603 + msg = six.text_type(type_error) + return '<Unprintable exception due to %s>\n' % msg stringbuffer = moves.StringIO() - traceback.print_exception(exc_info[0], exc_info[1], exc_info[2], - None, stringbuffer) + try: + traceback.print_exception(exc_info[0], exc_info[1], exc_info[2], + None, stringbuffer) + except TypeError as type_error: + # Work around https://bugs.python.org/issue28603 + msg = six.text_type(type_error) + stringbuffer.write('<Unprintable exception due to %s>\n' % msg) + lines = stringbuffer.getvalue().split('\n') stringbuffer.close() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/oslo_log/log.py new/oslo.log-3.36.0/oslo_log/log.py --- old/oslo.log-3.30.0/oslo_log/log.py 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/oslo_log/log.py 2018-01-08 15:13:47.000000000 +0100 @@ -383,11 +383,15 @@ log_root.addHandler(syslog_handler) datefmt = conf.log_date_format - for handler in log_root.handlers: - handler.setFormatter(formatters.ContextFormatter(project=project, - version=version, - datefmt=datefmt, - config=conf)) + if not conf.use_json: + for handler in log_root.handlers: + handler.setFormatter(formatters.ContextFormatter(project=project, + version=version, + datefmt=datefmt, + config=conf)) + else: + for handler in log_root.handlers: + handler.setFormatter(formatters.JSONFormatter(datefmt=datefmt)) _refresh_root_level(conf.debug) for pair in conf.default_log_levels: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/oslo_log/tests/unit/test_formatters.py new/oslo.log-3.36.0/oslo_log/tests/unit/test_formatters.py --- old/oslo.log-3.30.0/oslo_log/tests/unit/test_formatters.py 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/oslo_log/tests/unit/test_formatters.py 2018-01-08 15:13:47.000000000 +0100 @@ -16,8 +16,14 @@ import mock +import logging +import sys + +from oslo_config import cfg +from oslo_config import fixture as config_fixture from oslo_context import context from oslo_log import formatters +from oslo_log import log from oslotest import base as test_base @@ -83,3 +89,55 @@ 'method should be defined for logging context specific ' 'information. The to_dict() method is deprecated ' 'for oslo.log use.', removal_version='5.0.0', version='3.8.0') + + +# Test for https://bugs.python.org/issue28603 +class FormatUnhashableExceptionTest(test_base.BaseTestCase): + def setUp(self): + super(FormatUnhashableExceptionTest, self).setUp() + self.config_fixture = self.useFixture( + config_fixture.Config(cfg.ConfigOpts())) + self.conf = self.config_fixture.conf + log.register_options(self.conf) + + def _unhashable_exception_info(self): + class UnhashableException(Exception): + __hash__ = None + + try: + raise UnhashableException() + except UnhashableException: + return sys.exc_info() + + def test_error_summary(self): + exc_info = self._unhashable_exception_info() + record = logging.LogRecord('test', logging.ERROR, 'test', 0, + 'test message', [], exc_info) + err_summary = formatters._get_error_summary(record) + self.assertTrue(err_summary) + + def test_json_format_exception(self): + exc_info = self._unhashable_exception_info() + formatter = formatters.JSONFormatter() + tb = ''.join(formatter.formatException(exc_info)) + self.assertTrue(tb) + + def test_fluent_format_exception(self): + exc_info = self._unhashable_exception_info() + formatter = formatters.FluentFormatter() + tb = formatter.formatException(exc_info) + self.assertTrue(tb) + + def test_context_format_exception_norecord(self): + exc_info = self._unhashable_exception_info() + formatter = formatters.ContextFormatter(config=self.conf) + tb = formatter.formatException(exc_info) + self.assertTrue(tb) + + def test_context_format_exception(self): + exc_info = self._unhashable_exception_info() + formatter = formatters.ContextFormatter(config=self.conf) + record = logging.LogRecord('test', logging.ERROR, 'test', 0, + 'test message', [], exc_info) + tb = formatter.format(record) + self.assertTrue(tb) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/oslo_log/tests/unit/test_log.py new/oslo.log-3.36.0/oslo_log/tests/unit/test_log.py --- old/oslo.log-3.30.0/oslo_log/tests/unit/test_log.py 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/oslo_log/tests/unit/test_log.py 2018-01-08 15:13:56.000000000 +0100 @@ -415,19 +415,38 @@ formatter=formatters.JSONFormatter) self._set_log_level_with_cleanup(self.log, logging.DEBUG) - def test_json(self): + def test_json_w_context_in_extras(self): test_msg = 'This is a %(test)s line' test_data = {'test': 'log'} local_context = _fake_context() self.log.debug(test_msg, test_data, key='value', context=local_context) + self._validate_json_data('test_json_w_context_in_extras', test_msg, + test_data, local_context) + def test_json_w_fetched_global_context(self): + test_msg = 'This is a %(test)s line' + test_data = {'test': 'log'} + local_context = _fake_context() + # NOTE we're not passing the context explicitly here. But it'll add the + # context to the extras anyway since the call to fake_context adds the + # context to the thread. The context will be fetched with the + # _update_record_with_context call that's done in the formatter. + self.log.debug(test_msg, test_data, key='value') + self._validate_json_data('test_json_w_fetched_global_context', + test_msg, test_data, local_context) + + def _validate_json_data(self, testname, test_msg, test_data, ctx): data = jsonutils.loads(self.stream.getvalue()) self.assertTrue(data) self.assertIn('extra', data) + self.assertIn('context', data) extra = data['extra'] + context = data['context'] + self.assertNotIn('context', extra) self.assertEqual('value', extra['key']) - self.assertEqual(local_context.auth_token, extra['auth_token']) - self.assertEqual(local_context.user, extra['user']) + self.assertEqual(ctx.user, context['user']) + self.assertEqual(ctx.user_name, context['user_name']) + self.assertEqual(ctx.project_name, context['project_name']) self.assertEqual('test-json', data['name']) self.assertEqual(test_msg % test_data, data['message']) @@ -435,7 +454,7 @@ self.assertEqual(test_data, data['args']) self.assertEqual('test_log.py', data['filename']) - self.assertEqual('test_json', data['funcname']) + self.assertEqual(testname, data['funcname']) self.assertEqual('DEBUG', data['levelname']) self.assertEqual(logging.DEBUG, data['levelno']) @@ -522,6 +541,52 @@ self.assertIn('error_summary', data) self.assertEqual('', data['error_summary']) + def test_exception_without_exc_info_passed(self): + ctxt = _fake_context() + ctxt.request_id = six.text_type('99') + try: + raise RuntimeError('test_exception\ntraceback\nfrom\nremote error') + except RuntimeError: + self.log.warning('testing', context=ctxt) + data = jsonutils.loads(self.stream.getvalue()) + self.assertIn('error_summary', data) + self.assertEqual('RuntimeError: test_exception', data['error_summary']) + + def test_exception_with_exc_info_passed(self): + ctxt = _fake_context() + ctxt.request_id = six.text_type('99') + try: + raise RuntimeError('test_exception\ntraceback\nfrom\nremote error') + except RuntimeError: + self.log.exception('testing', context=ctxt) + data = jsonutils.loads(self.stream.getvalue()) + self.assertIn('error_summary', data) + self.assertEqual('RuntimeError: test_exception' + '\ntraceback\nfrom\nremote error', + data['error_summary']) + + def test_fallback(self): + if not formatters._HAVE_JSONUTILS_FALLBACK: + self.skipTest("need the fallback parameter of " + "jsonutils.to_primitive() added in " + "oslo_serialization 2.21.1") + + class MyObject(object): + def __str__(self): + return 'str' + + def __repr__(self): + return 'repr' + + obj = MyObject() + self.log.debug('obj=%s', obj) + + data = jsonutils.loads(self.stream.getvalue()) + self.assertEqual('obj=str', data['message']) + # Bug #1593641: If an object of record.args cannot be serialized, + # convert it using repr() to prevent serialization error on logging. + self.assertEqual(['repr'], data['args']) + def get_fake_datetime(retval): class FakeDateTime(datetime.datetime): @@ -564,9 +629,9 @@ self.assertIn('lineno', data) self.assertIn('extra', data) extra = data['extra'] + context = data['context'] self.assertEqual('value', extra['key']) - self.assertEqual(local_context.auth_token, extra['auth_token']) - self.assertEqual(local_context.user, extra['user']) + self.assertEqual(local_context.user, context['user']) self.assertEqual('test-fluent', data['name']) self.assertEqual(test_msg % test_data, data['message']) @@ -1496,6 +1561,7 @@ self.CONF.log_date_format) self.assertEqual(False, self.CONF.use_syslog) + self.assertEqual(False, self.CONF.use_json) def test_log_file(self): log_file = '/some/path/foo-bar.log' @@ -1553,6 +1619,15 @@ self.assertIsInstance(formatter, formatters.ContextFormatter) + def test_json_formatter(self): + self.CONF(['--use-json']) + log._setup_logging_from_conf(self.CONF, 'test', 'test') + logger = log._loggers[None].logger + for handler in logger.handlers: + formatter = handler.formatter + self.assertIsInstance(formatter, + formatters.JSONFormatter) + def test_handlers_cleanup(self): """Test that all old handlers get removed from log_root.""" old_handlers = [log.handlers.ColorHandler(), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/playbooks/legacy/oslo.log-src-grenade-devstack/post.yaml new/oslo.log-3.36.0/playbooks/legacy/oslo.log-src-grenade-devstack/post.yaml --- old/oslo.log-3.30.0/playbooks/legacy/oslo.log-src-grenade-devstack/post.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo.log-3.36.0/playbooks/legacy/oslo.log-src-grenade-devstack/post.yaml 2018-01-08 15:13:47.000000000 +0100 @@ -0,0 +1,15 @@ +- hosts: primary + tasks: + + - name: Copy files from {{ ansible_user_dir }}/workspace/ on node + synchronize: + src: '{{ ansible_user_dir }}/workspace/' + dest: '{{ zuul.executor.log_root }}' + mode: pull + copy_links: true + verify_host: true + rsync_opts: + - --include=/logs/** + - --include=*/ + - --exclude=* + - --prune-empty-dirs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/playbooks/legacy/oslo.log-src-grenade-devstack/run.yaml new/oslo.log-3.36.0/playbooks/legacy/oslo.log-src-grenade-devstack/run.yaml --- old/oslo.log-3.30.0/playbooks/legacy/oslo.log-src-grenade-devstack/run.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo.log-3.36.0/playbooks/legacy/oslo.log-src-grenade-devstack/run.yaml 2018-01-08 15:13:47.000000000 +0100 @@ -0,0 +1,50 @@ +- hosts: all + name: Autoconverted job legacy-oslo.log-src-grenade-dsvm from old job gate-oslo.log-src-grenade-dsvm-ubuntu-xenial-nv + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + cat > clonemap.yaml << EOF + clonemap: + - name: openstack-infra/devstack-gate + dest: devstack-gate + EOF + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-infra/devstack-gate + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PROJECTS="openstack-dev/grenade $PROJECTS" + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_GRENADE=pullup + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export DEVSTACK_PROJECT_FROM_GIT=$ZUUL_SHORT_PROJECT_NAME + + # Even if the branch is overridden, make sure we use + # the correct branch using the OVERRIDE_*_PROJECT_BRANCH + # variable. + uc_project=`echo $DEVSTACK_PROJECT_FROM_GIT | tr [:lower:] [:upper:] | tr '-' '_' | sed 's/[^A-Z_]//'` + export "OVERRIDE_"$uc_project"_PROJECT_BRANCH"=$ZUUL_BRANCH + + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/releasenotes/notes/add-context-section-0b2f411ec64f42f6.yaml new/oslo.log-3.36.0/releasenotes/notes/add-context-section-0b2f411ec64f42f6.yaml --- old/oslo.log-3.30.0/releasenotes/notes/add-context-section-0b2f411ec64f42f6.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo.log-3.36.0/releasenotes/notes/add-context-section-0b2f411ec64f42f6.yaml 2018-01-08 15:13:47.000000000 +0100 @@ -0,0 +1,6 @@ +--- +features: + - | + The JSON based formatters (namely JSONFormatter and FluentFormatter) now + output an extra section called 'context' that contains the context-related + keys and values, e.g. user, project and domain. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/releasenotes/notes/jsonformatter-repr-fd616eb6fa6caeb3.yaml new/oslo.log-3.36.0/releasenotes/notes/jsonformatter-repr-fd616eb6fa6caeb3.yaml --- old/oslo.log-3.30.0/releasenotes/notes/jsonformatter-repr-fd616eb6fa6caeb3.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo.log-3.36.0/releasenotes/notes/jsonformatter-repr-fd616eb6fa6caeb3.yaml 2018-01-08 15:13:47.000000000 +0100 @@ -0,0 +1,6 @@ +--- +fixes: + - | + The JSONFormatter formatter now converts unserializable objects with + repr() to prevent JSON serialization errors on logging. The fix requires + oslo.serialization 2.21.1 or newer. (Bug #1593641) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/releasenotes/notes/use-json-option-96f71da54a3b9a18.yaml new/oslo.log-3.36.0/releasenotes/notes/use-json-option-96f71da54a3b9a18.yaml --- old/oslo.log-3.30.0/releasenotes/notes/use-json-option-96f71da54a3b9a18.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo.log-3.36.0/releasenotes/notes/use-json-option-96f71da54a3b9a18.yaml 2018-01-08 15:13:47.000000000 +0100 @@ -0,0 +1,6 @@ +--- +features: + - | + The use_json configuration option was added. It enables JSON formatting in + the logs when set to True. The option is also available through the command + line via the ``--use-json`` flag. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/releasenotes/source/conf.py new/oslo.log-3.36.0/releasenotes/source/conf.py --- old/oslo.log-3.30.0/releasenotes/source/conf.py 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/releasenotes/source/conf.py 2018-01-08 15:13:47.000000000 +0100 @@ -59,16 +59,12 @@ project = u'oslo.log Release Notes' copyright = u'2016, oslo.log Developers' -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -from oslo_log.version import version_info as oslo_log_version +# Release notes do not need a version in the title, they span +# multiple versions. # The full version, including alpha/beta/rc tags. -release = oslo_log_version.version_string_with_vcs() +release = '' # The short X.Y version. -version = oslo_log_version.canonical_version_string() +version = '' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/releasenotes/source/index.rst new/oslo.log-3.36.0/releasenotes/source/index.rst --- old/oslo.log-3.30.0/releasenotes/source/index.rst 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/releasenotes/source/index.rst 2018-01-08 15:13:47.000000000 +0100 @@ -6,6 +6,7 @@ :maxdepth: 1 unreleased + pike ocata newton mitaka diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po new/oslo.log-3.36.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po --- old/oslo.log-3.30.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po 2018-01-08 15:13:47.000000000 +0100 @@ -1,43 +1,135 @@ # Andi Chandler <[email protected]>, 2016. #zanata +# Andi Chandler <[email protected]>, 2017. #zanata msgid "" msgstr "" -"Project-Id-Version: oslo.log Release Notes 3.11.1\n" +"Project-Id-Version: oslo.log Release Notes\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-07-01 03:32+0000\n" +"POT-Creation-Date: 2017-11-30 11:20+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-06-28 05:55+0000\n" +"PO-Revision-Date: 2017-12-05 10:30+0000\n" "Last-Translator: Andi Chandler <[email protected]>\n" "Language-Team: English (United Kingdom)\n" "Language: en-GB\n" -"X-Generator: Zanata 3.7.3\n" +"X-Generator: Zanata 3.9.6\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" msgid "3.1.0" msgstr "3.1.0" +msgid "3.12.0" +msgstr "3.12.0" + +msgid "3.17.0" +msgstr "3.17.0" + msgid "3.2.0" msgstr "3.2.0" +msgid "3.21.0" +msgstr "3.21.0" + +msgid "3.24.0" +msgstr "3.24.0" + +msgid "3.27.0" +msgstr "3.27.0" + +msgid "3.33.0" +msgstr "3.33.0" + +msgid "3.34.0" +msgstr "3.34.0" + +msgid "3.34.0-2" +msgstr "3.34.0-2" + msgid "3.8.0" msgstr "3.8.0" +msgid "" +"A new ``oslo_log.log.is_debug_enabled`` helper function is added that allows " +"to determine whether debug mode is enabled for logging." +msgstr "" +"A new ``oslo_log.log.is_debug_enabled`` helper function is added that allows " +"to determine whether debug mode is enabled for logging." + msgid "Bug Fixes" msgstr "Bug Fixes" +msgid "" +"Configuration option `use_stderr`'s default value is False now, this will " +"avoid same logs on service log and specific log file by option --log-file." +msgstr "" +"Configuration option `use_stderr`'s default value is False now, this will " +"avoid same logs on service log and specific log file by option --log-file." + +msgid "" +"If the log format string includes ``%(error_summary)s``, it will be replaced " +"with a summary of the current error when there is one and with \"``-``\" " +"when there is no error. If the log format string does not include ``" +"%(error_summary)s`` the error summary will be appended to the end of the " +"line automatically, only if there is an error." +msgstr "" +"If the log format string includes ``%(error_summary)s``, it will be replaced " +"with a summary of the current error when there is one and with \"``-``\" " +"when there is no error. If the log format string does not include ``" +"%(error_summary)s`` the error summary will be appended to the end of the " +"line automatically, only if there is an error." + msgid "Liberty Series Release Notes" msgstr "Liberty Series Release Notes" msgid "Mitaka Series Release Notes" msgstr "Mitaka Series Release Notes" +msgid "New Features" +msgstr "New Features" + +msgid "Newton Series Release Notes" +msgstr "Newton Series Release Notes" + +msgid "Ocata Series Release Notes" +msgstr "Ocata Series Release Notes" + msgid "Other Notes" msgstr "Other Notes" +msgid "Pike Series Release Notes" +msgstr "Pike Series Release Notes" + msgid "Switch to reno for managing release notes." msgstr "Switch to reno for managing release notes." +msgid "" +"Systemd native journal support is added. You can enable this in services " +"with the ``use_journal`` flag." +msgstr "" +"Systemd native journal support is added. You can enable this in services " +"with the ``use_journal`` flag." + +msgid "" +"The JSON based formatters (namely JSONFormatter and FluentFormatter) now " +"output an extra section called 'context' that contains the context-related " +"keys and values, e.g. user, project and domain." +msgstr "" +"The JSON based formatters (namely JSONFormatter and FluentFormatter) now " +"output an extra section called 'context' that contains the context-related " +"keys and values, e.g. user, project and domain." + +msgid "" +"The JSONFormatter formatter now converts unserializable objects with repr() " +"to prevent JSON serialization errors on logging. The fix requires oslo." +"serialization 2.21.1 or newer. (Bug #1593641)" +msgstr "" +"The JSONFormatter formatter now converts unserialisable objects with repr() " +"to prevent JSON serialization errors on logging. The fix requires oslo." +"serialisation 2.21.1 or newer. (Bug #1593641)" + +msgid "The deprecated 'verbose' option has been removed." +msgstr "The deprecated 'verbose' option has been removed." + msgid "The deprecated log_format configuration option has been removed." msgstr "The deprecated log_format configuration option has been removed." @@ -46,6 +138,24 @@ msgstr "" "The deprecated use_syslog_rfc_format configuration option has been removed." +msgid "" +"The log_config_append configuration option is now mutable and the logging " +"settings it controls are reconfigured when the configuration file is reread. " +"This can be used to, for example, change logger or handler levels." +msgstr "" +"The log_config_append configuration option is now mutable and the logging " +"settings it controls are reconfigured when the configuration file is re-" +"read. This can be used to, for example, change logger or handler levels." + +msgid "" +"The use_json configuration option was added. It enables JSON formatting in " +"the logs when set to True. The option is also available through the command " +"line via the ``--use-json`` flag." +msgstr "" +"The use_json configuration option was added. It enables JSON formatting in " +"the logs when set to True. The option is also available through the command " +"line via the ``--use-json`` flag." + msgid "Unreleased Release Notes" msgstr "Unreleased Release Notes" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/releasenotes/source/locale/fr/LC_MESSAGES/releasenotes.po new/oslo.log-3.36.0/releasenotes/source/locale/fr/LC_MESSAGES/releasenotes.po --- old/oslo.log-3.30.0/releasenotes/source/locale/fr/LC_MESSAGES/releasenotes.po 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/releasenotes/source/locale/fr/LC_MESSAGES/releasenotes.po 2018-01-08 15:13:47.000000000 +0100 @@ -1,9 +1,9 @@ # Gérald LONLAS <[email protected]>, 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: oslo.log Release Notes 3.16.1\n" +"Project-Id-Version: oslo.log Release Notes 3.31.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-10-13 11:46+0000\n" +"POT-Creation-Date: 2017-09-20 20:50+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -11,7 +11,7 @@ "Last-Translator: Gérald LONLAS <[email protected]>\n" "Language-Team: French\n" "Language: fr\n" -"X-Generator: Zanata 3.7.3\n" +"X-Generator: Zanata 3.9.6\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" msgid "3.1.0" @@ -20,9 +20,6 @@ msgid "3.12.0" msgstr "3.12.0" -msgid "3.16.0-24" -msgstr "3.16.0-24" - msgid "3.2.0" msgstr "3.2.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/releasenotes/source/pike.rst new/oslo.log-3.36.0/releasenotes/source/pike.rst --- old/oslo.log-3.30.0/releasenotes/source/pike.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo.log-3.36.0/releasenotes/source/pike.rst 2018-01-08 15:13:47.000000000 +0100 @@ -0,0 +1,6 @@ +=================================== + Pike Series Release Notes +=================================== + +.. release-notes:: + :branch: stable/pike diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/requirements.txt new/oslo.log-3.36.0/requirements.txt --- old/oslo.log-3.30.0/requirements.txt 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/requirements.txt 2018-01-08 15:13:47.000000000 +0100 @@ -3,12 +3,12 @@ # process, which may cause wedges in the gate later. pbr!=2.1.0,>=2.0.0 # Apache-2.0 -six>=1.9.0 # MIT -oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0 -oslo.context>=2.14.0 # Apache-2.0 -oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0 -oslo.utils>=3.20.0 # Apache-2.0 -oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0 +six>=1.10.0 # MIT +oslo.config>=5.1.0 # Apache-2.0 +oslo.context>=2.19.2 # Apache-2.0 +oslo.i18n>=3.15.3 # Apache-2.0 +oslo.utils>=3.33.0 # Apache-2.0 +oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0 debtcollector>=1.2.0 # Apache-2.0 pyinotify>=0.9.6;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT python-dateutil>=2.4.2 # BSD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-3.30.0/test-requirements.txt new/oslo.log-3.36.0/test-requirements.txt --- old/oslo.log-3.30.0/test-requirements.txt 2017-07-18 15:08:02.000000000 +0200 +++ new/oslo.log-3.36.0/test-requirements.txt 2018-01-08 15:13:56.000000000 +0100 @@ -4,10 +4,9 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 -python-subunit>=0.0.18 # Apache-2.0/BSD testrepository>=0.0.18 # Apache-2.0/BSD -testtools>=1.4.0 # MIT -mock>=2.0 # BSD +testtools>=2.2.0 # MIT +mock>=2.0.0 # BSD oslotest>=1.10.0 # Apache-2.0 # when we can require tox>= 1.4, this can go into tox.ini: @@ -17,8 +16,8 @@ # this is required for the docs build jobs sphinx>=1.6.2 # BSD -openstackdocstheme>=1.11.0 # Apache-2.0 -reno!=2.3.1,>=1.8.0 # Apache-2.0 +openstackdocstheme>=1.17.0 # Apache-2.0 +reno>=2.5.0 # Apache-2.0 # Bandit security code scanner bandit>=1.1.0 # Apache-2.0
