diff --git a/gns3server/compute/dynamips/__init__.py b/gns3server/compute/dynamips/__init__.py index 87f65d14..c7b35147 100644 --- a/gns3server/compute/dynamips/__init__.py +++ b/gns3server/compute/dynamips/__init__.py @@ -492,6 +492,10 @@ class Dynamips(BaseManager): if sparse_memory_support is False: await vm.set_sparsemem(False) + usage = settings.get("usage") + if usage and usage != vm.usage: + vm.usage = usage + # update the configs if needed await self.set_vm_configs(vm, settings) diff --git a/gns3server/compute/dynamips/nodes/router.py b/gns3server/compute/dynamips/nodes/router.py index cc1b3443..bb754d3c 100644 --- a/gns3server/compute/dynamips/nodes/router.py +++ b/gns3server/compute/dynamips/nodes/router.py @@ -188,7 +188,6 @@ class Router(BaseNode): else: router_info["wic" + str(wic_slot_number)] = None - return router_info def _memory_changed(self, path): diff --git a/gns3server/handlers/api/compute/dynamips_vm_handler.py b/gns3server/handlers/api/compute/dynamips_vm_handler.py index 86de57fd..92936924 100644 --- a/gns3server/handlers/api/compute/dynamips_vm_handler.py +++ b/gns3server/handlers/api/compute/dynamips_vm_handler.py @@ -70,15 +70,15 @@ class DynamipsVMHandler: if platform in DEFAULT_CHASSIS: default_chassis = DEFAULT_CHASSIS[platform] vm = await dynamips_manager.create_node(request.json.pop("name"), - request.match_info["project_id"], - request.json.get("node_id"), - dynamips_id=request.json.get("dynamips_id"), - platform=platform, - console=request.json.get("console"), - console_type=request.json.get("console_type", "telnet"), - aux=request.json.get("aux"), - chassis=request.json.pop("chassis", default_chassis), - node_type="dynamips") + request.match_info["project_id"], + request.json.get("node_id"), + dynamips_id=request.json.get("dynamips_id"), + platform=platform, + console=request.json.get("console"), + console_type=request.json.get("console_type", "telnet"), + aux=request.json.get("aux"), + chassis=request.json.pop("chassis", default_chassis), + node_type="dynamips") await dynamips_manager.update_vm_settings(vm, request.json) response.set_status(201) response.json(vm) diff --git a/gns3server/schemas/dynamips_template.py b/gns3server/schemas/dynamips_template.py index 244bca4e..61a41fc1 100644 --- a/gns3server/schemas/dynamips_template.py +++ b/gns3server/schemas/dynamips_template.py @@ -30,6 +30,11 @@ DYNAMIPS_TEMPLATE_PROPERTIES = { "type": "string", "minLength": 1 }, + "usage": { + "description": "How to use the Dynamips VM", + "type": "string", + "default": "" + }, "mmap": { "description": "MMAP feature", "type": "boolean",