From aa0255bf629a60c978fe7e1221d877f665c2d34b Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Fri, 20 Oct 2017 08:43:43 -0400 Subject: [PATCH] Limit firmware updates to 256 at a time To keep the concurrent update level to a fairly widely attainable limit, impose 256 at a time limit. This is a gigantic improvement over most previous circumstances still, and can comfortably accommodate three of the most dense racks at a time. --- confluent_server/confluent/firmwaremanager.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/confluent_server/confluent/firmwaremanager.py b/confluent_server/confluent/firmwaremanager.py index 06988f49..0c836f95 100644 --- a/confluent_server/confluent/firmwaremanager.py +++ b/confluent_server/confluent/firmwaremanager.py @@ -23,6 +23,8 @@ import confluent.messages as msg import eventlet updatesbytarget = {} +updatepool = eventlet.greenpool.GreenPool(256) + def execupdate(handler, filename, updateobj): try: @@ -48,7 +50,8 @@ class Updater(object): self.phase = 'initializing' self.detail = '' self.percent = 0.0 - self.updateproc = eventlet.spawn(execupdate, handler, filename, self) + #Change the below to a pool??? + self.updateproc = updatepool.spawn(execupdate, handler, filename, self) if (node, tenant) not in updatesbytarget: updatesbytarget[(node, tenant)] = {} if name is None: