1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-11-28 11:18:11 +00:00

Merge pull request #1990 from GNS3/scalability

Scalability and option to use templates across all computes
This commit is contained in:
Jeremy Grossmann 2021-11-24 16:38:41 +10:30 committed by GitHub
commit 8995ed37a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -21,6 +21,7 @@ import uuid
import socket
import shutil
import asyncio
import random
from ..config import Config
from .project import Project
@ -439,6 +440,16 @@ class Controller:
Returns a compute or raise a 404 error.
"""
if compute_id is None:
computes = list(self._computes.values())
if len(computes) == 1:
# return the only available compute
return computes[0]
else:
# randomly pick a compute until we have proper scalability handling
# https://github.com/GNS3/gns3-server/issues/1676
return random.choice(computes)
try:
return self._computes[compute_id]
except KeyError: