summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-08-05 21:30:00 +0000
committerGerrit Code Review <review@openstack.org>2020-08-05 21:30:00 +0000
commit9ae99a11017bb7fa5e5d2b11affe0efdef810ae6 (patch)
treededc550cb02d48f066e5ddb08c8641429ea3e2d0
parent95bce095ed8489968e8dec2f0b6977f79bb8f98a (diff)
parent280007c870b671de9439efba71fd3916403d15da (diff)
downloadnova-9ae99a11017bb7fa5e5d2b11affe0efdef810ae6.tar.gz
Merge "Silence amqp heartbeat warning" into stable/train
-rw-r--r--nova/config.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/nova/config.py b/nova/config.py
index 4be8e34239..865aac6ce8 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,24 @@ profiler = importutils.try_import('osprofiler.opts')
CONF = nova.conf.CONF
+class HeartbeatFilter(logging.Filter):
+
+ def filter(self, 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 record.msg for msg in messages)
+
+
+rabbit_heartbeat_filter = HeartbeatFilter()
+
+
def parse_args(argv, default_config_files=None, configure_db=True,
init_rpc=True):
log.register_options(CONF)
@@ -40,6 +60,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')