Skip to content

Commit 86c5e0a

Browse files
Prevent Azure machinery form prematurely deleting machines, leading to sqlalchemy.orm.exc.StaleDataError.
1 parent 831378d commit 86c5e0a

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

lib/cuckoo/core/machinery_manager.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ def scale_pool(self, machine: Machine) -> None:
297297
def start_machine(self, machine: Machine) -> None:
298298
if (
299299
isinstance(self.machine_lock, ScalingBoundedSemaphore)
300-
and self.db.count_machines_running <= self.machines_limit
300+
and self.db.count_machines_running() <= self.machines_limit
301301
and self.machine_lock._value == 0
302302
):
303303
self.machine_lock.release()

modules/machinery/az.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -466,8 +466,9 @@ def stop(self, label):
466466
time.sleep(5)
467467
with reimage_lock:
468468
label_in_reimage_vm_list = label in [f"{vm['vmss']}_{vm['id']}" for vm in reimage_vm_list]
469-
else:
470-
self.delete_machine(label)
469+
# TODO: Find a way to enable machine deletion here without causing a sqlalchemy.orm.exc.StaleDataError
470+
# else:
471+
# self.delete_machine(label)
471472

472473
def availables(self, label=None, platform=None, tags=None, arch=None, include_reserved=False, os_version=[]):
473474
"""

0 commit comments

Comments
 (0)