mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-05 06:41:13 +02:00
186 files changed
+1173
-1206
No files matched your search
File renamed without changes.
File renamed without changes.
+1
-1
@@ -19,7 +19,7 @@ import os
|
||||
from aiohttp.web import HTTPConflict
|
||||
|
||||
from ....web.route import Route
|
||||
from ....hypervisor.docker import Docker
|
||||
from ....compute.docker import Docker
|
||||
|
||||
from ....schemas.docker import (
|
||||
DOCKER_CREATE_SCHEMA,
|
||||
+1
-1
@@ -23,7 +23,7 @@ from ....schemas.dynamips_device import DEVICE_UPDATE_SCHEMA
|
||||
from ....schemas.dynamips_device import DEVICE_OBJECT_SCHEMA
|
||||
from ....schemas.dynamips_device import DEVICE_NIO_SCHEMA
|
||||
from ....schemas.vm import VM_CAPTURE_SCHEMA
|
||||
from ....hypervisor.dynamips import Dynamips
|
||||
from ....compute.dynamips import Dynamips
|
||||
|
||||
|
||||
class DynamipsDeviceHandler:
|
||||
+3
-3
@@ -27,9 +27,9 @@ from ....schemas.dynamips_vm import VM_UPDATE_SCHEMA
|
||||
from ....schemas.dynamips_vm import VM_OBJECT_SCHEMA
|
||||
from ....schemas.dynamips_vm import VM_CONFIGS_SCHEMA
|
||||
from ....schemas.vm import VM_CAPTURE_SCHEMA
|
||||
from ....hypervisor.dynamips import Dynamips
|
||||
from ....hypervisor.dynamips.dynamips_error import DynamipsError
|
||||
from ....hypervisor.project_manager import ProjectManager
|
||||
from ....compute.dynamips import Dynamips
|
||||
from ....compute.dynamips.dynamips_error import DynamipsError
|
||||
from ....compute.project_manager import ProjectManager
|
||||
|
||||
DEFAULT_CHASSIS = {
|
||||
"c1700": "1720",
|
||||
File renamed without changes.
+1
-1
@@ -27,7 +27,7 @@ from ....schemas.iou import IOU_OBJECT_SCHEMA
|
||||
from ....schemas.iou import IOU_CONFIGS_SCHEMA
|
||||
from ....schemas.vm import VM_LIST_IMAGES_SCHEMA
|
||||
from ....schemas.vm import VM_CAPTURE_SCHEMA
|
||||
from ....hypervisor.iou import IOU
|
||||
from ....compute.iou import IOU
|
||||
|
||||
|
||||
class IOUHandler:
|
||||
+2
-2
@@ -16,8 +16,8 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from ....web.route import Route
|
||||
from ....hypervisor.port_manager import PortManager
|
||||
from ....hypervisor.project_manager import ProjectManager
|
||||
from ....compute.port_manager import PortManager
|
||||
from ....compute.project_manager import ProjectManager
|
||||
from ....utils.interfaces import interfaces
|
||||
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@
|
||||
import asyncio
|
||||
|
||||
from ....web.route import Route
|
||||
from ....hypervisor.notification_manager import NotificationManager
|
||||
from ....compute.notification_manager import NotificationManager
|
||||
from aiohttp.web import WebSocketResponse
|
||||
|
||||
|
||||
+2
-2
@@ -24,8 +24,8 @@ import tempfile
|
||||
|
||||
from ....web.route import Route
|
||||
from ....schemas.project import PROJECT_OBJECT_SCHEMA, PROJECT_CREATE_SCHEMA, PROJECT_UPDATE_SCHEMA, PROJECT_FILE_LIST_SCHEMA, PROJECT_LIST_SCHEMA
|
||||
from ....hypervisor.project_manager import ProjectManager
|
||||
from ....hypervisor import MODULES
|
||||
from ....compute.project_manager import ProjectManager
|
||||
from ....compute import MODULES
|
||||
|
||||
import logging
|
||||
log = logging.getLogger()
|
||||
+2
-2
@@ -20,7 +20,7 @@ import os.path
|
||||
|
||||
from aiohttp.web import HTTPConflict
|
||||
from ....web.route import Route
|
||||
from ....hypervisor.project_manager import ProjectManager
|
||||
from ....compute.project_manager import ProjectManager
|
||||
from ....schemas.nio import NIO_SCHEMA
|
||||
from ....schemas.qemu import QEMU_CREATE_SCHEMA
|
||||
from ....schemas.qemu import QEMU_UPDATE_SCHEMA
|
||||
@@ -30,7 +30,7 @@ from ....schemas.qemu import QEMU_BINARY_LIST_SCHEMA
|
||||
from ....schemas.qemu import QEMU_CAPABILITY_LIST_SCHEMA
|
||||
from ....schemas.qemu import QEMU_IMAGE_CREATE_SCHEMA
|
||||
from ....schemas.vm import VM_LIST_IMAGES_SCHEMA
|
||||
from ....hypervisor.qemu import Qemu
|
||||
from ....compute.qemu import Qemu
|
||||
from ....config import Config
|
||||
|
||||
|
||||
File renamed without changes.
+2
-2
@@ -24,8 +24,8 @@ from ....schemas.virtualbox import VBOX_CREATE_SCHEMA
|
||||
from ....schemas.virtualbox import VBOX_UPDATE_SCHEMA
|
||||
from ....schemas.virtualbox import VBOX_OBJECT_SCHEMA
|
||||
from ....schemas.vm import VM_CAPTURE_SCHEMA
|
||||
from ....hypervisor.virtualbox import VirtualBox
|
||||
from ....hypervisor.project_manager import ProjectManager
|
||||
from ....compute.virtualbox import VirtualBox
|
||||
from ....compute.project_manager import ProjectManager
|
||||
|
||||
|
||||
class VirtualBoxHandler:
|
||||
+2
-2
@@ -24,8 +24,8 @@ from ....schemas.vmware import VMWARE_UPDATE_SCHEMA
|
||||
from ....schemas.vmware import VMWARE_OBJECT_SCHEMA
|
||||
from ....schemas.vm import VM_CAPTURE_SCHEMA
|
||||
from ....schemas.nio import NIO_SCHEMA
|
||||
from ....hypervisor.vmware import VMware
|
||||
from ....hypervisor.project_manager import ProjectManager
|
||||
from ....compute.vmware import VMware
|
||||
from ....compute.project_manager import ProjectManager
|
||||
|
||||
|
||||
class VMwareHandler:
|
||||
+1
-1
@@ -21,7 +21,7 @@ from ....schemas.nio import NIO_SCHEMA
|
||||
from ....schemas.vpcs import VPCS_CREATE_SCHEMA
|
||||
from ....schemas.vpcs import VPCS_UPDATE_SCHEMA
|
||||
from ....schemas.vpcs import VPCS_OBJECT_SCHEMA
|
||||
from ....hypervisor.vpcs import VPCS
|
||||
from ....compute.vpcs import VPCS
|
||||
|
||||
|
||||
class VPCSHandler:
|
||||
@@ -15,7 +15,7 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from .hypervisor_handler import HypervisorHandler
|
||||
from .compute_handler import ComputeHandler
|
||||
from .project_handler import ProjectHandler
|
||||
from .version_handler import VersionHandler
|
||||
from .vm_handler import VMHandler
|
||||
|
||||
+19
-19
@@ -20,47 +20,47 @@ from aiohttp.web import HTTPForbidden
|
||||
|
||||
from ....web.route import Route
|
||||
from ....config import Config
|
||||
from ....hypervisor.project_manager import ProjectManager
|
||||
from ....schemas.hypervisor import HYPERVISOR_CREATE_SCHEMA, HYPERVISOR_OBJECT_SCHEMA
|
||||
from ....compute.project_manager import ProjectManager
|
||||
from ....schemas.compute import COMPUTE_CREATE_SCHEMA, COMPUTE_OBJECT_SCHEMA
|
||||
from ....controller import Controller
|
||||
from ....controller.hypervisor import Hypervisor
|
||||
from ....controller.compute import Compute
|
||||
|
||||
|
||||
import logging
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class HypervisorHandler:
|
||||
"""API entry points for hypervisor management."""
|
||||
class ComputeHandler:
|
||||
"""API entry points for compute management."""
|
||||
|
||||
@classmethod
|
||||
@Route.post(
|
||||
r"/hypervisors",
|
||||
description="Register a hypervisor",
|
||||
r"/computes",
|
||||
description="Register a compute",
|
||||
status_codes={
|
||||
201: "Hypervisor added"
|
||||
201: "Compute added"
|
||||
},
|
||||
input=HYPERVISOR_CREATE_SCHEMA,
|
||||
output=HYPERVISOR_OBJECT_SCHEMA)
|
||||
input=COMPUTE_CREATE_SCHEMA,
|
||||
output=COMPUTE_OBJECT_SCHEMA)
|
||||
def create(request, response):
|
||||
|
||||
hypervisor = yield from Controller.instance().addHypervisor(**request.json)
|
||||
compute = yield from Controller.instance().addCompute(**request.json)
|
||||
response.set_status(201)
|
||||
response.json(hypervisor)
|
||||
response.json(compute)
|
||||
|
||||
@classmethod
|
||||
@Route.post(
|
||||
r"/hypervisors/shutdown",
|
||||
description="Shutdown the local hypervisor",
|
||||
r"/computes/shutdown",
|
||||
description="Shutdown the local compute",
|
||||
status_codes={
|
||||
201: "Hypervisor is shutting down",
|
||||
403: "Hypervisor shutdown refused"
|
||||
201: "Compute is shutting down",
|
||||
403: "Compute shutdown refused"
|
||||
})
|
||||
def shutdown(request, response):
|
||||
|
||||
config = Config.instance()
|
||||
if config.get_section_config("Hypervisor").getboolean("local", False) is False:
|
||||
raise HTTPForbidden(text="You can only stop a local hypervisor")
|
||||
if config.get_section_config("Server").getboolean("local", False) is False:
|
||||
raise HTTPForbidden(text="You can only stop a local server")
|
||||
|
||||
# close all the projects first
|
||||
pm = ProjectManager.instance()
|
||||
@@ -79,7 +79,7 @@ class HypervisorHandler:
|
||||
log.error("Could not close project {}".format(e), exc_info=1)
|
||||
continue
|
||||
|
||||
# then shutdown the hypervisor itself
|
||||
# then shutdown the compute itself
|
||||
from gns3server.web.web_server import WebServer
|
||||
server = WebServer.instance()
|
||||
asyncio.async(server.shutdown_server())
|
||||
@@ -42,9 +42,9 @@ class VMHandler:
|
||||
def create(request, response):
|
||||
|
||||
controller = Controller.instance()
|
||||
hypervisor = controller.getHypervisor(request.json.pop("hypervisor_id"))
|
||||
compute = controller.getCompute(request.json.pop("compute_id"))
|
||||
project = controller.getProject(request.match_info["project_id"])
|
||||
vm = yield from project.addVM(hypervisor, request.json.pop("vm_id", None), **request.json)
|
||||
vm = yield from project.addVM(compute, request.json.pop("vm_id", None), **request.json)
|
||||
response.set_status(201)
|
||||
response.json(vm)
|
||||
|
||||
|
||||
Reference in new issue
Block a user