From 6ed3bd2b24bf9591dbac5d2f088d694cc6c49709 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Tue, 25 Aug 2015 21:12:07 -0400 Subject: [PATCH] Enable options for oslo.reports Use the new oslo.report config option for specifying a log_dir in which the GMR reports can be generated in. consolidate the gmr related setup code in config.py Introduced in oslo.reports change id: I9ed0191628f2d552acd8130687b636671bc07a3e Change-Id: Ib5edf65fd33ce86757f7cb1a6546a6f00738c9a3 --- etc/nova/nova-config-generator.conf | 1 + nova/cmd/api.py | 4 ---- nova/cmd/api_ec2.py | 4 ---- nova/cmd/api_metadata.py | 4 ---- nova/cmd/api_os_compute.py | 4 ---- nova/cmd/baseproxy.py | 4 ---- nova/cmd/cells.py | 4 ---- nova/cmd/cert.py | 4 ---- nova/cmd/compute.py | 4 ---- nova/cmd/conductor.py | 4 ---- nova/cmd/console.py | 4 ---- nova/cmd/consoleauth.py | 4 ---- nova/cmd/network.py | 4 ---- nova/cmd/objectstore.py | 4 ---- nova/cmd/scheduler.py | 4 ---- nova/cmd/xvpvncproxy.py | 4 ---- nova/config.py | 5 +++++ .../notes/new-oslo-reports-option-619c3dbf3ae320fb.yaml | 6 ++++++ 18 files changed, 12 insertions(+), 60 deletions(-) create mode 100644 releasenotes/notes/new-oslo-reports-option-619c3dbf3ae320fb.yaml diff --git a/etc/nova/nova-config-generator.conf b/etc/nova/nova-config-generator.conf index 7c820ad483ee..98ff3b16b29c 100644 --- a/etc/nova/nova-config-generator.conf +++ b/etc/nova/nova-config-generator.conf @@ -14,6 +14,7 @@ namespace = nova.openstack.common.policy namespace = oslo.log namespace = oslo.messaging namespace = oslo.policy +namespace = oslo.reports namespace = oslo.service.periodic_task namespace = oslo.service.service namespace = oslo.service.sslutils diff --git a/nova/cmd/api.py b/nova/cmd/api.py index b025f7fce97e..75e11be8e6da 100644 --- a/nova/cmd/api.py +++ b/nova/cmd/api.py @@ -24,13 +24,11 @@ import sys from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova import config from nova import objects from nova import service from nova import utils -from nova import version CONF = cfg.CONF CONF.import_opt('enabled_apis', 'nova.service') @@ -43,8 +41,6 @@ def main(): utils.monkey_patch() objects.register_all() - gmr.TextGuruMeditation.setup_autorun(version) - launcher = service.process_launcher() for api in CONF.enabled_apis: should_use_ssl = api in CONF.enabled_ssl_apis diff --git a/nova/cmd/api_ec2.py b/nova/cmd/api_ec2.py index 5e3f861e2bf3..5751b629bea2 100644 --- a/nova/cmd/api_ec2.py +++ b/nova/cmd/api_ec2.py @@ -20,13 +20,11 @@ import sys from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova import config from nova import objects from nova import service from nova import utils -from nova import version CONF = cfg.CONF @@ -39,8 +37,6 @@ def main(): utils.monkey_patch() objects.register_all() - gmr.TextGuruMeditation.setup_autorun(version) - should_use_ssl = 'ec2' in CONF.enabled_ssl_apis server = service.WSGIService('ec2', use_ssl=should_use_ssl, max_url_len=16384) diff --git a/nova/cmd/api_metadata.py b/nova/cmd/api_metadata.py index ae0d36447b2c..5b1e570aa661 100644 --- a/nova/cmd/api_metadata.py +++ b/nova/cmd/api_metadata.py @@ -20,7 +20,6 @@ import sys from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova.conductor import rpcapi as conductor_rpcapi from nova import config @@ -28,7 +27,6 @@ from nova import objects from nova.objects import base as objects_base from nova import service from nova import utils -from nova import version CONF = cfg.CONF @@ -42,8 +40,6 @@ def main(): utils.monkey_patch() objects.register_all() - gmr.TextGuruMeditation.setup_autorun(version) - if not CONF.conductor.use_local: objects_base.NovaObject.indirection_api = \ conductor_rpcapi.ConductorAPI() diff --git a/nova/cmd/api_os_compute.py b/nova/cmd/api_os_compute.py index 9a7008083124..fdd5690a44b5 100644 --- a/nova/cmd/api_os_compute.py +++ b/nova/cmd/api_os_compute.py @@ -20,13 +20,11 @@ import sys from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova import config from nova import objects from nova import service from nova import utils -from nova import version CONF = cfg.CONF @@ -39,8 +37,6 @@ def main(): utils.monkey_patch() objects.register_all() - gmr.TextGuruMeditation.setup_autorun(version) - should_use_ssl = 'osapi_compute' in CONF.enabled_ssl_apis server = service.WSGIService('osapi_compute', use_ssl=should_use_ssl) service.serve(server, workers=server.workers) diff --git a/nova/cmd/baseproxy.py b/nova/cmd/baseproxy.py index 6b08a2665d5d..0aef8fb5c99f 100644 --- a/nova/cmd/baseproxy.py +++ b/nova/cmd/baseproxy.py @@ -22,10 +22,8 @@ import sys from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova.console import websocketproxy -from nova import version CONF = cfg.CONF @@ -53,8 +51,6 @@ def proxy(host, port): logging.setup(CONF, "nova") - gmr.TextGuruMeditation.setup_autorun(version) - # Create and start the NovaWebSockets proxy websocketproxy.NovaWebSocketProxy( listen_host=host, diff --git a/nova/cmd/cells.py b/nova/cmd/cells.py index 7996fc530723..0e9b4ec2a13c 100644 --- a/nova/cmd/cells.py +++ b/nova/cmd/cells.py @@ -19,13 +19,11 @@ import sys from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova import config from nova import objects from nova import service from nova import utils -from nova import version CONF = cfg.CONF CONF.import_opt('topic', 'nova.cells.opts', group='cells') @@ -38,8 +36,6 @@ def main(): utils.monkey_patch() objects.register_all() - gmr.TextGuruMeditation.setup_autorun(version) - server = service.Service.create(binary='nova-cells', topic=CONF.cells.topic, manager=CONF.cells.manager) diff --git a/nova/cmd/cert.py b/nova/cmd/cert.py index e07df8d0fd27..7ddf69fd80c5 100644 --- a/nova/cmd/cert.py +++ b/nova/cmd/cert.py @@ -18,13 +18,11 @@ import sys from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova import config from nova import objects from nova import service from nova import utils -from nova import version CONF = cfg.CONF CONF.import_opt('cert_topic', 'nova.cert.rpcapi') @@ -36,8 +34,6 @@ def main(): utils.monkey_patch() objects.register_all() - gmr.TextGuruMeditation.setup_autorun(version) - server = service.Service.create(binary='nova-cert', topic=CONF.cert_topic) service.serve(server) service.wait() diff --git a/nova/cmd/compute.py b/nova/cmd/compute.py index 71434a225d6d..f46902e9ba3e 100644 --- a/nova/cmd/compute.py +++ b/nova/cmd/compute.py @@ -21,7 +21,6 @@ import traceback from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova.conductor import rpcapi as conductor_rpcapi from nova import config @@ -32,7 +31,6 @@ from nova import objects from nova.objects import base as objects_base from nova import service from nova import utils -from nova import version CONF = cfg.CONF CONF.import_opt('compute_topic', 'nova.compute.rpcapi') @@ -60,8 +58,6 @@ def main(): utils.monkey_patch() objects.register_all() - gmr.TextGuruMeditation.setup_autorun(version) - if not CONF.conductor.use_local: block_db_access() objects_base.NovaObject.indirection_api = \ diff --git a/nova/cmd/conductor.py b/nova/cmd/conductor.py index da3d8643d143..2949f0b37d10 100644 --- a/nova/cmd/conductor.py +++ b/nova/cmd/conductor.py @@ -19,13 +19,11 @@ import sys from oslo_concurrency import processutils from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova import config from nova import objects from nova import service from nova import utils -from nova import version CONF = cfg.CONF CONF.import_opt('topic', 'nova.conductor.api', group='conductor') @@ -37,8 +35,6 @@ def main(): utils.monkey_patch() objects.register_all() - gmr.TextGuruMeditation.setup_autorun(version) - server = service.Service.create(binary='nova-conductor', topic=CONF.conductor.topic, manager=CONF.conductor.manager) diff --git a/nova/cmd/console.py b/nova/cmd/console.py index 83d64f15cd50..dd46e7662d5a 100644 --- a/nova/cmd/console.py +++ b/nova/cmd/console.py @@ -19,12 +19,10 @@ import sys from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova import config from nova import objects from nova import service -from nova import version CONF = cfg.CONF CONF.import_opt('console_topic', 'nova.console.rpcapi') @@ -35,8 +33,6 @@ def main(): logging.setup(CONF, "nova") objects.register_all() - gmr.TextGuruMeditation.setup_autorun(version) - server = service.Service.create(binary='nova-console', topic=CONF.console_topic) service.serve(server) diff --git a/nova/cmd/consoleauth.py b/nova/cmd/consoleauth.py index ecfd44dcd1eb..3e634860e2a4 100644 --- a/nova/cmd/consoleauth.py +++ b/nova/cmd/consoleauth.py @@ -19,12 +19,10 @@ import sys from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova import config from nova import objects from nova import service -from nova import version CONF = cfg.CONF @@ -36,8 +34,6 @@ def main(): logging.setup(CONF, "nova") objects.register_all() - gmr.TextGuruMeditation.setup_autorun(version) - server = service.Service.create(binary='nova-consoleauth', topic=CONF.consoleauth_topic) service.serve(server) diff --git a/nova/cmd/network.py b/nova/cmd/network.py index c55975893169..dc19b6b39197 100644 --- a/nova/cmd/network.py +++ b/nova/cmd/network.py @@ -21,7 +21,6 @@ import traceback from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova.conductor import rpcapi as conductor_rpcapi from nova import config @@ -32,7 +31,6 @@ from nova import objects from nova.objects import base as objects_base from nova import service from nova import utils -from nova import version CONF = cfg.CONF CONF.import_opt('network_topic', 'nova.network.rpcapi') @@ -60,8 +58,6 @@ def main(): utils.monkey_patch() objects.register_all() - gmr.TextGuruMeditation.setup_autorun(version) - if not CONF.conductor.use_local: block_db_access() objects_base.NovaObject.indirection_api = \ diff --git a/nova/cmd/objectstore.py b/nova/cmd/objectstore.py index e15d84409969..1d6fa02eebc8 100644 --- a/nova/cmd/objectstore.py +++ b/nova/cmd/objectstore.py @@ -20,13 +20,11 @@ import sys from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova import config from nova.objectstore import s3server from nova import service from nova import utils -from nova import version def main(): @@ -34,8 +32,6 @@ def main(): logging.setup(config.CONF, "nova") utils.monkey_patch() - gmr.TextGuruMeditation.setup_autorun(version) - server = s3server.get_wsgi_server() service.serve(server) service.wait() diff --git a/nova/cmd/scheduler.py b/nova/cmd/scheduler.py index 43ffcee689d6..fa166e1db56f 100644 --- a/nova/cmd/scheduler.py +++ b/nova/cmd/scheduler.py @@ -20,13 +20,11 @@ import sys from oslo_config import cfg from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova import config from nova import objects from nova import service from nova import utils -from nova import version CONF = cfg.CONF CONF.import_opt('scheduler_topic', 'nova.scheduler.rpcapi') @@ -38,8 +36,6 @@ def main(): utils.monkey_patch() objects.register_all() - gmr.TextGuruMeditation.setup_autorun(version) - server = service.Service.create(binary='nova-scheduler', topic=CONF.scheduler_topic) service.serve(server) diff --git a/nova/cmd/xvpvncproxy.py b/nova/cmd/xvpvncproxy.py index 6240f76dd373..2aa0c8217057 100644 --- a/nova/cmd/xvpvncproxy.py +++ b/nova/cmd/xvpvncproxy.py @@ -18,11 +18,9 @@ import sys from oslo_log import log as logging -from oslo_reports import guru_meditation_report as gmr from nova import config from nova import service -from nova import version from nova.vnc import xvp_proxy @@ -30,8 +28,6 @@ def main(): config.parse_args(sys.argv) logging.setup(config.CONF, "nova") - gmr.TextGuruMeditation.setup_autorun(version) - wsgi_server = xvp_proxy.get_wsgi_server() service.serve(wsgi_server) service.wait() diff --git a/nova/config.py b/nova/config.py index b3c9902efba2..f4084818b491 100644 --- a/nova/config.py +++ b/nova/config.py @@ -18,6 +18,9 @@ from oslo_config import cfg from oslo_db import options from oslo_log import log +from oslo_reports import guru_meditation_report as gmr +from oslo_reports import opts as gmr_opts + from nova.db.sqlalchemy import api as sqlalchemy_api from nova import debugger @@ -50,6 +53,7 @@ _DEFAULT_LOGGING_CONTEXT_FORMAT = ('%(asctime)s.%(msecs)03d %(process)d ' def parse_args(argv, default_config_files=None, configure_db=True): log.set_defaults(_DEFAULT_LOGGING_CONTEXT_FORMAT, _DEFAULT_LOG_LEVELS) log.register_options(CONF) + gmr_opts.set_defaults(CONF) options.set_defaults(CONF, connection=_DEFAULT_SQL_CONNECTION, sqlite_db='nova.sqlite') rpc.set_defaults(control_exchange='nova') @@ -58,6 +62,7 @@ def parse_args(argv, default_config_files=None, configure_db=True): project='nova', version=version.version_string(), default_config_files=default_config_files) + gmr.TextGuruMeditation.setup_autorun(version, conf=CONF) rpc.init(CONF) if configure_db: diff --git a/releasenotes/notes/new-oslo-reports-option-619c3dbf3ae320fb.yaml b/releasenotes/notes/new-oslo-reports-option-619c3dbf3ae320fb.yaml new file mode 100644 index 000000000000..e0899ddfc511 --- /dev/null +++ b/releasenotes/notes/new-oslo-reports-option-619c3dbf3ae320fb.yaml @@ -0,0 +1,6 @@ +--- +features: + - You can now specify a directory for generating GMR logs + by adding a "log_dir" key under the "[oslo_report]" section in + nova.conf. If you do not specify this option, you will see the GMR + output in Nova logs. \ No newline at end of file