Support Guru Meditation Report(GMR) in agents
Guru Meditation Report (a.k.a. GMR) is useful for debugging especially when troubleshooting slow steps or something being stuck. Allow generating GMR not only for server processes but also for agent processes so that operators can use the same trick to observe detailed behavior of agents, with agents kept running. Change-Id: I519b543b65a96e9d4444d74ad0abceebe924851e
This commit is contained in:
committed by
Brian Haley
parent
498b0258c5
commit
95a8101de2
@@ -45,6 +45,7 @@ def main():
|
||||
register_options(cfg.CONF)
|
||||
common_config.init(sys.argv[1:])
|
||||
config.setup_logging()
|
||||
common_config.setup_gmr()
|
||||
config.setup_privsep()
|
||||
server = neutron_service.Service.create(
|
||||
binary=constants.AGENT_PROCESS_DHCP,
|
||||
|
||||
@@ -52,6 +52,7 @@ def main(manager='neutron.agent.l3.agent.L3NATAgentWithStateReport'):
|
||||
register_opts(cfg.CONF)
|
||||
common_config.init(sys.argv[1:])
|
||||
config.setup_logging()
|
||||
common_config.setup_gmr()
|
||||
config.setup_privsep()
|
||||
server = neutron_service.Service.create(
|
||||
binary=constants.AGENT_PROCESS_L3,
|
||||
|
||||
@@ -39,6 +39,7 @@ def main():
|
||||
|
||||
config.init(sys.argv[1:])
|
||||
config.setup_logging()
|
||||
config.setup_gmr()
|
||||
utils.log_opt_values(LOG)
|
||||
proxy = agent.UnixDomainMetadataProxy(cfg.CONF)
|
||||
proxy.run()
|
||||
|
||||
@@ -37,6 +37,7 @@ def main():
|
||||
ovn_meta.register_meta_conf_opts(ovn_meta.OVS_OPTS, group='ovs')
|
||||
config.init(sys.argv[1:])
|
||||
config.setup_logging()
|
||||
config.setup_gmr()
|
||||
ovn_meta.setup_privsep()
|
||||
utils.log_opt_values(LOG)
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ def main():
|
||||
config_ovn_agent.register_opts()
|
||||
config.init(sys.argv[1:])
|
||||
config.setup_logging()
|
||||
config.setup_gmr()
|
||||
utils.log_opt_values(LOG)
|
||||
config_ovn_agent.setup_privsep()
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@ from oslo_config import cfg
|
||||
from oslo_log import log as logging
|
||||
import oslo_messaging
|
||||
from oslo_middleware import cors
|
||||
from oslo_reports import guru_meditation_report as gmr
|
||||
from oslo_reports import opts as gmr_opts
|
||||
from oslo_service import wsgi
|
||||
|
||||
from neutron._i18n import _
|
||||
@@ -122,6 +124,14 @@ def setup_logging():
|
||||
LOG.debug("command line: %s", " ".join(sys.argv))
|
||||
|
||||
|
||||
def setup_gmr():
|
||||
"""Sets up Guru Meditation Report(GMR) generation."""
|
||||
gmr_opts.set_defaults(cfg.CONF)
|
||||
_version_string = version.version_info.release_string()
|
||||
gmr.TextGuruMeditation.setup_autorun(version=_version_string,
|
||||
conf=cfg.CONF)
|
||||
|
||||
|
||||
def reset_service():
|
||||
# Reset worker in case SIGHUP is called.
|
||||
# Note that this is called only in case a service is running in
|
||||
|
||||
@@ -1009,6 +1009,7 @@ def main():
|
||||
common_config.init(sys.argv[1:])
|
||||
|
||||
common_config.setup_logging()
|
||||
common_config.setup_gmr()
|
||||
agent_config.setup_privsep()
|
||||
service_conf.register_service_opts(service_conf.RPC_EXTRA_OPTS, cfg.CONF)
|
||||
|
||||
|
||||
@@ -210,6 +210,7 @@ def main():
|
||||
common_config.init(sys.argv[1:])
|
||||
|
||||
common_config.setup_logging()
|
||||
common_config.setup_gmr()
|
||||
agent_config.setup_privsep()
|
||||
|
||||
validate_firewall_driver()
|
||||
|
||||
@@ -563,6 +563,7 @@ def main():
|
||||
common_config.init(sys.argv[1:])
|
||||
|
||||
common_config.setup_logging()
|
||||
common_config.setup_gmr()
|
||||
agent_config.setup_privsep()
|
||||
service_conf.register_service_opts(service_conf.RPC_EXTRA_OPTS, cfg.CONF)
|
||||
|
||||
|
||||
@@ -34,5 +34,6 @@ def main():
|
||||
common_config.init(sys.argv[1:])
|
||||
of_main.init_config()
|
||||
common_config.setup_logging()
|
||||
common_config.setup_gmr()
|
||||
profiler.setup("neutron-ovs-agent", cfg.CONF.host)
|
||||
of_main.main()
|
||||
|
||||
@@ -21,12 +21,9 @@ import os
|
||||
import sys
|
||||
|
||||
from oslo_config import cfg
|
||||
from oslo_reports import guru_meditation_report as gmr
|
||||
from oslo_reports import opts as gmr_opts
|
||||
|
||||
from neutron._i18n import _
|
||||
from neutron.common import config
|
||||
from neutron import version
|
||||
|
||||
# NOTE(annp): These environment variables are required for deploying
|
||||
# neutron-api under mod_wsgi. Currently, these variables are set as DevStack's
|
||||
@@ -77,11 +74,8 @@ def boot_server(server_func):
|
||||
if not logger.handlers:
|
||||
logger.addHandler(sys_logging.StreamHandler())
|
||||
|
||||
_version_string = version.version_info.release_string()
|
||||
_init_configuration()
|
||||
gmr_opts.set_defaults(cfg.CONF)
|
||||
gmr.TextGuruMeditation.setup_autorun(version=_version_string,
|
||||
conf=cfg.CONF)
|
||||
config.setup_gmr()
|
||||
try:
|
||||
return server_func()
|
||||
except KeyboardInterrupt:
|
||||
|
||||
@@ -400,6 +400,7 @@ def main():
|
||||
config.register_agent_state_opts_helper(conf)
|
||||
common_config.init(sys.argv[1:])
|
||||
config.setup_logging()
|
||||
common_config.setup_gmr()
|
||||
config.setup_privsep()
|
||||
server = neutron_service.Service.create(
|
||||
binary=constants.AGENT_PROCESS_METERING,
|
||||
|
||||
Reference in New Issue
Block a user