A Guru Meditation Report (GMR) is generated by the Designate services when service processes receiving SIGUSR2 signal. The report is a general-purpose debug report for developers and system admins which contains the current state of a running Designate service process.
A GMR can be generated by sending the USR2 signal to any Designate processes.
For example, suppose designate-central has pid 15097, kill -USR2 15097 will trigger a GMR.
If option logdir has been set in designate.conf, the GMR will be saved in the folder which logdir specified. Otherwise, the GMR will be printed to the stderr.
========================================================================
====                        Guru Meditation                         ====
========================================================================
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
========================================================================
====                            Package                             ====
========================================================================
product = OpenStack Designate
vendor = OpenStack Foundation
version = 2015.1
========================================================================
====                            Threads                             ====
========================================================================
------                  Thread #140098874533632                   ------
/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py:346 in run
    `self.wait(sleep_time)`
/usr/local/lib/python2.7/dist-packages/eventlet/hubs/poll.py:85 in wait
    `presult = self.do_poll(seconds)`
/usr/local/lib/python2.7/dist-packages/eventlet/hubs/epolls.py:62 in do_poll
    `return self.poll.poll(seconds)`
========================================================================
====                         Green Threads                          ====
========================================================================
------                        Green Thread                        ------
/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py:214 in main
    `result = function(*args, **kwargs)`
/opt/stack/designate/designate/openstack/common/service.py:492 in run_service
    `done.wait()`
/usr/local/lib/python2.7/dist-packages/eventlet/event.py:121 in wait
    `return hubs.get_hub().switch()`
/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py:294 in switch
    `return self.greenlet.switch()`
------                        Green Thread                        ------
/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py:214 in main
    `result = function(*args, **kwargs)`
/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py:95 in inner_func
    `return infunc(*args, **kwargs)`
/usr/local/lib/python2.7/dist-packages/oslo_messaging/_executors/impl_eventlet.py:96 in _executor_thread
    `incoming = self.listener.poll()`
/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py:121 in poll
    `self.conn.consume(limit=1, timeout=timeout)`
/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py:867 in consume
    `six.next(it)`
/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py:782 in iterconsume
    `yield self.ensure(_error_callback, _consume)`
/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py:688 in ensure
    `ret, channel = autoretry_method()`
/usr/local/lib/python2.7/dist-packages/kombu/connection.py:436 in _ensured
    `return fun(*args, **kwargs)`
/usr/local/lib/python2.7/dist-packages/kombu/connection.py:508 in __call__
    `return fun(*args, channel=channels[0], **kwargs), channels[0]`
/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py:675 in execute_method
    `method()`
/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py:774 in _consume
    `return self.connection.drain_events(timeout=poll_timeout)`
/usr/local/lib/python2.7/dist-packages/kombu/connection.py:275 in drain_events
    `return self.transport.drain_events(self.connection, **kwargs)`
/usr/local/lib/python2.7/dist-packages/kombu/transport/pyamqp.py:91 in drain_events
    `return connection.drain_events(**kwargs)`
/usr/local/lib/python2.7/dist-packages/amqp/connection.py:302 in drain_events
    `chanmap, None, timeout=timeout,`
/usr/local/lib/python2.7/dist-packages/amqp/connection.py:365 in _wait_multiple
    `channel, method_sig, args, content = read_timeout(timeout)`
/usr/local/lib/python2.7/dist-packages/amqp/connection.py:336 in read_timeout
    `return self.method_reader.read_method()`
/usr/local/lib/python2.7/dist-packages/amqp/method_framing.py:186 in read_method
    `self._next_method()`
/usr/local/lib/python2.7/dist-packages/amqp/method_framing.py:107 in _next_method
    `frame_type, channel, payload = read_frame()`
/usr/local/lib/python2.7/dist-packages/amqp/transport.py:154 in read_frame
    `frame_header = read(7, True)`
/usr/local/lib/python2.7/dist-packages/amqp/transport.py:277 in _read
    `s = recv(n - len(rbuf))`
/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py:326 in recv
    `timeout_exc=socket.timeout("timed out"))`
/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py:201 in _trampoline
    `mark_as_closed=self._mark_as_closed)`
/usr/local/lib/python2.7/dist-packages/eventlet/hubs/__init__.py:162 in trampoline
    `return hub.switch()`
/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py:294 in switch
    `return self.greenlet.switch()`
------                        Green Thread                        ------
/usr/local/bin/designate-central:10 in <module>
    `sys.exit(main())`
