From c548c0ca313321837bf18ddacf46ddf232904293 Mon Sep 17 00:00:00 2001
From: hosingh000 <hosingh000@gmail.com>
Date: Fri, 3 May 2019 13:28:12 -0500
Subject: [PATCH] =?UTF-8?q?Services=20pecan=20log=20Configuration=20?=
 =?UTF-8?q?=E2=80=93=20Debug=20Enabled/Disable=20Switch=20to=20stestr?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Change-Id: I6d268b3484b1107900b40a062010c540b61b04f6
---
 .gitignore                                  |  2 --
 .stestr.conf                                |  3 +++
 .testr.conf                                 |  7 -------
 etc/ranger/ranger.conf                      |  1 +
 orm/base_config.py                          |  4 ++++
 orm/services/audit_trail_manager/config.py  |  2 +-
 orm/services/customer_manager/config.py     |  2 +-
 orm/services/flavor_manager/config.py       |  2 +-
 orm/services/id_generator/config.py         |  2 +-
 orm/services/image_manager/config.py        |  2 +-
 orm/services/region_manager/config.py       |  2 +-
 orm/services/resource_distributor/config.py |  1 +
 test-requirements.txt                       |  2 +-
 tox.ini                                     | 10 ++++++++--
 14 files changed, 24 insertions(+), 18 deletions(-)
 create mode 100644 .stestr.conf
 delete mode 100644 .testr.conf

diff --git a/.gitignore b/.gitignore
index b1956860..b71a2b17 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,8 +27,6 @@ cover/
 .coverage*
 !.coveragerc
 .tox
-nosetests.xml
-.testrepository
 .venv
 .idea/
 .stestr/
diff --git a/.stestr.conf b/.stestr.conf
new file mode 100644
index 00000000..f0da5742
--- /dev/null
+++ b/.stestr.conf
@@ -0,0 +1,3 @@
+[DEFAULT]
+test_path=./orm/tests/unit
+top_dir=./
diff --git a/.testr.conf b/.testr.conf
deleted file mode 100644
index c8b1712c..00000000
--- a/.testr.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-[DEFAULT]
-test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
-             OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
-             OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
-             ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./orm/tests/unit}  $LISTOPT $IDOPTION
-test_id_option=--load-list $IDFILE
-test_list_option=--list
diff --git a/etc/ranger/ranger.conf b/etc/ranger/ranger.conf
index 502249ff..255118e4 100644
--- a/etc/ranger/ranger.conf
+++ b/etc/ranger/ranger.conf
@@ -14,6 +14,7 @@ use_handlers = 'console,logfile'
 # use this setting to override the default level set.
 # valid choices are 'CRITICAL', 'DEBUG', 'ERROR', 'INFO', 'WARNING'
 debug_level = 'DEBUG'
+pecan_debug = True
 
 [keystone_authtoken]
 username = 'admin'
diff --git a/orm/base_config.py b/orm/base_config.py
index 4745d3d1..0b9a1db0 100644
--- a/orm/base_config.py
+++ b/orm/base_config.py
@@ -55,6 +55,9 @@ OrmOpts = [
                choices=('console', 'logfile', 'console,logfile'),
                default='console',
                help='output logging to console or logfile or both'),
+    cfg.BoolOpt('pecan_debug',
+                default=True,
+                help='Service app log debug level Enabled/Disabled.'),
 ]
 
 CONF.register_opts(OrmOpts)
@@ -320,6 +323,7 @@ CONF.register_opts(OrmCliGroup, orm_cli_group)
 ################################################################
 # logging config settings
 debug_level = CONF.debug_level
+pecan_debug = CONF.pecan_debug
 handler_list = CONF.use_handlers.split(",")
 
 # ranger settings
