diff --git a/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py b/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py index ff8adbb2..f4278a90 100644 --- a/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py +++ b/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py @@ -290,6 +290,15 @@ def perform_requests(operator, nodes, element, cfg, inputdata): for t in list(livingthreads): if t.dead: livingthreads.discard(t) + try: + # drain queue if a thread put something on the queue and died + while True: + datum = resultdata.get_nowait() + if datum != 'Done': + yield datum + except queue.Empty: + pass + def perform_request(operator, node, element,