/opt/stack/designate/designate/cmd/central.py:37 in main
    `service.wait()`
/opt/stack/designate/designate/service.py:356 in wait
    `_launcher.wait()`
/opt/stack/designate/designate/openstack/common/service.py:187 in wait
    `status, signo = self._wait_for_exit_or_signal(ready_callback)`
/opt/stack/designate/designate/openstack/common/service.py:170 in _wait_for_exit_or_signal
    `super(ServiceLauncher, self).wait()`
/opt/stack/designate/designate/openstack/common/service.py:133 in wait
    `self.services.wait()`
/opt/stack/designate/designate/openstack/common/service.py:473 in wait
    `self.tg.wait()`
/opt/stack/designate/designate/openstack/common/threadgroup.py:145 in wait
    `x.wait()`
/opt/stack/designate/designate/openstack/common/threadgroup.py:47 in wait
    `return self.thread.wait()`
/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py:175 in wait
    `return self._exit_event.wait()`
/usr/local/lib/python2.7/dist-packages/eventlet/event.py:121 in wait
    `return hubs.get_hub().switch()`
/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py:294 in switch
    `return self.greenlet.switch()`
------                        Green Thread                        ------
No Traceback!
========================================================================
====                           Processes                            ====
========================================================================
Process 15097 (under 7312) [ run by: stanzgy (1000), state: running ]
========================================================================
====                         Configuration                          ====
========================================================================
backend:agent:bind9:
  query-destination = 127.0.0.1
  rndc-config-file = None
  rndc-host = 127.0.0.1
  rndc-key-file = None
  rndc-port = 953
  zone-file-path = /opt/stack/data/designate/zones
backend:bind9:
  masters =
    127.0.0.1:5354
  rndc-config-file = None
  rndc-host = 127.0.0.1
  rndc-key-file = None
  rndc-port = 953
  server_ids =
backend:fake:
  masters =
    127.0.0.1:5354
  server_ids =
backend:powerdns:
  backend = sqlalchemy
  connection = ***
  connection_debug = 0
  connection_trace = False
  db_inc_retry_interval = True
  db_max_retries = 20
  db_max_retry_interval = 10
  db_retry_interval = 1
  idle_timeout = 3600
  masters =
    10.180.64.117:5354
  max_overflow = None
  max_pool_size = None
  max_retries = 10
  min_pool_size = 1
  mysql_sql_mode = TRADITIONAL
  pool_timeout = None
  retry_interval = 10
  server_ids =
    f26e0b32-736f-4f0a-831b-039a415c481e
  slave_connection = ***
  sqlite_db = oslo.sqlite
  sqlite_synchronous = True
  use_db_reconnect = False
backend:powerdns:f26e0b32-736f-4f0a-831b-039a415c481e:
  backend = None
  connection = ***
  connection_debug = None
  connection_trace = None
  db_inc_retry_interval = None
  db_max_retries = None
  db_max_retry_interval = None
  db_retry_interval = None
  host = 10.180.64.117
  idle_timeout = None
  masters = None
  max_overflow = None
  max_pool_size = None
  max_retries = None
  min_pool_size = None
  mysql_sql_mode = None
  pool_timeout = None
  port = 53
  retry_interval = None
  slave_connection = ***
  sqlite_db = None
  sqlite_synchronous = None
  tsig-key = None
  use_db_reconnect = None
