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 socket
import shutil import shutil
import asyncio import asyncio
import random
from ..config import Config from ..config import Config
from .project import Project from .project import Project
@ -439,6 +440,16 @@ class Controller:
Returns a compute or raise a 404 error. 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: try:
return self._computes[compute_id] return self._computes[compute_id]
except KeyError: except KeyError: