Hello community,

here is the log from the commit of package python-osprofiler for 
openSUSE:Factory checked in at 2018-02-27 16:57:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-osprofiler (Old)
 and      /work/SRC/openSUSE:Factory/.python-osprofiler.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-osprofiler"

Tue Feb 27 16:57:17 2018 rev:6 rq:579518 version:1.15.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-osprofiler/python-osprofiler.changes      
2018-01-17 21:56:41.491767995 +0100
+++ /work/SRC/openSUSE:Factory/.python-osprofiler.new/python-osprofiler.changes 
2018-02-27 16:57:19.361419045 +0100
@@ -1,0 +2,20 @@
+Fri Feb 23 13:30:57 UTC 2018 - cloud-de...@suse.de
+
+- update to version 1.15.2
+  - Update .gitreview for stable/queens
+  - Check profiler instance before initialize
+- Switch to stable/queens spec template
+
+-------------------------------------------------------------------
+Tue Jan 30 15:15:33 UTC 2018 - cloud-de...@suse.de
+
+- update to version 1.15.1
+  - Add kwargs to WsgiMiddleware __init__
+  - Add functional test for Redis driver
+  - Add Zuul job for functional testing
+  - Remove setting of version/release from releasenotes
+  - Make collector configurable in DevStack plugin
+  - Add filter for OSprofiler html output
+  - Update the invalid doc links to the right ones in osprofiler docs
+
+-------------------------------------------------------------------

Old:
----
  osprofiler-1.14.0.tar.gz

New:
----
  osprofiler-1.15.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-osprofiler.spec ++++++
--- /var/tmp/diff_new_pack.kkU54n/_old  2018-02-27 16:57:20.729369618 +0100
+++ /var/tmp/diff_new_pack.kkU54n/_new  2018-02-27 16:57:20.733369474 +0100
@@ -17,13 +17,13 @@
 
 
 Name:           python-osprofiler
-Version:        1.14.0
+Version:        1.15.2
 Release:        0
 Summary:        OpenStack Profiler Library
 License:        Apache-2.0
 Group:          Development/Languages/Python
 Url:            https://launchpad.net/osprofiler
-Source0:        
https://files.pythonhosted.org/packages/source/o/osprofiler/osprofiler-1.14.0.tar.gz
+Source0:        
https://files.pythonhosted.org/packages/source/o/osprofiler/osprofiler-1.15.2.tar.gz
 BuildRequires:  openstack-macros
 BuildRequires:  python-devel
 BuildRequires:  python2-WebOb >= 1.7.1
@@ -31,10 +31,10 @@
 BuildRequires:  python2-ddt >= 1.0.1
 BuildRequires:  python2-elasticsearch >= 2.0.0
 BuildRequires:  python2-mock >= 2.0.0
-BuildRequires:  python2-oslo.concurrency >= 3.20.0
-BuildRequires:  python2-oslo.config >= 4.6.0
-BuildRequires:  python2-oslo.log >= 3.30.0
-BuildRequires:  python2-oslo.utils >= 3.31.0
+BuildRequires:  python2-oslo.concurrency >= 3.25.0
+BuildRequires:  python2-oslo.config >= 5.1.0
+BuildRequires:  python2-oslo.log >= 3.36.0
+BuildRequires:  python2-oslo.utils >= 3.33.0
 BuildRequires:  python2-pymongo >= 3.0.2
 BuildRequires:  python2-python-subunit >= 1.0.0
 BuildRequires:  python2-redis >= 2.10.0
@@ -47,10 +47,10 @@
 BuildRequires:  python3-devel
 BuildRequires:  python3-elasticsearch >= 2.0.0
 BuildRequires:  python3-mock >= 2.0.0
-BuildRequires:  python3-oslo.concurrency >= 3.20.0
-BuildRequires:  python3-oslo.config >= 4.6.0
-BuildRequires:  python3-oslo.log >= 3.30.0
-BuildRequires:  python3-oslo.utils >= 3.31.0
+BuildRequires:  python3-oslo.concurrency >= 3.25.0
+BuildRequires:  python3-oslo.config >= 5.1.0
+BuildRequires:  python3-oslo.log >= 3.36.0
+BuildRequires:  python3-oslo.utils >= 3.33.0
 BuildRequires:  python3-pymongo >= 3.0.2
 BuildRequires:  python3-python-subunit >= 1.0.0
 BuildRequires:  python3-redis >= 2.10.0
@@ -58,10 +58,10 @@
 BuildRequires:  python3-testrepository >= 0.0.18
 BuildRequires:  python3-testtools >= 2.2.0
 Requires:       python-WebOb >= 1.7.1