default:
  allowed_remote_exmods =
  backdoor_port = None
  backlog = 4096
  central-topic = central
  config-dir = None
  config-file =
    /etc/designate/designate.conf
  control_exchange = designate
  debug = True
  default-soa-expire = 86400
  default-soa-minimum = 3600
  default-soa-refresh-min = 3500
  default-soa-refresh-max = 3600
  default-soa-retry = 600
  default-ttl = 3600
  default_log_levels =
    amqp=WARN
    amqplib=WARN
    boto=WARN
    eventlet.wsgi.server=WARN
    keystone=INFO
    keystonemiddleware.auth_token=INFO
    oslo.messaging=WARN
    sqlalchemy=WARN
    stevedore=WARN
    suds=INFO
  fatal_deprecations = False
  host = cns-dev2
  instance_format = [instance: %(uuid)s]
  instance_uuid_format = [instance: %(uuid)s]
  log-config-append = None
  log-date-format = %Y-%m-%d %H:%M:%S
  log-dir = /opt/stack/logs/designate
  log-file = None
  log-format = None
  logging_context_format_string = %(asctime)s.%(msecs)03d %(color)s%(levelname)s %(name)s [[01;36m%(request_id)s [00;36m%(user)s %(tenant)s%(color)s] [01;35m%(instance)s%(color)s%(message)s[00m
  logging_debug_format_suffix = [00;33mfrom (pid=%(process)d) %(funcName)s %(pathname)s:%(lineno)d[00m
  logging_default_format_string = %(asctime)s.%(msecs)03d %(color)s%(levelname)s %(name)s [[00;36m-%(color)s] [01;35m%(instance)s%(color)s%(message)s[00m
  logging_exception_prefix = %(color)s%(asctime)s.%(msecs)03d TRACE %(name)s [01;35m%(instance)s[00m
  mdns-topic = mdns
  network_api = neutron
  notification_driver =
  notification_topics =
    notifications
  policy_default_rule = default
  policy_dirs =
    policy.d
  policy_file = /etc/designate/policy.json
  pool-manager-topic = pool_manager
  publish_errors = False
  pybasedir = /opt/stack/designate
  quota-domain-records = 500
  quota-domain-recordsets = 500
  quota-domains = 10
  quota-driver = storage
  quota-recordset-records = 20
  root-helper = sudo designate-rootwrap /etc/designate/rootwrap.conf
  rpc_backend = rabbit
  rpc_thread_pool_size = 64
  state-path = /opt/stack/data/designate
  syslog-log-facility = LOG_USER
  tcp_keepidle = 600
  transport_url = None
  use-syslog = False
  use-syslog-rfc-format = False
  use_stderr = True
  verbose = True
network_api:neutron:
  admin_password = ***
  admin_tenant_name = None
  admin_username = None
  auth_strategy = keystone
  auth_url = None
  ca_certificates_file = None
  endpoint_type = publicURL
  endpoints = None
  insecure = False
  timeout = 30
oslo_concurrency:
  disable_process_locking = False
  lock_path = None
oslo_messaging_rabbit:
  amqp_auto_delete = False
  amqp_durable_queues = False
  fake_rabbit = False
  kombu_reconnect_delay = 1.0
  kombu_ssl_ca_certs =
  kombu_ssl_certfile =
  kombu_ssl_keyfile =
  kombu_ssl_version =
  rabbit_ha_queues = False
  rabbit_host = localhost
  rabbit_hosts =
    127.0.0.1
  rabbit_login_method = AMQPLAIN
  rabbit_max_retries = 0
  rabbit_password = ***
  rabbit_port = 5672
  rabbit_retry_backoff = 2
  rabbit_retry_interval = 1
  rabbit_use_ssl = False
  rabbit_userid = stackrabbit
  rabbit_virtual_host = /
  rpc_conn_pool_size = 30
proxy:
  http_proxy = None
  https_proxy = None
  no_proxy =
service:central:
  default_pool_id = 794ccc2c-d751-44fe-b57f-8894c9f5c842
  enabled-notification-handlers =
  managed_resource_email = hostmaster@example.com
  managed_resource_tenant_id = None
  max_domain_name_len = 255
  max_recordset_name_len = 255
  min_ttl = None
  storage-driver = sqlalchemy
  workers = None
service:pool_manager:
  backends =
    powerdns
  cache-driver = sqlalchemy
  enable-recovery-timer = True
  enable-sync-timer = True
  periodic-recovery-interval = 120
  periodic-sync-interval = 300
  periodic-sync-seconds = None
  poll-delay = 1
  poll-max-retries = 3
  poll-retry-interval = 2
  poll-timeout = 30
  pool-id = 794ccc2c-d751-44fe-b57f-8894c9f5c842
  threshold-percentage = 100
  workers = None
ssl:
  ca_file = None
  cert_file = None
  key_file = None
storage:sqlalchemy:
  backend = sqlalchemy
  connection = ***
  connection_debug = 0
  connection_trace = False
  db_inc_retry_interval = True
  db_max_retries = 20
  db_max_retry_interval = 10
  db_retry_interval = 1
  idle_timeout = 3600
  max_overflow = None
  max_pool_size = None
  max_retries = 10
  min_pool_size = 1
  mysql_sql_mode = TRADITIONAL
  pool_timeout = None
  retry_interval = 10
  slave_connection = ***
  sqlite_db = oslo.sqlite
  sqlite_synchronous = True
  use_db_reconnect = False