Skip to content

Commit edb65cd

Browse files
authored
Merge pull request #1357 from skalenetwork/fix-limits
Fix limits
2 parents 8fe63bc + aa798e1 commit edb65cd

4 files changed

Lines changed: 20 additions & 4 deletions

File tree

core/chain/containers.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ def monitor_skaled_container(
5959
dutils: Optional[DockerUtils] = None,
6060
passive_node: bool = False,
6161
historic_state: bool = False,
62+
part_of_node: Optional[int] = None,
6263
) -> None:
6364
dutils = dutils or DockerUtils()
6465
logger.info(f'Monitoring skaled container for {chain_name}')
@@ -83,6 +84,7 @@ def monitor_skaled_container(
8384
snapshot_from=snapshot_from,
8485
passive_node=passive_node,
8586
historic_state=historic_state,
87+
part_of_node=part_of_node,
8688
)
8789
update_ssl_change_date(chain_record)
8890
chain_record.reset_failed_counters()
@@ -118,6 +120,7 @@ def monitor_ima_container(
118120
ima_data: ImaData,
119121
migration_ts: int = 0,
120122
dutils: DockerUtils | None = None,
123+
part_of_node: Optional[int] = None,
121124
) -> None:
122125
dutils = dutils or DockerUtils()
123126

@@ -153,7 +156,12 @@ def monitor_ima_container(
153156
'%s No IMA container, creating, image %s, time frame %d', chain_name, image, time_frame
154157
)
155158
run_ima_container(
156-
chain_name, ima_data.chain_id, image=image, time_frame=time_frame, dutils=dutils
159+
chain_name,
160+
ima_data.chain_id,
161+
image=image,
162+
time_frame=time_frame,
163+
dutils=dutils,
164+
part_of_node=part_of_node,
157165
)
158166
else:
159167
logger.debug('Chain %s: IMA container exists, but not running, skipping', chain_name)

core/chain/runner.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ def run_skaled_container(
212212
):
213213
cpu_limit = None
214214
mem_limit = None
215-
if part_of_node and not passive_node and not is_fair():
215+
if part_of_node is not None and not passive_node and not is_fair():
216216
schain_type = get_schain_type(part_of_node)
217217
cpu_limit = get_schain_limit(schain_type, MetricType.cpu_shares)
218218
mem_limit = get_schain_limit(schain_type, MetricType.mem)
@@ -259,7 +259,7 @@ def run_ima_container(
259259
cpu_limit = None
260260
mem_limit = None
261261

262-
if part_of_node:
262+
if part_of_node is not None:
263263
schain_type = get_schain_type(part_of_node)
264264
cpu_limit = get_ima_limit(schain_type, MetricType.cpu_shares)
265265
mem_limit = get_ima_limit(schain_type, MetricType.mem)

core/monitor/schain/action_skaled.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ def skaled_container(
127127
dutils=self.dutils,
128128
passive_node=is_passive(),
129129
historic_state=self.node_options.historic_state,
130+
part_of_node=self.schain.part_of_node,
130131
)
131132
time.sleep(self.post_run_delay)
132133
return True
@@ -206,7 +207,11 @@ def ima_container(self) -> bool:
206207
ima_data = ImaData(linked=self.econfig.ima_linked, chain_id=self.econfig.chain_id)
207208
logger.info('Running IMA container watchman')
208209
monitor_ima_container(
209-
self.chain_name, ima_data, migration_ts=migration_ts, dutils=self.dutils
210+
self.chain_name,
211+
ima_data,
212+
migration_ts=migration_ts,
213+
dutils=self.dutils,
214+
part_of_node=self.schain.part_of_node,
210215
)
211216
else:
212217
logger.info('ima_container - ok')

tests/schains/monitor/action/skaled_action_test.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def monitor_skaled_container_mock(
4040
dutils: Optional[DockerUtils] = None,
4141
passive_node: bool = False,
4242
historic_state: bool = False,
43+
part_of_node: Optional[int] = None,
4344
):
4445
if dutils is None:
4546
dutils = DockerUtils()
@@ -135,6 +136,7 @@ def test_skaled_container_with_snapshot_action(skaled_am: SkaledActionManager):
135136
dutils=skaled_am.dutils,
136137
passive_node=False,
137138
historic_state=False,
139+
part_of_node=skaled_am.schain.part_of_node,
138140
)
139141
assert monitor_skaled_container_mock.call_count == 1
140142
finally:
@@ -161,6 +163,7 @@ def test_skaled_container_snapshot_delay_start_action(skaled_am: SkaledActionMan
161163
dutils=skaled_am.dutils,
162164
passive_node=False,
163165
historic_state=False,
166+
part_of_node=skaled_am.schain.part_of_node,
164167
)
165168
assert monitor_skaled_container_mock.call_count == 1
166169
finally:

0 commit comments

Comments
 (0)