-Requires:       python-oslo.concurrency >= 3.20.0
-Requires:       python-oslo.config >= 4.6.0
-Requires:       python-oslo.log >= 3.30.0
-Requires:       python-oslo.utils >= 3.31.0
+Requires:       python-oslo.concurrency >= 3.25.0
+Requires:       python-oslo.config >= 5.1.0
+Requires:       python-oslo.log >= 3.36.0
+Requires:       python-oslo.utils >= 3.33.0
 Requires:       python-six >= 1.10.0
 BuildArch:      noarch
 %if 0%{?suse_version}
@@ -86,13 +86,13 @@
 Summary:        Documentation for OSProfiler
 Group:          Development/Languages/Python
 BuildRequires:  python-Sphinx
-BuildRequires:  python-openstackdocstheme >= 1.17.0
+BuildRequires:  python-openstackdocstheme >= 1.18.1
 
 %description -n python-osprofiler-doc
 Documentation for OSProfiler.
 
 %prep
-%autosetup -p1 -n osprofiler-1.14.0
+%autosetup -p1 -n osprofiler-1.15.2
 %py_req_cleanup
 sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.kkU54n/_old  2018-02-27 16:57:20.765368317 +0100
+++ /var/tmp/diff_new_pack.kkU54n/_new  2018-02-27 16:57:20.765368317 +0100
@@ -1,8 +1,8 @@
 <services>
   <service mode="disabled" name="renderspec">
-    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/master/openstack/osprofiler/osprofiler.spec.j2</param>
+    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/queens/openstack/osprofiler/osprofiler.spec.j2</param>
     <param name="output-name">python-osprofiler.spec</param>
-    <param 
name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/master/requirements.txt</param>
+    <param 
name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/queens/requirements.txt</param>
     <param name="changelog-email">cloud-de...@suse.de</param>
     <param name="changelog-provider">gh,openstack,osprofiler</param>
   </service>

++++++ osprofiler-1.14.0.tar.gz -> osprofiler-1.15.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/.zuul.yaml 
new/osprofiler-1.15.2/.zuul.yaml
--- old/osprofiler-1.14.0/.zuul.yaml    1970-01-01 01:00:00.000000000 +0100
+++ new/osprofiler-1.15.2/.zuul.yaml    2018-02-14 21:46:00.000000000 +0100
@@ -0,0 +1,10 @@
+- project:
+    name: openstack/osprofiler
+    check:
+      jobs:
+        - openstack-tox-functional
+        - openstack-tox-functional-py35
+    gate:
+      jobs:
+        - openstack-tox-functional
+        - openstack-tox-functional-py35
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/AUTHORS 
new/osprofiler-1.15.2/AUTHORS
--- old/osprofiler-1.14.0/AUTHORS       2017-11-13 16:32:10.000000000 +0100
+++ new/osprofiler-1.15.2/AUTHORS       2018-02-14 21:47:44.000000000 +0100
@@ -2,6 +2,7 @@
 Akihiro Motoki <amot...@gmail.com>
 Alexander Ignatyev <aignat...@mirantis.com>
 Alexey Yelistratov <ayelistra...@mirantis.com>
+Andreas Jaeger <a...@suse.com>
 Andreas Jaeger <a...@suse.de>
 Andrey Kurilin <akuri...@mirantis.com>
 Atsushi SAKAI <sak...@jp.fujitsu.com>
@@ -47,5 +48,6 @@
 reedip <reedip.baner...@nectechnologies.in>
 ricolin <rico....@easystack.cn>
 ritesh.arya <ritesh.a...@nectechnologies.in>
+shangxiaobj <shangxia...@inspur.com>
 uppi <helend...@gmail.com>
 wangxiyuan <wangxiy...@huawei.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/CONTRIBUTING.rst 
new/osprofiler-1.15.2/CONTRIBUTING.rst
--- old/osprofiler-1.14.0/CONTRIBUTING.rst      2017-11-13 16:29:18.000000000 
+0100
+++ new/osprofiler-1.15.2/CONTRIBUTING.rst      2018-02-14 21:45:38.000000000 
+0100
@@ -1,16 +1,16 @@
 If you would like to contribute to the development of OpenStack,
 you must follow the steps in this page:
 
-   http://docs.openstack.org/infra/manual/developers.html
+   https://docs.openstack.org/infra/manual/developers.html
 
 Once those steps have been completed, changes to OpenStack
 should be submitted for review via the Gerrit tool, following
 the workflow documented at:
 
-   http://docs.openstack.org/infra/manual/developers.html#development-workflow
+   https://docs.openstack.org/infra/manual/developers.html#development-workflow
 
 Pull requests submitted through GitHub will be ignored.
 
 Bugs should be filed on Launchpad, not GitHub:
 
-   https://bugs.launchpad.net/osprofiler
\ No newline at end of file
+   https://bugs.launchpad.net/osprofiler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/ChangeLog 
new/osprofiler-1.15.2/ChangeLog
--- old/osprofiler-1.14.0/ChangeLog     2017-11-13 16:32:10.000000000 +0100
+++ new/osprofiler-1.15.2/ChangeLog     2018-02-14 21:47:44.000000000 +0100
@@ -1,6 +1,27 @@
 CHANGES
 =======
 
