Return the current controller hostname/IP from any compute

This commit is contained in:
grossmj committed 2021-10-21 21:38:36 +10:30
1 parent dddfe7c531
commit bb15b13a9d
18 files changed
+215 -198

No files matched your search

@@ -56,6 +56,8 @@ compute_api = FastAPI(
version="v3",
)
compute_api.state.controller_host = None
@compute_api.exception_handler(ComputeError)
async def controller_error_handler(request: Request, exc: ComputeError):
@@ -21,7 +21,7 @@ API routes for capabilities
import sys
import psutil
from fastapi import APIRouter
from fastapi import APIRouter, Request
from gns3server.version import __version__
from gns3server.compute import MODULES
@@ -32,12 +32,15 @@ router = APIRouter()
@router.get("/capabilities", response_model=schemas.Capabilities)
def get_capabilities() -> dict:
def get_capabilities(request: Request) -> dict:
node_types = []
for module in MODULES:
node_types.extend(module.node_types())
# record the controller hostname or IP address
request.app.state.controller_host = request.client.host
return {
"version": __version__,
"platform": sys.platform,