mirror of
https://github.com/ceph/ceph
synced 2025-01-02 17:12:31 +00:00
mgr/restful: do not print warning message at seeing unknown request
mgr broadcast "notify()" to call registered plugins upon finishing a send_command() request. and restful plugin prints a warning message if the request is not issued by itself. apparently, there is good chance that the finished request is sent by other mgr plugins, in that case, restful plugin always prints the warning messages like: "2018-10-09 14:52:07.818 7fbc4d8c5700 1 mgr[restful] Unknown request '' this is misleading and annoying. so, in this change * add a prefix of "restful.module" before that tag used for identifying a request. this prefix helps to differentiate the requests sent by restful plugin from other requests. * do not print warning message if none running request matches the given tag * break at seeing the first request matches the given tag, because the tags used by restful plugin are unique. * do not str(self.id) before composing the tag, as it is a `str` already, see CommandsRequest.__init__() * early return to reduce the indent level Fixes: http://tracker.ceph.com/issues/36374 Signed-off-by: Kefu Chai <kchai@redhat.com>
This commit is contained in:
parent
2e146bf0ca
commit
f67df98d43
@ -80,7 +80,7 @@ class CommandsRequest(object):
|
||||
# Gather the results (in parallel)
|
||||
results = []
|
||||
for index in range(len(commands)):
|
||||
tag = '%s:%d' % (str(self.id), index)
|
||||
tag = '%s:%s:%d' % (__name__, self.id, index)
|
||||
|
||||
# Store the result
|
||||
result = CommandResult(tag)
|
||||
@ -361,22 +361,20 @@ class Module(MgrModule):
|
||||
|
||||
|
||||
def _notify(self, notify_type, tag):
|
||||
if notify_type == "command":
|
||||
# we can safely skip all the sequential commands
|
||||
if tag == 'seq':
|
||||
return
|
||||
|
||||
request = [x for x in self.requests if x.is_running(tag)]
|
||||
if len(request) != 1:
|
||||
self.log.warn("Unknown request '%s'" % str(tag))
|
||||
return
|
||||
|
||||
request = request[0]
|
||||
if notify_type != "command":
|
||||
self.log.debug("Unhandled notification type '%s'", notify_type)
|
||||
return
|
||||
# we can safely skip all the sequential commands
|
||||
if tag == 'seq':
|
||||
return
|
||||
try:
|
||||
request = next(x for x in self.requests if x.is_running(tag))
|
||||
request.finish(tag)
|
||||
if request.is_ready():
|
||||
request.next()
|
||||
else:
|
||||
self.log.debug("Unhandled notification type '%s'" % notify_type)
|
||||
except StopIteration:
|
||||
# the command was not issued by me
|
||||
pass
|
||||
|
||||
|
||||
def create_self_signed_cert(self):
|
||||
|
Loading…
Reference in New Issue
Block a user