+1.15.2
+------
+
+* Check profiler instance before initialize
+* Update .gitreview for stable/queens
+
+1.15.1
+------
+
+
+1.15.0
+------
+
+* Update the invalid doc links to the right ones in osprofiler docs
+* Add filter for OSprofiler html output
+* Add kwargs to WsgiMiddleware \_\_init\_\_
+* Make collector configurable in DevStack plugin
+* Add functional test for Redis driver
+* Remove setting of version/release from releasenotes
+* Add Zuul job for functional testing
+
 1.14.0
 ------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/PKG-INFO 
new/osprofiler-1.15.2/PKG-INFO
--- old/osprofiler-1.14.0/PKG-INFO      2017-11-13 16:32:11.000000000 +0100
+++ new/osprofiler-1.15.2/PKG-INFO      2018-02-14 21:47:45.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: osprofiler
-Version: 1.14.0
+Version: 1.15.2
 Summary: OpenStack Profiler Library
 Home-page: https://docs.openstack.org/osprofiler/latest/
 Author: OpenStack
@@ -11,8 +11,8 @@
         Team and repository tags
         ========================
         
-        .. image:: http://governance.openstack.org/badges/osprofiler.svg
-            :target: http://governance.openstack.org/reference/tags/index.html
+        .. image:: https://governance.openstack.org/tc/badges/osprofiler.svg
+            :target: 
https://governance.openstack.org/tc/reference/tags/index.html
         
         .. Change things from this point on
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/README.rst 
new/osprofiler-1.15.2/README.rst
--- old/osprofiler-1.14.0/README.rst    2017-11-13 16:29:18.000000000 +0100
+++ new/osprofiler-1.15.2/README.rst    2018-02-14 21:45:38.000000000 +0100
@@ -2,8 +2,8 @@
 Team and repository tags
 ========================
 
-.. image:: http://governance.openstack.org/badges/osprofiler.svg
-    :target: http://governance.openstack.org/reference/tags/index.html
+.. image:: https://governance.openstack.org/tc/badges/osprofiler.svg
+    :target: https://governance.openstack.org/tc/reference/tags/index.html
 
 .. Change things from this point on
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/bindep.txt 
new/osprofiler-1.15.2/bindep.txt
--- old/osprofiler-1.14.0/bindep.txt    1970-01-01 01:00:00.000000000 +0100
+++ new/osprofiler-1.15.2/bindep.txt    2018-02-14 21:45:38.000000000 +0100
@@ -0,0 +1,3 @@
+rabbitmq-server [test]
+redis [test platform:rpm]
+redis-server [test platform:dpkg]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/devstack/README.rst 
new/osprofiler-1.15.2/devstack/README.rst
--- old/osprofiler-1.14.0/devstack/README.rst   2017-11-13 16:29:18.000000000 
+0100
+++ new/osprofiler-1.15.2/devstack/README.rst   2018-02-14 21:46:00.000000000 
+0100
@@ -5,29 +5,58 @@
 This directory contains the files necessary to run OpenStack with enabled
 OSProfiler in DevStack.
 
-OSProfiler has different drivers for trace processing. The default driver uses
-Ceilometer to process and store trace events. Other drivers may connect
-to databases directly and do not require Ceilometer.
+OSProfiler can send trace data into different collectors. There are 2 
parameters
+that control this:
+
+* ``OSPROFILER_COLLECTOR`` specifies which collector to install in DevStack.
+  By default OSProfiler plugin does not install anything, thus default
+  messaging driver with Ceilometer storage will be used.
+
+  Possible values:
+
+  * ``<empty>`` - default messaging driver with Ceilometer is used
+  * ``redis`` - Redis is installed
+
+  The default value of ``OSPROFILER_CONNECTION_STRING`` is set automatically
+  depending on ``OSPROFILER_COLLECTOR`` value.
+
+* ``OSPROFILER_CONNECTION_STRING`` specifies which driver is used by 
OSProfiler.
+
+  Possible values:
+
+  * ``messaging://`` - use messaging as trace collector (with the transport 
configured by oslo.messaging)
+  * ``redis://host:port`` - use Redis as trace storage
+  * ``elasticsearch://host:port`` - use Elasticsearch as trace storage
+  * ``mongodb://host:port`` - use MongoDB as trace storage
+  * ``loginsight://username:password@host`` - use LogInsight as trace 
collector/storage
+
 
 To configure DevStack and enable OSProfiler edit ``${DEVSTACK_DIR}/local.conf``
 file and add the following to ``[[local|localrc]]`` section:
 
