Merge "Add warning message about slow volume backend"

This commit is contained in:
Zuul 2021-04-08 07:10:05 +00:00 committed by Gerrit Code Review
commit e31158cd24
2 changed files with 21 additions and 1 deletions

View File

@ -2648,7 +2648,20 @@ class VolumeManager(manager.CleanableManager,
resource={'type': 'driver', resource={'type': 'driver',
'id': self.driver.__class__.__name__}) 'id': self.driver.__class__.__name__})
else: else:
volume_stats = self.driver.get_volume_stats(refresh=True) slowmsg = "The " + self.driver.__class__.__name__ + " volume " \
"driver's get_volume_stats operation ran for " \
"%(seconds).1f seconds. This may indicate a " \
"performance problem with the backend which can lead " \
"to instability."
@timeutils.time_it(
LOG, log_level=logging.WARN, message=slowmsg,
min_duration=CONF.backend_stats_polling_interval / 2)
def get_stats():
return self.driver.get_volume_stats(refresh=True)
volume_stats = get_stats()
if self.extra_capabilities: if self.extra_capabilities:
volume_stats.update(self.extra_capabilities) volume_stats.update(self.extra_capabilities)
if volume_stats: if volume_stats:

View File

@ -0,0 +1,7 @@
---
features:
- |
Log a warning from the volume service when a volume driver's
get_volume_stats() call takes a long time to return. This can help
deployers troubleshoot a cinder-volume service misbehaving due to a
driver/backend performance issue.