summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-05-08 02:32:31 +0000
committerGerrit Code Review <review@openstack.org>2020-05-08 02:32:31 +0000
commit0d67cc9d5ce7b8d3cabec7ffa86a4fad05cb60b3 (patch)
treec8f77383d51b5aad1e77069b32883fe43631ee34
parent4b62c90063abc0c1b3e6b564a171e8c1d96cb735 (diff)
parentd6f664524dfa4eecbe3e16fda0fec5359faf84c6 (diff)
downloadnova-0d67cc9d5ce7b8d3cabec7ffa86a4fad05cb60b3.tar.gz
Merge "Silence amqp heartbeat warning"
-rw-r--r--nova/config.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/nova/config.py b/nova/config.py
index 4be8e34239..4fbb77e854 100644
--- a/nova/config.py
+++ b/nova/config.py
@@ -15,6 +15,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+import logging
+
from oslo_log import log
from oslo_utils import importutils
@@ -30,6 +32,20 @@ profiler = importutils.try_import('osprofiler.opts')
CONF = nova.conf.CONF
+def rabbit_heartbeat_filter(log_record):
+
+ # Note the type in the log message was fixed in
+ # change Id11db4113c9b1c3add602192c1e915218704ef27
+ # but we handle both form to allow this to be backported
+ # without consideration of the version of oslo.messaging used.
+ # TODO(sean-k-mooney): remove support for typo in follow up
+ # to allow this to be easily backported without modification.
+ messages = [
+ "Unexpected error during heartbeart thread processing",
+ "Unexpected error during heartbeat thread processing"]
+ return not any(msg in log_record.msg for msg in messages)
+
+
def parse_args(argv, default_config_files=None, configure_db=True,
init_rpc=True):
log.register_options(CONF)
@@ -40,6 +56,12 @@ def parse_args(argv, default_config_files=None, configure_db=True,
else:
extra_default_log_levels = ['glanceclient=WARN']
+ # NOTE(sean-k-mooney): this filter addresses bug #1825584
+ # https://bugs.launchpad.net/nova/+bug/1825584
+ # eventlet monkey-patching breaks AMQP heartbeat on uWSGI
+ rabbit_logger = logging.getLogger('oslo.messaging._drivers.impl_rabbit')
+ rabbit_logger.addFilter(rabbit_heartbeat_filter)
+
# NOTE(danms): DEBUG logging in privsep will result in some large
# and potentially sensitive things being logged.
extra_default_log_levels.append('oslo.privsep.daemon=INFO')