Исправлен автономный запуск network_core
Этот коммит содержится в:
@@ -1,11 +1,10 @@
|
|||||||
import json
|
import json
|
||||||
import re
|
import re
|
||||||
|
import subprocess
|
||||||
import uuid
|
import uuid
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from app_runtime import run_cmd
|
|
||||||
|
|
||||||
CONFIG_DIR = Path('/var/lib/virtuality/config')
|
CONFIG_DIR = Path('/var/lib/virtuality/config')
|
||||||
NETWORK_DIR = Path('/var/lib/virtuality/network')
|
NETWORK_DIR = Path('/var/lib/virtuality/network')
|
||||||
NFT_DIR = Path('/etc/virtuality/nftables')
|
NFT_DIR = Path('/etc/virtuality/nftables')
|
||||||
@@ -23,6 +22,14 @@ class NetworkError(Exception):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def run_cmd(cmd: list[str], timeout: int = 12) -> dict[str, Any]:
|
||||||
|
try:
|
||||||
|
result = subprocess.run(cmd, capture_output=True, text=True, timeout=timeout, check=False)
|
||||||
|
return {'ok': result.returncode == 0, 'code': result.returncode, 'stdout': result.stdout.strip(), 'stderr': result.stderr.strip(), 'cmd': ' '.join(cmd)}
|
||||||
|
except Exception as exc:
|
||||||
|
return {'ok': False, 'code': -1, 'stdout': '', 'stderr': str(exc), 'cmd': ' '.join(cmd)}
|
||||||
|
|
||||||
|
|
||||||
def ensure_dirs() -> None:
|
def ensure_dirs() -> None:
|
||||||
CONFIG_DIR.mkdir(parents=True, exist_ok=True)
|
CONFIG_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
NETWORK_DIR.mkdir(parents=True, exist_ok=True)
|
NETWORK_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user