-  * to use specified driver::
+* to use Redis collector::
+
+      enable_plugin osprofiler https://git.openstack.org/openstack/osprofiler 
master
+      OSPROFILER_COLLECTOR=redis
 
-    enable_plugin osprofiler https://git.openstack.org/openstack/osprofiler 
master
-    OSPROFILER_CONNECTION_STRING=<connection string value>
+  OSProfiler plugin will install Redis and configure OSProfiler to use Redis 
driver
 
-    the driver is chosen depending on the value of
-    ``OSPROFILER_CONNECTION_STRING`` variable (refer to the next section for
-    details)
+* to use specified driver::
 
-  * to use default Ceilometer driver::
+      enable_plugin osprofiler https://git.openstack.org/openstack/osprofiler 
master
+      OSPROFILER_CONNECTION_STRING=<connection string value>
 
-    enable_plugin panko https://git.openstack.org/openstack/panko master
-    enable_plugin ceilometer https://git.openstack.org/openstack/ceilometer 
master
-    enable_plugin osprofiler https://git.openstack.org/openstack/osprofiler 
master
+  the driver is chosen depending on the value of
+  ``OSPROFILER_CONNECTION_STRING`` variable (refer to the next section for
+  details)
 
-  .. note:: The order of enabling plugins matters.
+* to use default Ceilometer driver::
+
+      enable_plugin panko https://git.openstack.org/openstack/panko master
+      enable_plugin ceilometer https://git.openstack.org/openstack/ceilometer 
master
+      enable_plugin osprofiler https://git.openstack.org/openstack/osprofiler 
master
+
+  Note: the order of enabling plugins matters.
 
 Run DevStack as normal::
 
@@ -52,3 +81,9 @@
 
     OSPROFILER_CONNECTION_STRING=elasticsearch://127.0.0.1:9200
 
+**OSPROFILER_COLLECTOR** - controls which collector to install into DevStack.
+The driver is then chosen automatically based on the collector. Empty value 
assumes
+that the default messaging driver with Ceilometer is used.
+Example: enable Redis collector::
+
+    OSPROFILER_COLLECTOR=redis
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/devstack/lib/osprofiler 
new/osprofiler-1.15.2/devstack/lib/osprofiler
--- old/osprofiler-1.14.0/devstack/lib/osprofiler       2017-11-13 
16:29:18.000000000 +0100
+++ new/osprofiler-1.15.2/devstack/lib/osprofiler       2018-02-14 
21:46:00.000000000 +0100
@@ -1,16 +1,7 @@
-# lib/osprofiler
-# Functions to control the configuration and operation of the **osprofiler**
+#!/bin/bash
 
-# Dependencies:
-#
-# - ``functions`` file
-# - ``DEST``, ``DATA_DIR``, ``STACK_USER`` must be defined
-
-# ``stack.sh`` calls the entry points in this order:
-#
-# - install_osprofiler
-# - configure_osprofiler
-# - init_osprofiler
+# lib/osprofiler
+# Functions to control the configuration and operation of the **OSProfiler**
 
 # Save trace setting
 XTRACE=$(set +o | grep xtrace)
@@ -44,7 +35,31 @@
 # Functions
 # ---------
 
-# configure_osprofiler() - Nothing for now
+function install_redis() {
+    if is_fedora; then
+        install_package redis python-redis
+    elif is_ubuntu; then
+        install_package redis-server python-redis
+    elif is_suse; then
+        install_package redis python-redis
+    else
+        exit_distro_not_supported "redis installation"
+    fi
+
+    start_service redis
+}
+
+function install_osprofiler_collector() {
+    if [ -z "$OSPROFILER_COLLECTOR" ]; then
+        
OSPROFILER_CONNECTION_STRING=${OSPROFILER_CONNECTION_STRING:-"messaging://"}
+    elif [ "$OSPROFILER_COLLECTOR" == "redis" ]; then
+        install_redis
+        
OSPROFILER_CONNECTION_STRING=${OSPROFILER_CONNECTION_STRING:-"redis://localhost:6379"}
+    else
+        die $LINENO "OSProfiler collector $OSPROFILER_COLLECTOR is not 
supported"
+    fi
+}
+
 function configure_osprofiler() {
 
     for conf in ${CONF_FILES[@]}; do
@@ -56,6 +71,14 @@
             iniset $conf profiler connection_string 
$OSPROFILER_CONNECTION_STRING
         fi
     done
+
+    # Insert osprofiler filter into Neutron paste configuration
+    if [ -f $Q_API_PASTE_FILE ]; then
+        VAL=$(iniget $Q_API_PASTE_FILE composite:neutronapi_v2_0 keystone)
+        VAL=${VAL/catch_errors/catch_errors osprofiler}
+        iniset $Q_API_PASTE_FILE composite:neutronapi_v2_0 keystone "$VAL"
+    fi
+
     if [ -f $CEILOMETER_CONF ]
     then
         iniset $CEILOMETER_CONF event store_raw info
@@ -65,8 +88,3 @@
 
 # Restore xtrace
 $XTRACE
-
-# Tell emacs to use shell-script-mode
-## Local variables:
-## mode: shell-script
-## End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/devstack/plugin.sh 
new/osprofiler-1.15.2/devstack/plugin.sh
--- old/osprofiler-1.14.0/devstack/plugin.sh    2017-11-13 16:29:18.000000000 
+0100
+++ new/osprofiler-1.15.2/devstack/plugin.sh    2018-02-14 21:45:38.000000000 
+0100
@@ -1,3 +1,4 @@
+#!/bin/bash
 # DevStack extras script to install osprofiler
 
 # Save trace setting
@@ -6,8 +7,12 @@
 
 source $DEST/osprofiler/devstack/lib/osprofiler
 
-if [[ "$1" == "stack" && "$2" == "post-config" ]]; then
-    echo_summary "Configuring OSprofiler"
+if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then
+    echo_summary "Configuring system services for OSProfiler"
+    install_osprofiler_collector
+
+elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
+    echo_summary "Configuring OSProfiler"
     configure_osprofiler
 fi
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/devstack/settings 
new/osprofiler-1.15.2/devstack/settings
--- old/osprofiler-1.14.0/devstack/settings     2017-11-13 16:29:18.000000000 
+0100
+++ new/osprofiler-1.15.2/devstack/settings     2018-02-14 21:45:38.000000000 
+0100
@@ -4,6 +4,5 @@
 # of profiling in OpenStack services: profiling is only performed for
 # requests that specify one of these keys in HTTP headers.
 OSPROFILER_HMAC_KEYS=${OSPROFILER_HMAC_KEYS:-"SECRET_KEY"}
-OSPROFILER_CONNECTION_STRING=${OSPROFILER_CONNECTION_STRING:-"messaging://"}
 
 enable_service osprofiler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/doc/source/user/integration.rst 
new/osprofiler-1.15.2/doc/source/user/integration.rst
--- old/osprofiler-1.14.0/doc/source/user/integration.rst       2017-11-13 
16:29:18.000000000 +0100
+++ new/osprofiler-1.15.2/doc/source/user/integration.rst       2018-02-14 
21:45:38.000000000 +0100
@@ -126,9 +126,9 @@
 * ALL SQL requests (turned off by default, because it produce a lot of
   traffic)
 
-.. _CONF: http://docs.openstack.org/developer/oslo.config/
-.. _HMAC: http://en.wikipedia.org/wiki/Hash-based_message_authentication_code
-.. _OpenStack: http://openstack.org/
+.. _CONF: https://docs.openstack.org/oslo.config/latest/
+.. _HMAC: https://en.wikipedia.org/wiki/Hash-based_message_authentication_code
+.. _OpenStack: https://www.openstack.org/
 .. _Ceilometer: https://wiki.openstack.org/wiki/Ceilometer
 .. _oslo.messaging: https://pypi.python.org/pypi/oslo.messaging
 .. _OSprofiler WSGI middleware: 
https://github.com/openstack/osprofiler/blob/master/osprofiler/web.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/osprofiler/cmd/template.html 
new/osprofiler-1.15.2/osprofiler/cmd/template.html
--- old/osprofiler-1.14.0/osprofiler/cmd/template.html  2017-11-13 
16:29:18.000000000 +0100
+++ new/osprofiler-1.15.2/osprofiler/cmd/template.html  2018-02-14 
21:45:38.000000000 +0100
@@ -79,6 +79,8 @@
             document.write('<script type="text/javascript" 
src="/libs/ui-bootstrap-tpls-2.3.1.min.js"><\/script>');
             document.write('<script type="text/javascript" 
src="/libs/highlight.min.js"><\/script>');
             document.write('<script type="text/javascript" 
src="/libs/angular-highlightjs.min.js"><\/script>');
+            document.write('<script type="text/javascript" 
src="/libs/angular-ui-tree.min.js"><\/script>');
+            document.write('<script type="text/javascript" 
src="/libs/angular-ui-tree-filter.js"><\/script>');
         }
         else{
             document.write('<link rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css";>');
@@ -87,6 +89,8 @@
             document.write('<script type="text/javascript" 
src="https://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-2.3.1.min.js";><\/script>');
             document.write('<script type="text/javascript" 
src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.8.0/highlight.min.js";><\/script>');
             document.write('<script type="text/javascript" 
src="https://pc035860.github.io/angular-highlightjs/angular-highlightjs.min.js";><\/script>');
+            document.write('<script type="text/javascript" 
src="https://cdn.rawgit.com/angular-ui-tree/angular-ui-tree/master/dist/angular-ui-tree.min.js";><\/script>');
+            document.write('<script type="text/javascript" 
src="https://cdn.rawgit.com/EE/angular-ui-tree-filter/master/dist/angular-ui-tree-filter.js";><\/script>');
         }
     </script>
 </head>
@@ -99,7 +103,7 @@
             var OSProfilerData = $DATA;
 
             angular
-                .module('app', ['ui.bootstrap', 'hljs'])
+                .module('app', ['ui.bootstrap', 'hljs', 'ui.tree', 
'ui.tree-filter'])
                 .config(['$rootScopeProvider', function ($rootScopeProvider) {
                     $rootScopeProvider.digestTtl(50);
                 }])
@@ -109,19 +113,30 @@
                         tabReplace: '    '
                     });
                 }])
+                .config(['uiTreeFilterSettingsProvider', function 
(uiTreeFilterSettingsProvider) {
+                    uiTreeFilterSettingsProvider.addresses = [
+                        'info.name',
+                        'info.project',
+                        'info.service',
+                        'info.host'
+                    ];
+                    uiTreeFilterSettingsProvider.descendantCollection = 
'children';
+                }])
                 .controller('ProfilerController', ProfilerController)
                 .controller('ModalInstanceController', 
ModalInstanceController);
 
             // Inject services
-            ProfilerController.$inject = ['$uibModal'];
+            ProfilerController.$inject = ['$filter', '$uibModal'];
             ModalInstanceController.$inject = ['$uibModalInstance', 'info'];
 
-            function ProfilerController($uibModal) {
+            function ProfilerController($filter, $uibModal) {
                 // NOTE(tovin07): Bind this to vm. This is controller as and 
vm syntax.
                 // This style is mainstream now. It replaces $scope style.
                 // Ref: 
https://johnpapa.net/angularjss-controller-as-and-the-vm-variable/
                 var vm = this;
 
+                vm.filter = $filter('uiTreeFilter');
+
                 var converInput = function(input, level) {
                     level = (level) ? level : 0;
                     input.level = level;
@@ -249,8 +264,8 @@
                     </td>
                 </tr>
             </table>
-            <div ng-hide="hide_children">
-                <div ng-repeat="data in data.children" 
ng-include="'tree_item_renderer.html'"></div>
+            <div ui-tree-nodes ng-model="data.children" 
ng-hide="hide_children">
+                <div ui-tree-node ng-repeat="data in data.children" 
ng-include="'tree_item_renderer.html'" ng-hide="!vm.filter(data, 
vm.filterPattern)"></div>
             </div>
         </div>
     </script>
@@ -285,6 +300,16 @@
     </script>
     <!--Body-->
     <div ng-controller="ProfilerController as vm">
+        <form class="form-horizontal">
+            <div class="form-group">
+                <label for="filterPattern" class="col-md-4 control-label">Span 
filtering:</label>
+                <div class="col-md-6">
+                    <input type="text" class="form-control" id="filterPattern"
+                        placeholder="Input your regular expression pattern 
here"
+                        ng-model="vm.filterPattern">
+                </div>
+            </div>
+        </form>
         <table class="trace">
             <tr class="bold text-left" style="border-bottom: solid 1px gray;">
                 <td class="level">Levels</td>
@@ -296,7 +321,11 @@
                 <td class="details">Details</td>
             </tr>
         </table>
-        <div ng-repeat="data in vm.tree" 
ng-include="'tree_item_renderer.html'"></div>
+        <div ui-tree>
+            <div ui-tree-nodes ng-model="vm.tree">
+                <div ui-tree-node ng-repeat="data in vm.tree" 
ng-include="'tree_item_renderer.html'" ng-hide="!vm.filter(data, 
vm.filterPattern)"></div>
+            </div>
+        </div>
     </div>
 </body>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/osprofiler/profiler.py 
new/osprofiler-1.15.2/osprofiler/profiler.py
--- old/osprofiler-1.14.0/osprofiler/profiler.py        2017-11-13 
16:29:18.000000000 +0100
+++ new/osprofiler-1.15.2/osprofiler/profiler.py        2018-02-14 
21:46:00.000000000 +0100
@@ -55,8 +55,9 @@
     :param parent_id: Used to build tree of traces.
     :returns: Profiler instance
     """
-    __local_ctx.profiler = _Profiler(hmac_key, base_id=base_id,
-                                     parent_id=parent_id)
+    if get() is None:
+        __local_ctx.profiler = _Profiler(hmac_key, base_id=base_id,
+                                         parent_id=parent_id)
     return __local_ctx.profiler
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/osprofiler-1.14.0/osprofiler/tests/functional/config.cfg 
new/osprofiler-1.15.2/osprofiler/tests/functional/config.cfg
--- old/osprofiler-1.14.0/osprofiler/tests/functional/config.cfg        
2017-11-13 16:29:18.000000000 +0100
+++ new/osprofiler-1.15.2/osprofiler/tests/functional/config.cfg        
2018-02-14 21:45:38.000000000 +0100
@@ -1,3 +1,5 @@
+[DEFAULT]
+transport_url=rabbit://localhost:5672/
 
 [profiler]
 connection_string="messaging://"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/osprofiler-1.14.0/osprofiler/tests/functional/test_driver.py 
new/osprofiler-1.15.2/osprofiler/tests/functional/test_driver.py
--- old/osprofiler-1.14.0/osprofiler/tests/functional/test_driver.py    
2017-11-13 16:29:18.000000000 +0100
+++ new/osprofiler-1.15.2/osprofiler/tests/functional/test_driver.py    
2018-02-14 21:46:00.000000000 +0100
@@ -13,6 +13,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import logging
 import os
 
 from oslo_config import cfg
@@ -25,9 +26,19 @@
 
 
 CONF = cfg.CONF
+LOG = logging.getLogger(__name__)
 
 
-class DriverTestCase(test.TestCase):
+@profiler.trace_cls("rpc", hide_args=True)
+class Foo(object):
+    def bar(self, x):
+        return self.baz(x, x)
+
+    def baz(self, x, y):
+        return x * y
+
+
+class DriverTestCase(test.FunctionalTestCase):
 
     SERVICE = "service"
     PROJECT = "project"
@@ -40,15 +51,6 @@
                           trace_sqlalchemy=False,
                           hmac_keys="SECRET_KEY")
 
-    @profiler.trace_cls("rpc", hide_args=True)
-    class Foo(object):
-
-        def bar(self, x):
-            return self.baz(x, x)
-
-        def baz(self, x, y):
-            return x * y
-
     def _assert_dict(self, info, **kwargs):
         for key in kwargs:
             self.assertEqual(kwargs[key], info[key])
@@ -75,26 +77,35 @@
         self._assert_dict(raw_stop, **exp_raw)
 
     def test_get_report(self):
+        # initialize profiler notifier (the same way as in services)
         initializer.init_from_conf(
-            CONF, None, self.PROJECT, self.SERVICE, "host")
+            CONF, {}, self.PROJECT, self.SERVICE, "host")
         profiler.init("SECRET_KEY")
 
-        foo = DriverTestCase.Foo()
+        # grab base_id
+        base_id = profiler.get().get_base_id()
+
+        # execute profiled code
+        foo = Foo()
         foo.bar(1)
 
+        # instantiate report engine (the same way as in osprofiler CLI)
         engine = base.get_driver(CONF.profiler.connection_string,
                                  project=self.PROJECT,
                                  service=self.SERVICE,
                                  host="host",
                                  conf=CONF)
-        base_id = profiler.get().get_base_id()
-        res = engine.get_report(base_id)
 
-        self.assertEqual("total", res["info"]["name"])
-        self.assertEqual(2, res["stats"]["rpc"]["count"])
-        self.assertEqual(1, len(res["children"]))
+        # generate the report
+        report = engine.get_report(base_id)
+        LOG.debug("OSProfiler report: %s", report)
+
+        # verify the report
+        self.assertEqual("total", report["info"]["name"])
+        self.assertEqual(2, report["stats"]["rpc"]["count"])
+        self.assertEqual(1, len(report["children"]))
 
-        cbar = res["children"][0]
+        cbar = report["children"][0]
         self._assert_child_dict(
             cbar, base_id, base_id, "rpc",
             "osprofiler.tests.functional.test_driver.Foo.bar")
@@ -104,3 +115,14 @@
         self._assert_child_dict(
             cbaz, base_id, cbar["trace_id"], "rpc",
             "osprofiler.tests.functional.test_driver.Foo.baz")
+
+
+class RedisDriverTestCase(DriverTestCase):
+    def setUp(self):
+        super(DriverTestCase, self).setUp()
+        CONF([])
+        opts.set_defaults(CONF,
+                          connection_string="redis://localhost:6379",
+                          enabled=True,
+                          trace_sqlalchemy=False,
+                          hmac_keys="SECRET_KEY")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/osprofiler/tests/test.py 
new/osprofiler-1.15.2/osprofiler/tests/test.py
--- old/osprofiler-1.14.0/osprofiler/tests/test.py      2017-11-13 
16:29:18.000000000 +0100
+++ new/osprofiler-1.15.2/osprofiler/tests/test.py      2018-02-14 
21:45:38.000000000 +0100
@@ -13,6 +13,8 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import logging
+import sys
 
 from testtools import testcase
 
@@ -20,3 +22,12 @@
 class TestCase(testcase.TestCase):
     """Test case base class for all osprofiler unit tests."""
     pass
+
+
+class FunctionalTestCase(TestCase):
+    """Base for functional tests"""
+
+    def setUp(self):
+        super(FunctionalTestCase, self).setUp()
+
+        logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/osprofiler/web.py 
new/osprofiler-1.15.2/osprofiler/web.py
--- old/osprofiler-1.14.0/osprofiler/web.py     2017-11-13 16:29:18.000000000 
+0100
+++ new/osprofiler-1.15.2/osprofiler/web.py     2018-02-14 21:45:38.000000000 
+0100
@@ -69,7 +69,7 @@
 class WsgiMiddleware(object):
     """WSGI Middleware that enables tracing for an application."""
 
-    def __init__(self, application, hmac_keys=None, enabled=False):
+    def __init__(self, application, hmac_keys=None, enabled=False, **kwargs):
         """Initialize middleware with api-paste.ini arguments.
 
         :application: wsgi app
@@ -79,6 +79,10 @@
                     by only those who knows this key which helps
                     avoid DDOS.
         :enabled: This middleware can be turned off fully if enabled is False.
+        :kwargs: Other keyword arguments.
+                 NOTE(tovin07): Currently, this `kwargs` is not used at all.
+                 It's here to avoid some extra keyword arguments in local_conf
+                 that cause `__init__() got an unexpected keyword argument`.
         """
         self.application = application
         self.name = "wsgi"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/osprofiler.egg-info/PKG-INFO 
new/osprofiler-1.15.2/osprofiler.egg-info/PKG-INFO
--- old/osprofiler-1.14.0/osprofiler.egg-info/PKG-INFO  2017-11-13 
16:32:10.000000000 +0100
+++ new/osprofiler-1.15.2/osprofiler.egg-info/PKG-INFO  2018-02-14 
21:47:44.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: osprofiler
-Version: 1.14.0
+Version: 1.15.2
 Summary: OpenStack Profiler Library
 Home-page: https://docs.openstack.org/osprofiler/latest/
 Author: OpenStack
@@ -11,8 +11,8 @@
         Team and repository tags
         ========================
         
-        .. image:: http://governance.openstack.org/badges/osprofiler.svg
-            :target: http://governance.openstack.org/reference/tags/index.html
+        .. image:: https://governance.openstack.org/tc/badges/osprofiler.svg
+            :target: 
https://governance.openstack.org/tc/reference/tags/index.html
         
         .. Change things from this point on
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/osprofiler.egg-info/SOURCES.txt 
new/osprofiler-1.15.2/osprofiler.egg-info/SOURCES.txt
--- old/osprofiler-1.14.0/osprofiler.egg-info/SOURCES.txt       2017-11-13 
16:32:11.000000000 +0100
+++ new/osprofiler-1.15.2/osprofiler.egg-info/SOURCES.txt       2018-02-14 
21:47:45.000000000 +0100
@@ -1,9 +1,11 @@
 .testr.conf
+.zuul.yaml
 AUTHORS
 CONTRIBUTING.rst
 ChangeLog
 LICENSE
 README.rst
+bindep.txt
 requirements.txt
 setup.cfg
 setup.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/osprofiler.egg-info/pbr.json 
new/osprofiler-1.15.2/osprofiler.egg-info/pbr.json
--- old/osprofiler-1.14.0/osprofiler.egg-info/pbr.json  2017-11-13 
16:32:10.000000000 +0100
+++ new/osprofiler-1.15.2/osprofiler.egg-info/pbr.json  2018-02-14 
21:47:44.000000000 +0100
@@ -1 +1 @@
-{"git_version": "ffd8d7d", "is_release": true}
\ No newline at end of file
+{"git_version": "2eef344", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osprofiler-1.14.0/releasenotes/source/conf.py 
new/osprofiler-1.15.2/releasenotes/source/conf.py
--- old/osprofiler-1.14.0/releasenotes/source/conf.py   2017-11-13 
16:29:18.000000000 +0100
+++ new/osprofiler-1.15.2/releasenotes/source/conf.py   2018-02-14 
21:45:38.000000000 +0100
@@ -60,16 +60,12 @@
 project = u'osprofiler Release Notes'
 copyright = u'2016, osprofiler 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.
+# Release notes do not need a version in the title, they span
+# multiple versions.
 # The full version, including alpha/beta/rc tags.
-import pkg_resources
-release = pkg_resources.get_distribution('osprofiler').version
+release = ''
 # The short X.Y version.
-version = release
+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/osprofiler-1.14.0/tox.ini 
new/osprofiler-1.15.2/tox.ini
--- old/osprofiler-1.14.0/tox.ini       2017-11-13 16:29:18.000000000 +0100
+++ new/osprofiler-1.15.2/tox.ini       2018-02-14 21:45:38.000000000 +0100
@@ -21,6 +21,7 @@
 setenv = {[testenv]setenv}
          OS_TEST_PATH=./osprofiler/tests/functional
 deps = {[testenv]deps}
+       oslo.messaging
 
 [testenv:functional-py35]
 basepython = python3.5


Reply via email to