portacode 1.4.17.dev5__py3-none-any.whl → 1.4.17.dev6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- portacode/_version.py +2 -2
- portacode/connection/handlers/proxmox_infra.py +39 -39
- {portacode-1.4.17.dev5.dist-info → portacode-1.4.17.dev6.dist-info}/METADATA +1 -1
- {portacode-1.4.17.dev5.dist-info → portacode-1.4.17.dev6.dist-info}/RECORD +8 -8
- {portacode-1.4.17.dev5.dist-info → portacode-1.4.17.dev6.dist-info}/WHEEL +0 -0
- {portacode-1.4.17.dev5.dist-info → portacode-1.4.17.dev6.dist-info}/entry_points.txt +0 -0
- {portacode-1.4.17.dev5.dist-info → portacode-1.4.17.dev6.dist-info}/licenses/LICENSE +0 -0
- {portacode-1.4.17.dev5.dist-info → portacode-1.4.17.dev6.dist-info}/top_level.txt +0 -0
portacode/_version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '1.4.17.
|
|
32
|
-
__version_tuple__ = version_tuple = (1, 4, 17, '
|
|
31
|
+
__version__ = version = '1.4.17.dev6'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 4, 17, 'dev6')
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -1924,45 +1924,45 @@ class CreateProxmoxContainerHandler(SyncHandler):
|
|
|
1924
1924
|
_validate_environment,
|
|
1925
1925
|
)
|
|
1926
1926
|
|
|
1927
|
-
def _create_container():
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1927
|
+
def _create_container():
|
|
1928
|
+
proxmox = _connect_proxmox(config)
|
|
1929
|
+
node = config.get("node") or DEFAULT_NODE_NAME
|
|
1930
|
+
payload = _build_container_payload(message, config)
|
|
1931
|
+
payload["cpulimit"] = float(payload["cpus"])
|
|
1932
|
+
payload["cores"] = int(max(math.ceil(payload["cpus"]), 1))
|
|
1933
|
+
payload["memory"] = int(payload["ram_mib"])
|
|
1934
|
+
payload["node"] = node
|
|
1935
|
+
# Validate against current free resources (same math as dashboard charts) and place a short-lived reservation.
|
|
1936
|
+
summary = _get_managed_containers_summary(force=True)
|
|
1937
|
+
with _CAPACITY_LOCK:
|
|
1938
|
+
try:
|
|
1939
|
+
_assert_capacity_for_payload(payload, summary)
|
|
1940
|
+
except RuntimeError as exc:
|
|
1941
|
+
raise RuntimeError(f"Not enough resources to create the container safely: {exc}") from exc
|
|
1942
|
+
_PENDING_ALLOCATIONS["ram_mib"] += float(payload["ram_mib"] or 0)
|
|
1943
|
+
_PENDING_ALLOCATIONS["disk_gib"] += float(payload["disk_gib"] or 0)
|
|
1944
|
+
_PENDING_ALLOCATIONS["cpu_share"] += float(payload["cpus"] or 0)
|
|
1945
|
+
try:
|
|
1946
|
+
vmid, _ = _instantiate_container(proxmox, node, payload)
|
|
1947
|
+
finally:
|
|
1948
|
+
with _CAPACITY_LOCK:
|
|
1949
|
+
_PENDING_ALLOCATIONS["ram_mib"] -= float(payload["ram_mib"] or 0)
|
|
1950
|
+
_PENDING_ALLOCATIONS["disk_gib"] -= float(payload["disk_gib"] or 0)
|
|
1951
|
+
_PENDING_ALLOCATIONS["cpu_share"] -= float(payload["cpus"] or 0)
|
|
1952
|
+
logger.debug(
|
|
1953
|
+
"Provisioning container node=%s template=%s ram=%s cpu=%s storage=%s",
|
|
1954
|
+
node,
|
|
1955
|
+
payload["template"],
|
|
1956
|
+
payload["ram_mib"],
|
|
1957
|
+
payload["cpus"],
|
|
1958
|
+
payload["storage"],
|
|
1959
|
+
)
|
|
1960
|
+
payload["vmid"] = vmid
|
|
1961
|
+
payload["created_at"] = datetime.utcnow().isoformat() + "Z"
|
|
1962
|
+
payload["status"] = "creating"
|
|
1963
|
+
payload["device_id"] = device_id
|
|
1964
|
+
_write_container_record(vmid, payload)
|
|
1965
|
+
return proxmox, node, vmid, payload
|
|
1966
1966
|
|
|
1967
1967
|
proxmox, node, vmid, payload = _run_lifecycle_step(
|
|
1968
1968
|
"create_container",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
portacode/README.md,sha256=4dKtpvR8LNgZPVz37GmkQCMWIr_u25Ao63iW56s7Ke4,775
|
|
2
2
|
portacode/__init__.py,sha256=oB3sV1wXr-um-RXio73UG8E5Xx6cF2ZVJveqjNmC-vQ,1086
|
|
3
3
|
portacode/__main__.py,sha256=jmHTGC1hzmo9iKJLv-SSYe9BSIbPPZ2IOpecI03PlTs,296
|
|
4
|
-
portacode/_version.py,sha256=
|
|
4
|
+
portacode/_version.py,sha256=BieguAdHtQb8jxJDq07EaNCiTUct5ZU-e1HrKSeSOHQ,719
|
|
5
5
|
portacode/cli.py,sha256=mGLKoZ-T2FBF7IA9wUq0zyG0X9__-A1ao7gajjcVRH8,21828
|
|
6
6
|
portacode/data.py,sha256=5-s291bv8J354myaHm1Y7CQZTZyRzMU3TGe5U4hb-FA,1591
|
|
7
7
|
portacode/keypair.py,sha256=0OO4vHDcF1XMxCDqce61xFTlFwlTcmqe5HyGsXFEt7s,5838
|
|
@@ -22,7 +22,7 @@ portacode/connection/handlers/diff_handlers.py,sha256=iYTIRCcpEQ03vIPKZCsMTE5aZb
|
|
|
22
22
|
portacode/connection/handlers/file_handlers.py,sha256=nAJH8nXnX07xxD28ngLpgIUzcTuRwZBNpEGEKdRqohw,39507
|
|
23
23
|
portacode/connection/handlers/project_aware_file_handlers.py,sha256=AqgMnDqX2893T2NsrvUSCwjN5VKj4Pb2TN0S_SuboOE,9803
|
|
24
24
|
portacode/connection/handlers/project_state_handlers.py,sha256=v6ZefGW9i7n1aZLq2jOGumJIjYb6aHlPI4m1jkYewm8,1686
|
|
25
|
-
portacode/connection/handlers/proxmox_infra.py,sha256=
|
|
25
|
+
portacode/connection/handlers/proxmox_infra.py,sha256=nOKhFs7JgpYVIfZs6xSaIf7qFVCX3B4BACrrXBXO8nQ,89884
|
|
26
26
|
portacode/connection/handlers/registry.py,sha256=qXGE60sYEWg6ZtVQzFcZ5YI2XWR6lMgw4hAL9x5qR1I,6181
|
|
27
27
|
portacode/connection/handlers/session.py,sha256=uNGfiO_1B9-_yjJKkpvmbiJhIl6b-UXlT86UTfd6WYE,42219
|
|
28
28
|
portacode/connection/handlers/system_handlers.py,sha256=fr12QpOr_Z8KYGUU-AYrTQwRPAcrLK85hvj3SEq1Kw8,14757
|
|
@@ -65,7 +65,7 @@ portacode/utils/__init__.py,sha256=NgBlWTuNJESfIYJzP_3adI1yJQJR0XJLRpSdVNaBAN0,3
|
|
|
65
65
|
portacode/utils/diff_apply.py,sha256=4Oi7ft3VUCKmiUE4VM-OeqO7Gk6H7PF3WnN4WHXtjxI,15157
|
|
66
66
|
portacode/utils/diff_renderer.py,sha256=S76StnQ2DLfsz4Gg0m07UwPfRp8270PuzbNaQq-rmYk,13850
|
|
67
67
|
portacode/utils/ntp_clock.py,sha256=VqCnWCTehCufE43W23oB-WUdAZGeCcLxkmIOPwInYHc,2499
|
|
68
|
-
portacode-1.4.17.
|
|
68
|
+
portacode-1.4.17.dev6.dist-info/licenses/LICENSE,sha256=2FGbCnUDgRYuQTkB1O1dUUpu5CVAjK1j4_p6ack9Z54,1066
|
|
69
69
|
test_modules/README.md,sha256=Do_agkm9WhSzueXjRAkV_xEj6Emy5zB3N3VKY5Roce8,9274
|
|
70
70
|
test_modules/__init__.py,sha256=1LcbHodIHsB0g-g4NGjSn6AMuCoGbymvXPYLOb6Z7F0,53
|
|
71
71
|
test_modules/test_device_online.py,sha256=QtYq0Dq9vME8Gp2O4fGSheqVf8LUtpsSKosXXk56gGM,1654
|
|
@@ -91,8 +91,8 @@ testing_framework/core/playwright_manager.py,sha256=Tw46qwxIhOFkS48C2IWIQHHNpEe-
|
|
|
91
91
|
testing_framework/core/runner.py,sha256=j2QwNJmAxVBmJvcbVS7DgPJUKPNzqfLmt_4NNdaKmZU,19297
|
|
92
92
|
testing_framework/core/shared_cli_manager.py,sha256=BESSNtyQb7BOlaOvZmm04T8Uezjms4KCBs2MzTxvzYQ,8790
|
|
93
93
|
testing_framework/core/test_discovery.py,sha256=2FZ9fJ8Dp5dloA-fkgXoJ_gCMC_nYPBnA3Hs2xlagzM,4928
|
|
94
|
-
portacode-1.4.17.
|
|
95
|
-
portacode-1.4.17.
|
|
96
|
-
portacode-1.4.17.
|
|
97
|
-
portacode-1.4.17.
|
|
98
|
-
portacode-1.4.17.
|
|
94
|
+
portacode-1.4.17.dev6.dist-info/METADATA,sha256=Q2yCzBl8-toCB8tJtzryZ878HCCyl6FaMqrRmvw9SNI,13051
|
|
95
|
+
portacode-1.4.17.dev6.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
96
|
+
portacode-1.4.17.dev6.dist-info/entry_points.txt,sha256=lLUUL-BM6_wwe44Xv0__5NQ1BnAz6jWjSMFvZdWW3zU,48
|
|
97
|
+
portacode-1.4.17.dev6.dist-info/top_level.txt,sha256=TGhTYUxfW8SyVZc_zGgzjzc24gGT7nSw8Qf73liVRKM,41
|
|
98
|
+
portacode-1.4.17.dev6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|