Rename hypervisor to compute

Fix #487
This commit is contained in:
Julien Duponchelle committed 2016-04-15 17:59:59 +02:00
1 parent 3185baff0d
commit 58d4a529d4
186 files changed
+1173 -1206

No files matched your search

@@ -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
@@ -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)