diff --git a/orm/services/audit_trail_manager/config.py b/orm/services/audit_trail_manager/config.py
index 58540a12..8b3bada6 100644
--- a/orm/services/audit_trail_manager/config.py
+++ b/orm/services/audit_trail_manager/config.py
@@ -16,7 +16,7 @@ database = {
 app = {
     'root': 'orm.services.audit_trail_manager.audit_server.controllers.root.RootController',
     'modules': ['orm.services.audit_trail_manager.audit_server'],
-    'debug': True,
+    'debug': config.pecan_debug,
 }
 
 app_module = app['modules'][0]
diff --git a/orm/services/customer_manager/config.py b/orm/services/customer_manager/config.py
index c6f51e24..b224c35e 100755
--- a/orm/services/customer_manager/config.py
+++ b/orm/services/customer_manager/config.py
@@ -19,7 +19,7 @@ server = {
 app = {
     'root': 'orm.services.customer_manager.cms_rest.controllers.root.RootController',
     'modules': ['orm.services.customer_manager.cms_rest'],
-    'debug': True,
+    'debug': config.pecan_debug,
     'hooks': lambda: [TransactionIdHook(), APIErrorHook(), SecurityHeadersHook()]
 }
 
diff --git a/orm/services/flavor_manager/config.py b/orm/services/flavor_manager/config.py
index 3f60945d..7bbd1804 100755
--- a/orm/services/flavor_manager/config.py
+++ b/orm/services/flavor_manager/config.py
@@ -19,7 +19,7 @@ cache_seconds = 0
 app = {
     'root': 'orm.services.flavor_manager.fms_rest.controllers.root.RootController',
     'modules': ['orm.services.flavor_manager.fms_rest'],
-    'debug': True,
+    'debug': config.pecan_debug,
     'hooks': lambda: [TransIdHook(), APIErrorHook(), SecurityHeadersHook()]
 }
 
diff --git a/orm/services/id_generator/config.py b/orm/services/id_generator/config.py
index 48954d5e..dc9a2fe6 100755
--- a/orm/services/id_generator/config.py
+++ b/orm/services/id_generator/config.py
@@ -11,7 +11,7 @@ server = {
 app = {
     'root': 'orm.services.id_generator.uuidgen.controllers.root.RootController',
     'modules': ['orm.services.id_generator.uuidgen'],
-    'debug': True,
+    'debug': config.pecan_debug,
 }
 
 app_module = app['modules'][0]
diff --git a/orm/services/image_manager/config.py b/orm/services/image_manager/config.py
index 7ce216a5..b9f538b3 100755
--- a/orm/services/image_manager/config.py
+++ b/orm/services/image_manager/config.py
@@ -17,7 +17,7 @@ server = {
 app = {
     'root': 'orm.services.image_manager.ims.controllers.root.RootController',
     'modules': ['orm.services.image_manager.ims'],
-    'debug': True,
+    'debug': config.pecan_debug,
     'hooks': lambda: [TransIdHook(), APIErrorHook(), SecurityHeadersHook()]
 }
 
diff --git a/orm/services/region_manager/config.py b/orm/services/region_manager/config.py
index d9064bf3..b2be35d9 100755
--- a/orm/services/region_manager/config.py
+++ b/orm/services/region_manager/config.py
@@ -17,7 +17,7 @@ server = {
 app = {
     'root': 'orm.services.region_manager.rms.controllers.root.RootController',
     'modules': ['orm.services.region_manager.rms'],
-    'debug': True,
+    'debug': config.pecan_debug,
     'hooks': lambda: [TransactionIdHook(), APIErrorHook(), SecurityHeadersHook()]
 }
 
diff --git a/orm/services/resource_distributor/config.py b/orm/services/resource_distributor/config.py
index 575cdef5..61394f58 100755
--- a/orm/services/resource_distributor/config.py
+++ b/orm/services/resource_distributor/config.py
@@ -3,6 +3,7 @@ import orm.base_config as config
 app = {
     'root': 'orm.services.resource_distributor.rds.controllers.root.RootController',
     'modules': ['orm.services.resource_distributor.rds'],
+    'debug': config.pecan_debug,
     'service_name': 'rds'
 }
 
diff --git a/test-requirements.txt b/test-requirements.txt
index f3685245..ea1e175a 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -13,5 +13,5 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
 reno>=1.8.0 # Apache-2.0
 sphinx>=1.6.2 # BSD
 testfixtures>=5.1.1 # MIT
-testrepository>=0.0.18  # Apache-2.0/BSD
+stestr>=2.0.0
 testtools>=1.4.0 # MIT
diff --git a/tox.ini b/tox.ini
index 7d579ea4..587d32eb 100644
--- a/tox.ini
+++ b/tox.ini
@@ -15,7 +15,7 @@ deps = -r{toxinidir}/test-requirements.txt
 
 commands =
     find . -type f -name "*.pyc" -delete
-    ostestr {posargs}
+    stestr run --slowest {posargs}
 
 whitelist_externals =
   bash
@@ -34,7 +34,13 @@ commands =
 commands = {posargs}
 
 [testenv:cover]
-commands = python setup.py testr --coverage --testr-args='{posargs}'
+commands =
+  coverage erase
+  stestr run --slowest {posargs}
+  coverage combine
+  coverage html -d cover
+  coverage xml -o cover/coverage.xml
+  coverage report --show-missing
 
 [testenv:docs]
 deps = -r{toxinidir}/doc/requirements.txt