Skip to content

Commit 5895ce0

Browse files
committed
renaming
1 parent 5bb5bf5 commit 5895ce0

File tree

3 files changed

+30
-27
lines changed

3 files changed

+30
-27
lines changed

services/autoscaling/src/simcore_service_autoscaling/models.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ class AssociatedInstance(_BaseInstance):
4747

4848

4949
@dataclass(frozen=True, kw_only=True, slots=True)
50-
class NonAssociatedInstance(_BaseInstance):
51-
...
50+
class NonAssociatedInstance(_BaseInstance): ...
5251

5352

5453
@dataclass(frozen=True, kw_only=True, slots=True)
@@ -68,9 +67,9 @@ class Cluster: # pylint: disable=too-many-instance-attributes
6867
"description": "This is a EC2-backed docker node which is drained (cannot accept tasks)"
6968
}
7069
)
71-
buffer_drained_nodes: list[AssociatedInstance] = field(
70+
hot_buffer_drained_nodes: list[AssociatedInstance] = field(
7271
metadata={
73-
"description": "This is a EC2-backed docker node which is drained in the reserve if this is enabled (with no tasks)"
72+
"description": "This is a EC2-backed docker node which is drained in the reserve if this is enabled (with no tasks, a.k.a. hot buffer)"
7473
}
7574
)
7675
pending_ec2s: list[NonAssociatedInstance] = field(
@@ -83,9 +82,9 @@ class Cluster: # pylint: disable=too-many-instance-attributes
8382
"description": "This is an existing EC2 instance that never properly joined the cluster and is deemed as broken and will be terminated"
8483
}
8584
)
86-
buffer_ec2s: list[NonAssociatedInstance] = field(
85+
warm_buffer_ec2s: list[NonAssociatedInstance] = field(
8786
metadata={
88-
"description": "This is a prepared stopped EC2 instance, not yet associated to a docker node, ready to be used"
87+
"description": "This is a prepared stopped EC2 instance, not yet associated to a docker node, ready to be used (a.k.a. warm buffer)"
8988
}
9089
)
9190
disconnected_nodes: list[Node] = field(
@@ -121,7 +120,7 @@ def total_number_of_machines(self) -> int:
121120
len(self.active_nodes)
122121
+ len(self.pending_nodes)
123122
+ len(self.drained_nodes)
124-
+ len(self.buffer_drained_nodes)
123+
+ len(self.hot_buffer_drained_nodes)
125124
+ len(self.pending_ec2s)
126125
+ len(self.broken_ec2s)
127126
+ len(self.terminating_nodes)
@@ -138,10 +137,10 @@ def _get_instance_ids(
138137
f"Cluster(active-nodes: count={len(self.active_nodes)} {_get_instance_ids(self.active_nodes)}, "
139138
f"pending-nodes: count={len(self.pending_nodes)} {_get_instance_ids(self.pending_nodes)}, "
140139
f"drained-nodes: count={len(self.drained_nodes)} {_get_instance_ids(self.drained_nodes)}, "
141-
f"reserve-drained-nodes: count={len(self.buffer_drained_nodes)} {_get_instance_ids(self.buffer_drained_nodes)}, "
140+
f"hot-buffer-drained-nodes: count={len(self.hot_buffer_drained_nodes)} {_get_instance_ids(self.hot_buffer_drained_nodes)}, "
142141
f"pending-ec2s: count={len(self.pending_ec2s)} {_get_instance_ids(self.pending_ec2s)}, "
143142
f"broken-ec2s: count={len(self.broken_ec2s)} {_get_instance_ids(self.broken_ec2s)}, "
144-
f"buffer-ec2s: count={len(self.buffer_ec2s)} {_get_instance_ids(self.buffer_ec2s)}, "
143+
f"warm-buffer-ec2s: count={len(self.warm_buffer_ec2s)} {_get_instance_ids(self.warm_buffer_ec2s)}, "
145144
f"disconnected-nodes: count={len(self.disconnected_nodes)}, "
146145
f"terminating-nodes: count={len(self.terminating_nodes)} {_get_instance_ids(self.terminating_nodes)}, "
147146
f"retired-nodes: count={len(self.retired_nodes)} {_get_instance_ids(self.retired_nodes)}, "

services/autoscaling/src/simcore_service_autoscaling/modules/cluster_scaling/_auto_scaling_core.py

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -150,10 +150,10 @@ async def _analyze_current_cluster(
150150
active_nodes=active_nodes,
151151
pending_nodes=pending_nodes,
152152
drained_nodes=drained_nodes,
153-
buffer_drained_nodes=hot_buffer_drained_nodes,
153+
hot_buffer_drained_nodes=hot_buffer_drained_nodes,
154154
pending_ec2s=[NonAssociatedInstance(ec2_instance=i) for i in pending_ec2s],
155155
broken_ec2s=[NonAssociatedInstance(ec2_instance=i) for i in broken_ec2s],
156-
buffer_ec2s=[
156+
warm_buffer_ec2s=[
157157
NonAssociatedInstance(ec2_instance=i) for i in buffer_ec2_instances
158158
],
159159
terminating_nodes=terminating_nodes,
@@ -313,7 +313,7 @@ async def _try_attach_pending_ec2s(
313313
_logger.exception("Unexpected EC2 private dns")
314314
# NOTE: first provision the reserve drained nodes if possible
315315
all_drained_nodes = (
316-
cluster.drained_nodes + cluster.buffer_drained_nodes + new_found_instances
316+
cluster.drained_nodes + cluster.hot_buffer_drained_nodes + new_found_instances
317317
)
318318
drained_nodes, buffer_drained_nodes, _ = sort_drained_nodes(
319319
app_settings, all_drained_nodes, allowed_instance_types
@@ -385,7 +385,9 @@ async def _activate_drained_nodes(
385385
) -> Cluster:
386386
nodes_to_activate = [
387387
node
388-
for node in itertools.chain(cluster.drained_nodes, cluster.buffer_drained_nodes)
388+
for node in itertools.chain(
389+
cluster.drained_nodes, cluster.hot_buffer_drained_nodes
390+
)
389391
if node.assigned_tasks
390392
]
391393

@@ -408,7 +410,7 @@ async def _activate_drained_nodes(
408410
]
409411
remaining_reserved_drained_nodes = [
410412
node
411-
for node in cluster.buffer_drained_nodes
413+
for node in cluster.hot_buffer_drained_nodes
412414
if node.ec2_instance.id not in new_active_node_ids
413415
]
414416
return dataclasses.replace(
@@ -428,11 +430,11 @@ async def _start_warm_buffer_instances(
428430
assert app_settings.AUTOSCALING_EC2_INSTANCES # nosec
429431

430432
instances_to_start = [
431-
i.ec2_instance for i in cluster.buffer_ec2s if i.assigned_tasks
433+
i.ec2_instance for i in cluster.warm_buffer_ec2s if i.assigned_tasks
432434
]
433435

434436
if (
435-
len(cluster.buffer_drained_nodes)
437+
len(cluster.hot_buffer_drained_nodes)
436438
< app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_MACHINES_BUFFER
437439
):
438440
# check if we can migrate warm buffers to hot buffers
@@ -444,7 +446,7 @@ async def _start_warm_buffer_instances(
444446
)
445447
free_startable_warm_buffers_to_replace_hot_buffers = [
446448
warm_buffer.ec2_instance
447-
for warm_buffer in cluster.buffer_ec2s
449+
for warm_buffer in cluster.warm_buffer_ec2s
448450
if (warm_buffer.ec2_instance.type == hot_buffer_instance_type)
449451
and not warm_buffer.assigned_tasks
450452
]
@@ -458,7 +460,7 @@ async def _start_warm_buffer_instances(
458460

459461
instances_to_start += free_startable_warm_buffers_to_replace_hot_buffers[
460462
: app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_MACHINES_BUFFER
461-
- len(cluster.buffer_drained_nodes)
463+
- len(cluster.hot_buffer_drained_nodes)
462464
- len(unnassigned_pending_ec2s)
463465
- len(unnassigned_pending_nodes)
464466
]
@@ -483,7 +485,7 @@ async def _start_warm_buffer_instances(
483485
cluster,
484486
buffer_ec2s=[
485487
i
486-
for i in cluster.buffer_ec2s
488+
for i in cluster.warm_buffer_ec2s
487489
if i.ec2_instance.id not in started_instance_ids
488490
],
489491
pending_ec2s=cluster.pending_ec2s
@@ -559,10 +561,10 @@ async def _assign_tasks_to_current_cluster(
559561
functools.partial(_try_assign_task_to_ec2_instance, instances=instances)
560562
for instances in (
561563
cluster.active_nodes,
562-
cluster.drained_nodes + cluster.buffer_drained_nodes,
564+
cluster.drained_nodes + cluster.hot_buffer_drained_nodes,
563565
cluster.pending_nodes,
564566
cluster.pending_ec2s,
565-
cluster.buffer_ec2s,
567+
cluster.warm_buffer_ec2s,
566568
)
567569
]
568570

@@ -686,7 +688,7 @@ async def _find_needed_instances(
686688
if (
687689
num_missing_nodes := (
688690
app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_MACHINES_BUFFER
689-
- len(cluster.buffer_drained_nodes)
691+
- len(cluster.hot_buffer_drained_nodes)
690692
)
691693
) > 0:
692694
# check if some are already pending
@@ -695,7 +697,7 @@ async def _find_needed_instances(
695697
] + [i.ec2_instance for i in cluster.pending_nodes if not i.assigned_tasks]
696698
if len(remaining_pending_instances) < (
697699
app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_MACHINES_BUFFER
698-
- len(cluster.buffer_drained_nodes)
700+
- len(cluster.hot_buffer_drained_nodes)
699701
):
700702
default_instance_type = get_hot_buffer_type(available_ec2_types)
701703
num_instances_per_type[default_instance_type] += num_missing_nodes
@@ -1163,7 +1165,7 @@ async def _scale_up_cluster(
11631165
app_settings = get_application_settings(app)
11641166
assert app_settings.AUTOSCALING_EC2_INSTANCES # nosec
11651167
if not unassigned_tasks and (
1166-
len(cluster.buffer_drained_nodes)
1168+
len(cluster.hot_buffer_drained_nodes)
11671169
>= app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_MACHINES_BUFFER
11681170
):
11691171
return cluster
@@ -1245,7 +1247,9 @@ async def _notify_autoscaling_status(
12451247
) -> None:
12461248
monitored_instances = list(
12471249
itertools.chain(
1248-
cluster.active_nodes, cluster.drained_nodes, cluster.buffer_drained_nodes
1250+
cluster.active_nodes,
1251+
cluster.drained_nodes,
1252+
cluster.hot_buffer_drained_nodes,
12491253
)
12501254
)
12511255

services/autoscaling/src/simcore_service_autoscaling/utils/rabbitmq.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,9 @@ async def _create_autoscaling_status_message(
151151
total_nodes = (
152152
len(cluster.active_nodes)
153153
+ len(cluster.drained_nodes)
154-
+ len(cluster.buffer_drained_nodes)
154+
+ len(cluster.hot_buffer_drained_nodes)
155155
)
156-
drained_nodes = len(cluster.drained_nodes) + len(cluster.buffer_drained_nodes)
156+
drained_nodes = len(cluster.drained_nodes) + len(cluster.hot_buffer_drained_nodes)
157157

158158
return RabbitAutoscalingStatusMessage.model_construct(
159159
origin=origin,

0 commit comments

Comments
 (0)