Skip to content

Commit c3e20a3

Browse files
committed
Revert a fix in get_optimal_nodes to allow additional testing with torque
Note: sge and slurm are not affected by this Signed-off-by: Francesco De Martino <[email protected]>
1 parent 86bfca3 commit c3e20a3

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

jobwatcher/plugins/utils.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,19 @@ def get_optimal_nodes(nodes_requested, slots_requested, instance_properties):
2121
slots_required_per_node = -(-slots // num_of_nodes)
2222

2323
if slots_required_per_node > vcpus:
24-
log.warning(
25-
"Slots required per node (%d) is greater than vcpus available on single node (%d), skipping job...",
26-
slots_required_per_node,
27-
vcpus,
28-
)
29-
continue
24+
# FIXME: Replace this code with the commented section below after testing with Torque
25+
# If slots required per node is greater than vcpus, add additional nodes
26+
# and recalculate slots_required_per_node
27+
log.info("Slots required per node is greater than vcpus, recalculating")
28+
num_of_nodes = -(-slots // vcpus)
29+
slots_required_per_node = -(-slots // num_of_nodes)
30+
log.info("Recalculated: %s nodes and %s slots required per node" % (num_of_nodes, slots_required_per_node))
31+
# log.warning(
32+
# "Slots required per node (%d) is greater than vcpus available on single node (%d), skipping job...",
33+
# slots_required_per_node,
34+
# vcpus,
35+
# )
36+
# continue
3037

3138
# Verify if there are enough available slots in the nodes allocated in the previous rounds
3239
for slot_idx, slots_available in enumerate(slots_remaining_per_node):

tests/jobwatcher/unittests.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def test_each_node_at_capacity(self):
1818

1919
def test_slots_requested_greater_than_available(self):
2020
nodes = utils.get_optimal_nodes([1], [9], instance_properties)
21-
expected = 0
21+
expected = 2
2222
self.assertEqual(nodes, expected)
2323

2424
def test_each_node_half_capacity(self):

0 commit comments

Comments
 (0)