Skip to content

Commit 93ece65

Browse files
committed
Set HostConfig.Memory and HostConfig.NanoCPUs fields when provided
1 parent 8db40c0 commit 93ece65

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

haproxy_agent.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from base64 import b64encode
1818
from enum import IntEnum
1919
from ipaddress import IPv4Address, IPv6Address, ip_address
20-
from typing import Literal, Self
20+
from typing import Any, Literal, Self
2121

2222
import aiohttp
2323
from aiohttp import web
@@ -115,6 +115,7 @@ class CreateExAppPayload(ExAppName):
115115
"cpu", description="Possible values: 'cpu', 'rocm' or 'cuda'"
116116
)
117117
mount_points: list[CreateExAppMounts] = Field([], description="List of mount points for the container.")
118+
resource_limits: dict[str, Any] = Field({}, description="Resource limits for the container.")
118119

119120

120121
class RemoveExAppPayload(ExAppName):
@@ -649,6 +650,12 @@ async def docker_exapp_create(request: web.Request):
649650
devices.append({"PathOnHost": device, "PathInContainer": device, "CgroupPermissions": "rwm"})
650651
container_config["HostConfig"]["Devices"] = devices
651652

653+
if payload.resource_limits:
654+
if "memory" in payload.resource_limits:
655+
container_config["HostConfig"]["Memory"] = payload.resource_limits["memory"]
656+
if "nanoCPUs" in payload.resource_limits:
657+
container_config["HostConfig"]["NanoCPUs"] = payload.resource_limits["nanoCPUs"]
658+
652659
for extra_mount in payload.mount_points:
653660
container_config["HostConfig"]["Mounts"].append(
654661
{

0 commit comments

Comments
 (0)