@@ -41,9 +41,11 @@ def __init__(
41
41
project_id : str = None ,
42
42
scheduler_cpu : str = None ,
43
43
scheduler_mem : str = None ,
44
+ scheduler_disk : str = None ,
44
45
scheduler_timeout : int = None ,
45
46
worker_cpu : str = None ,
46
47
worker_mem : str = None ,
48
+ worker_disk : str = None ,
47
49
worker_threads : int = None ,
48
50
api_key : str = None ,
49
51
** kwargs ,
@@ -56,9 +58,11 @@ def __init__(
56
58
self .project_id = project_id
57
59
self .scheduler_cpu = scheduler_cpu
58
60
self .scheduler_mem = scheduler_mem
61
+ self .scheduler_disk = scheduler_disk
59
62
self .scheduler_timeout = scheduler_timeout
60
63
self .worker_cpu = worker_cpu
61
64
self .worker_mem = worker_mem
65
+ self .worker_disk = worker_disk
62
66
self .worker_threads = worker_threads
63
67
self .api_key = api_key
64
68
@@ -89,6 +93,7 @@ async def create_vm(self):
89
93
scale_min_instances = 1 ,
90
94
scale_concurrency = 1000 ,
91
95
scale_memory_limit = self .memory ,
96
+ scale_ephemeral_storage_limit = self .disk ,
92
97
scale_request_timeout = self .cluster .scheduler_timeout ,
93
98
run_env_variables = [
94
99
{
@@ -144,6 +149,7 @@ def create_job_run_thread():
144
149
run_commands = self .command ,
145
150
scale_cpu_limit = self .cpu ,
146
151
scale_memory_limit = self .memory ,
152
+ scale_ephemeral_storage_limit = self .disk ,
147
153
run_env_variables = [
148
154
{
149
155
"type" : "config_map_key_reference" ,
@@ -194,6 +200,7 @@ def __init__(self, *args, **kwargs):
194
200
super ().__init__ (* args , ** kwargs )
195
201
self .cpu = self .cluster .scheduler_cpu
196
202
self .memory = self .cluster .scheduler_mem
203
+ self .disk = self .cluster .scheduler_disk
197
204
198
205
self .command = [
199
206
"python" ,
@@ -211,9 +218,11 @@ async def start(self):
211
218
f"\n Project id: { self .project_id } "
212
219
f"\n Scheduler CPU: { self .cpu } "
213
220
f"\n Scheduler Memory: { self .memory } "
221
+ f"\n Scheduler Disk: { self .disk } "
214
222
f"\n Scheduler Timeout: { self .cluster .scheduler_timeout } "
215
223
f"\n Worker CPU: { self .cluster .worker_cpu } "
216
224
f"\n Worker Memory: { self .cluster .worker_mem } "
225
+ f"\n Worker Disk: { self .cluster .worker_disk } "
217
226
f"\n Worker Threads: { self .cluster .worker_threads } "
218
227
)
219
228
self .cluster ._log (f"Creating scheduler instance { self .name } " )
@@ -244,6 +253,7 @@ def __init__(
244
253
self .worker_options = worker_options
245
254
self .cpu = self .cluster .worker_cpu
246
255
self .memory = self .cluster .worker_mem
256
+ self .disk = self .cluster .worker_disk
247
257
248
258
# On this case, the worker must connect to the scheduler internal URL with the "ws" protocol and port 80
249
259
internal_scheduler = f"ws://{ self .cluster .scheduler_internal_ip } :80"
@@ -300,6 +310,8 @@ class IBMCodeEngineCluster(VMCluster):
300
310
The amount of memory to allocate to the scheduler.
301
311
302
312
See: https://cloud.ibm.com/docs/codeengine?topic=codeengine-mem-cpu-combo
313
+ scheduler_disk: str
314
+ The amount of ephemeral storage to allocate to the scheduler. This value must be lower than scheduler_mem.
303
315
scheduler_timeout: int
304
316
The timeout for the scheduler in seconds.
305
317
worker_cpu: str
@@ -310,6 +322,8 @@ class IBMCodeEngineCluster(VMCluster):
310
322
The amount of memory to allocate to each worker.
311
323
312
324
See: https://cloud.ibm.com/docs/codeengine?topic=codeengine-mem-cpu-combo
325
+ worker_disk: str
326
+ The amount of ephemeral storage to allocate to each worker. This value must be lower than worker_mem.
313
327
worker_threads: int
314
328
The number of threads to use on each worker.
315
329
debug: bool, optional
@@ -347,9 +361,11 @@ class IBMCodeEngineCluster(VMCluster):
347
361
Project id: f21626f6-54f7-4065-a038-75c8b9a0d2e0
348
362
Scheduler CPU: 0.25
349
363
Scheduler Memory: 1G
364
+ Scheduler Disk: 400M
350
365
Scheduler Timeout: 600
351
366
Worker CPU: 2
352
367
Worker Memory: 4G
368
+ Worker Disk: 400M
353
369
Creating scheduler dask-xxxxxxxx-scheduler
354
370
Waiting for scheduler to run at dask-xxxxxxxx-scheduler.xxxxxxxxxxxx.xx-xx.codeengine.appdomain.cloud:443
355
371
Scheduler is running
@@ -382,9 +398,12 @@ class IBMCodeEngineCluster(VMCluster):
382
398
Project id: f21626f6-54f7-4065-a038-75c8b9a0d2e0
383
399
Scheduler CPU: 0.25
384
400
Scheduler Memory: 1G
401
+ Scheduler Disk: 400M
385
402
Scheduler Timeout: 600
386
403
Worker CPU: 2
387
404
Worker Memory: 4G
405
+ Worker Disk: 400M
406
+ Worker Threads: 1
388
407
Creating scheduler dask-xxxxxxxx-scheduler
389
408
Waiting for scheduler to run at dask-xxxxxxxx-scheduler.xxxxxxxxxxxx.xx-xx.codeengine.appdomain.cloud:443
390
409
Scheduler is running
@@ -402,9 +421,11 @@ def __init__(
402
421
project_id : str = None ,
403
422
scheduler_cpu : str = None ,
404
423
scheduler_mem : str = None ,
424
+ scheduler_disk : str = None ,
405
425
scheduler_timeout : int = None ,
406
426
worker_cpu : str = None ,
407
427
worker_mem : str = None ,
428
+ worker_disk : str = None ,
408
429
worker_threads : int = 1 ,
409
430
debug : bool = False ,
410
431
** kwargs ,
@@ -419,11 +440,13 @@ def __init__(
419
440
api_key = self .config .get ("api_key" )
420
441
self .scheduler_cpu = scheduler_cpu or self .config .get ("scheduler_cpu" )
421
442
self .scheduler_mem = scheduler_mem or self .config .get ("scheduler_mem" )
443
+ self .scheduler_disk = scheduler_disk or self .config .get ("scheduler_disk" )
422
444
self .scheduler_timeout = scheduler_timeout or self .config .get (
423
445
"scheduler_timeout"
424
446
)
425
447
self .worker_cpu = worker_cpu or self .config .get ("worker_cpu" )
426
448
self .worker_mem = worker_mem or self .config .get ("worker_mem" )
449
+ self .worker_disk = worker_disk or self .config .get ("worker_disk" )
427
450
self .worker_threads = worker_threads or self .config .get ("worker_threads" )
428
451
429
452
self .debug = debug
@@ -436,9 +459,11 @@ def __init__(
436
459
"project_id" : self .project_id ,
437
460
"scheduler_cpu" : self .scheduler_cpu ,
438
461
"scheduler_mem" : self .scheduler_mem ,
462
+ "scheduler_disk" : self .scheduler_disk ,
439
463
"scheduler_timeout" : self .scheduler_timeout ,
440
464
"worker_cpu" : self .worker_cpu ,
441
465
"worker_mem" : self .worker_mem ,
466
+ "worker_disk" : self .worker_disk ,
442
467
"worker_threads" : self .worker_threads ,
443
468
"api_key" : api_key ,
444
469
}
0 commit comments