mirror of
https://github.com/GNS3/gns3-server.git
synced 2024-11-16 16:54:51 +02:00
Drop console_type serial, and enable_remote_console for Vbox and VMware
Ref #748
This commit is contained in:
parent
382d8887d5
commit
4e15f89604
@ -23,7 +23,8 @@ A minimal version:
|
|||||||
|
|
||||||
The revision is the version of file format:
|
The revision is the version of file format:
|
||||||
|
|
||||||
* 5: GNS3 2.0
|
* 6: GNS3 2.0
|
||||||
|
* 5: GNS3 2.0 < alpha 4
|
||||||
* 4: GNS3 1.5
|
* 4: GNS3 1.5
|
||||||
* 3: GNS3 1.4
|
* 3: GNS3 1.4
|
||||||
* 2: GNS3 1.3
|
* 2: GNS3 1.3
|
||||||
|
@ -66,7 +66,6 @@ class VirtualBoxVM(BaseNode):
|
|||||||
self._ethernet_adapters = {}
|
self._ethernet_adapters = {}
|
||||||
self._headless = False
|
self._headless = False
|
||||||
self._acpi_shutdown = False
|
self._acpi_shutdown = False
|
||||||
self._enable_remote_console = False
|
|
||||||
if not self.linked_clone:
|
if not self.linked_clone:
|
||||||
for node in self.manager.nodes:
|
for node in self.manager.nodes:
|
||||||
if node.vmname == vmname:
|
if node.vmname == vmname:
|
||||||
@ -86,7 +85,6 @@ class VirtualBoxVM(BaseNode):
|
|||||||
"vmname": self.vmname,
|
"vmname": self.vmname,
|
||||||
"headless": self.headless,
|
"headless": self.headless,
|
||||||
"acpi_shutdown": self.acpi_shutdown,
|
"acpi_shutdown": self.acpi_shutdown,
|
||||||
"enable_remote_console": self.enable_remote_console,
|
|
||||||
"adapters": self._adapters,
|
"adapters": self._adapters,
|
||||||
"adapter_type": self.adapter_type,
|
"adapter_type": self.adapter_type,
|
||||||
"ram": self.ram,
|
"ram": self.ram,
|
||||||
@ -245,7 +243,7 @@ class VirtualBoxVM(BaseNode):
|
|||||||
self._local_udp_tunnels[adapter_number][1],
|
self._local_udp_tunnels[adapter_number][1],
|
||||||
nio)
|
nio)
|
||||||
|
|
||||||
if self._enable_remote_console and self._console is not None:
|
if self._console is not None:
|
||||||
try:
|
try:
|
||||||
# wait for VirtualBox to create the pipe file.
|
# wait for VirtualBox to create the pipe file.
|
||||||
if sys.platform.startswith("win"):
|
if sys.platform.startswith("win"):
|
||||||
@ -539,34 +537,6 @@ class VirtualBoxVM(BaseNode):
|
|||||||
log.info("VirtualBox VM '{name}' [{id}] has disabled the ACPI shutdown mode".format(name=self.name, id=self.id))
|
log.info("VirtualBox VM '{name}' [{id}] has disabled the ACPI shutdown mode".format(name=self.name, id=self.id))
|
||||||
self._acpi_shutdown = acpi_shutdown
|
self._acpi_shutdown = acpi_shutdown
|
||||||
|
|
||||||
@property
|
|
||||||
def enable_remote_console(self):
|
|
||||||
"""
|
|
||||||
Returns either the remote console is enabled or not
|
|
||||||
|
|
||||||
:returns: boolean
|
|
||||||
"""
|
|
||||||
|
|
||||||
return self._enable_remote_console
|
|
||||||
|
|
||||||
@asyncio.coroutine
|
|
||||||
def set_enable_remote_console(self, enable_remote_console):
|
|
||||||
"""
|
|
||||||
Sets either the console is enabled or not
|
|
||||||
|
|
||||||
:param enable_remote_console: boolean
|
|
||||||
"""
|
|
||||||
|
|
||||||
if enable_remote_console:
|
|
||||||
log.info("VirtualBox VM '{name}' [{id}] has enabled the console".format(name=self.name, id=self.id))
|
|
||||||
vm_state = yield from self._get_vm_state()
|
|
||||||
if vm_state == "running":
|
|
||||||
self._start_remote_console()
|
|
||||||
else:
|
|
||||||
log.info("VirtualBox VM '{name}' [{id}] has disabled the console".format(name=self.name, id=self.id))
|
|
||||||
self._stop_remote_console()
|
|
||||||
self._enable_remote_console = enable_remote_console
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def ram(self):
|
def ram(self):
|
||||||
"""
|
"""
|
||||||
|
@ -68,7 +68,6 @@ class VMwareVM(BaseNode):
|
|||||||
# VMware VM settings
|
# VMware VM settings
|
||||||
self._headless = False
|
self._headless = False
|
||||||
self._vmx_path = vmx_path
|
self._vmx_path = vmx_path
|
||||||
self._enable_remote_console = False
|
|
||||||
self._acpi_shutdown = False
|
self._acpi_shutdown = False
|
||||||
self._adapters = 0
|
self._adapters = 0
|
||||||
self._ethernet_adapters = {}
|
self._ethernet_adapters = {}
|
||||||
@ -87,7 +86,6 @@ class VMwareVM(BaseNode):
|
|||||||
"vmx_path": self.vmx_path,
|
"vmx_path": self.vmx_path,
|
||||||
"headless": self.headless,
|
"headless": self.headless,
|
||||||
"acpi_shutdown": self.acpi_shutdown,
|
"acpi_shutdown": self.acpi_shutdown,
|
||||||
"enable_remote_console": self.enable_remote_console,
|
|
||||||
"adapters": self._adapters,
|
"adapters": self._adapters,
|
||||||
"adapter_type": self.adapter_type,
|
"adapter_type": self.adapter_type,
|
||||||
"use_any_adapter": self.use_any_adapter,
|
"use_any_adapter": self.use_any_adapter,
|
||||||
@ -442,7 +440,7 @@ class VMwareVM(BaseNode):
|
|||||||
if nio:
|
if nio:
|
||||||
yield from self._add_ubridge_connection(nio, adapter_number)
|
yield from self._add_ubridge_connection(nio, adapter_number)
|
||||||
|
|
||||||
# if self._enable_remote_console and self._console is not None:
|
# if self._console is not None:
|
||||||
# try:
|
# try:
|
||||||
# if sys.platform.startswith("win"):
|
# if sys.platform.startswith("win"):
|
||||||
# yield from wait_for_named_pipe_creation(self._get_pipe_name())
|
# yield from wait_for_named_pipe_creation(self._get_pipe_name())
|
||||||
@ -631,33 +629,6 @@ class VMwareVM(BaseNode):
|
|||||||
log.info("VMware VM '{name}' [{id}] has set the vmx file path to '{vmx}'".format(name=self.name, id=self.id, vmx=vmx_path))
|
log.info("VMware VM '{name}' [{id}] has set the vmx file path to '{vmx}'".format(name=self.name, id=self.id, vmx=vmx_path))
|
||||||
self._vmx_path = vmx_path
|
self._vmx_path = vmx_path
|
||||||
|
|
||||||
@property
|
|
||||||
def enable_remote_console(self):
|
|
||||||
"""
|
|
||||||
Returns either the remote console is enabled or not
|
|
||||||
|
|
||||||
:returns: boolean
|
|
||||||
"""
|
|
||||||
|
|
||||||
return self._enable_remote_console
|
|
||||||
|
|
||||||
@enable_remote_console.setter
|
|
||||||
def enable_remote_console(self, enable_remote_console):
|
|
||||||
"""
|
|
||||||
Sets either the console is enabled or not
|
|
||||||
|
|
||||||
:param enable_remote_console: boolean
|
|
||||||
"""
|
|
||||||
|
|
||||||
# if enable_remote_console:
|
|
||||||
# log.info("VMware VM '{name}' [{id}] has enabled the console".format(name=self.name, id=self.id))
|
|
||||||
# if self._started:
|
|
||||||
# self._start_remote_console()
|
|
||||||
# else:
|
|
||||||
# log.info("VMware VM '{name}' [{id}] has disabled the console".format(name=self.name, id=self.id))
|
|
||||||
# self._stop_remote_console()
|
|
||||||
self._enable_remote_console = enable_remote_console
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def adapters(self):
|
def adapters(self):
|
||||||
"""
|
"""
|
||||||
|
@ -35,7 +35,7 @@ import logging
|
|||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
GNS3_FILE_FORMAT_REVISION = 5
|
GNS3_FILE_FORMAT_REVISION = 6
|
||||||
|
|
||||||
|
|
||||||
def _check_topology_schema(topo):
|
def _check_topology_schema(topo):
|
||||||
@ -113,7 +113,7 @@ def load_topology(path):
|
|||||||
topo = json.load(f)
|
topo = json.load(f)
|
||||||
except (OSError, UnicodeDecodeError, json.JSONDecodeError) as e:
|
except (OSError, UnicodeDecodeError, json.JSONDecodeError) as e:
|
||||||
raise aiohttp.web.HTTPConflict(text="Could not load topology {}: {}".format(path, str(e)))
|
raise aiohttp.web.HTTPConflict(text="Could not load topology {}: {}".format(path, str(e)))
|
||||||
if "revision" not in topo or topo["revision"] < GNS3_FILE_FORMAT_REVISION:
|
if "revision" not in topo or topo["revision"] < 5:
|
||||||
# If it's an old GNS3 file we need to convert it
|
# If it's an old GNS3 file we need to convert it
|
||||||
# first we backup the file
|
# first we backup the file
|
||||||
shutil.copy(path, path + ".backup{}".format(topo.get("revision", 0)))
|
shutil.copy(path, path + ".backup{}".format(topo.get("revision", 0)))
|
||||||
@ -121,12 +121,40 @@ def load_topology(path):
|
|||||||
_check_topology_schema(topo)
|
_check_topology_schema(topo)
|
||||||
with open(path, "w+", encoding="utf-8") as f:
|
with open(path, "w+", encoding="utf-8") as f:
|
||||||
json.dump(topo, f, indent=4, sort_keys=True)
|
json.dump(topo, f, indent=4, sort_keys=True)
|
||||||
elif topo["revision"] > GNS3_FILE_FORMAT_REVISION:
|
|
||||||
|
# Version before GNS3 2.0 alpha 4
|
||||||
|
if topo["revision"] < 6:
|
||||||
|
shutil.copy(path, path + ".backup{}".format(topo.get("revision", 0)))
|
||||||
|
topo = _convert_2_0_0_alpha(topo, path)
|
||||||
|
_check_topology_schema(topo)
|
||||||
|
with open(path, "w+", encoding="utf-8") as f:
|
||||||
|
json.dump(topo, f, indent=4, sort_keys=True)
|
||||||
|
|
||||||
|
if topo["revision"] > GNS3_FILE_FORMAT_REVISION:
|
||||||
raise aiohttp.web.HTTPConflict(text="This project is designed for a more recent version of GNS3 please update GNS3 to version {} or later".format(topo["version"]))
|
raise aiohttp.web.HTTPConflict(text="This project is designed for a more recent version of GNS3 please update GNS3 to version {} or later".format(topo["version"]))
|
||||||
_check_topology_schema(topo)
|
_check_topology_schema(topo)
|
||||||
return topo
|
return topo
|
||||||
|
|
||||||
|
|
||||||
|
def _convert_2_0_0_alpha(topo, topo_path):
|
||||||
|
"""
|
||||||
|
Convert topologies from GNS3 2.0.0 alpha to 2.0.0 final.
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
* No more serial console
|
||||||
|
* No more option for VMware / VirtualBox remote console (always use telnet)
|
||||||
|
"""
|
||||||
|
topo["revision"] = 6
|
||||||
|
for node in topo.get("topology", {}).get("nodes", []):
|
||||||
|
if node.get("console_type") == "serial":
|
||||||
|
node["console_type"] = "telnet"
|
||||||
|
if node["node_type"] in ("vmware", "virtualbox"):
|
||||||
|
prop = node.get("properties")
|
||||||
|
if "enable_remote_console" in prop:
|
||||||
|
del prop["enable_remote_console"]
|
||||||
|
return topo
|
||||||
|
|
||||||
|
|
||||||
def _convert_1_3_later(topo, topo_path):
|
def _convert_1_3_later(topo, topo_path):
|
||||||
"""
|
"""
|
||||||
Convert topologies from 1_3 to the new file format
|
Convert topologies from 1_3 to the new file format
|
||||||
@ -139,7 +167,7 @@ def _convert_1_3_later(topo, topo_path):
|
|||||||
|
|
||||||
new_topo = {
|
new_topo = {
|
||||||
"type": "topology",
|
"type": "topology",
|
||||||
"revision": GNS3_FILE_FORMAT_REVISION,
|
"revision": 5,
|
||||||
"version": __version__,
|
"version": __version__,
|
||||||
"auto_start": topo.get("auto_start", False),
|
"auto_start": topo.get("auto_start", False),
|
||||||
"name": topo["name"],
|
"name": topo["name"],
|
||||||
|
@ -60,9 +60,6 @@ class VirtualBoxHandler:
|
|||||||
console=request.json.get("console", None),
|
console=request.json.get("console", None),
|
||||||
adapters=request.json.get("adapters", 0))
|
adapters=request.json.get("adapters", 0))
|
||||||
|
|
||||||
if "enable_remote_console" in request.json:
|
|
||||||
yield from vm.set_enable_remote_console(request.json.pop("enable_remote_console"))
|
|
||||||
|
|
||||||
if "ram" in request.json:
|
if "ram" in request.json:
|
||||||
ram = request.json.pop("ram")
|
ram = request.json.pop("ram")
|
||||||
if ram != vm.ram:
|
if ram != vm.ram:
|
||||||
@ -120,9 +117,6 @@ class VirtualBoxHandler:
|
|||||||
if vmname != vm.vmname:
|
if vmname != vm.vmname:
|
||||||
yield from vm.set_vmname(vmname)
|
yield from vm.set_vmname(vmname)
|
||||||
|
|
||||||
if "enable_remote_console" in request.json:
|
|
||||||
yield from vm.set_enable_remote_console(request.json.pop("enable_remote_console"))
|
|
||||||
|
|
||||||
if "adapters" in request.json:
|
if "adapters" in request.json:
|
||||||
adapters = int(request.json.pop("adapters"))
|
adapters = int(request.json.pop("adapters"))
|
||||||
if adapters != vm.adapters:
|
if adapters != vm.adapters:
|
||||||
|
@ -143,7 +143,7 @@ NODE_OBJECT_SCHEMA = {
|
|||||||
},
|
},
|
||||||
"console_type": {
|
"console_type": {
|
||||||
"description": "Console type",
|
"description": "Console type",
|
||||||
"enum": ["serial", "vnc", "telnet", "http", None]
|
"enum": ["vnc", "telnet", "http", None]
|
||||||
},
|
},
|
||||||
"properties": {
|
"properties": {
|
||||||
"description": "Properties specific to an emulator",
|
"description": "Properties specific to an emulator",
|
||||||
|
@ -66,10 +66,6 @@ VBOX_CREATE_SCHEMA = {
|
|||||||
"maximum": 65535,
|
"maximum": 65535,
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"enable_remote_console": {
|
|
||||||
"description": "Enable the remote console",
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"ram": {
|
"ram": {
|
||||||
"description": "Amount of RAM",
|
"description": "Amount of RAM",
|
||||||
"minimum": 0,
|
"minimum": 0,
|
||||||
@ -127,10 +123,6 @@ VBOX_OBJECT_SCHEMA = {
|
|||||||
"decription": "Path to the VM working directory",
|
"decription": "Path to the VM working directory",
|
||||||
"type": ["string", "null"]
|
"type": ["string", "null"]
|
||||||
},
|
},
|
||||||
"enable_remote_console": {
|
|
||||||
"description": "Enable the remote console",
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"headless": {
|
"headless": {
|
||||||
"description": "Headless mode",
|
"description": "Headless mode",
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
|
@ -48,10 +48,6 @@ VMWARE_CREATE_SCHEMA = {
|
|||||||
"maximum": 65535,
|
"maximum": 65535,
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"enable_remote_console": {
|
|
||||||
"description": "Enable the remote console",
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"headless": {
|
"headless": {
|
||||||
"description": "Headless mode",
|
"description": "Headless mode",
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
@ -118,10 +114,6 @@ VMWARE_OBJECT_SCHEMA = {
|
|||||||
"type": "string",
|
"type": "string",
|
||||||
"minLength": 1,
|
"minLength": 1,
|
||||||
},
|
},
|
||||||
"enable_remote_console": {
|
|
||||||
"description": "Enable the remote console",
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"headless": {
|
"headless": {
|
||||||
"description": "Headless mode",
|
"description": "Headless mode",
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
|
@ -39,7 +39,7 @@ def test_project_to_topology_empty(tmpdir):
|
|||||||
"auto_open": False,
|
"auto_open": False,
|
||||||
"scene_width": 2000,
|
"scene_width": 2000,
|
||||||
"scene_height": 1000,
|
"scene_height": 1000,
|
||||||
"revision": 5,
|
"revision": GNS3_FILE_FORMAT_REVISION,
|
||||||
"topology": {
|
"topology": {
|
||||||
"nodes": [],
|
"nodes": [],
|
||||||
"links": [],
|
"links": [],
|
||||||
@ -79,7 +79,7 @@ def test_load_topology(tmpdir):
|
|||||||
data = {
|
data = {
|
||||||
"project_id": "69f26504-7aa3-48aa-9f29-798d44841211",
|
"project_id": "69f26504-7aa3-48aa-9f29-798d44841211",
|
||||||
"name": "Test",
|
"name": "Test",
|
||||||
"revision": 5,
|
"revision": GNS3_FILE_FORMAT_REVISION,
|
||||||
"topology": {
|
"topology": {
|
||||||
"nodes": [],
|
"nodes": [],
|
||||||
"links": [],
|
"links": [],
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"revision" : 5,
|
"revision": 6,
|
||||||
"project_id" : "ANYUUID",
|
"project_id" : "ANYUUID",
|
||||||
"type" : "topology",
|
"type" : "topology",
|
||||||
"auto_start" : false
|
"auto_start" : false
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"name": "1_3_dynamips",
|
"name": "1_3_dynamips",
|
||||||
"project_id": "ba5790e1-2f51-443e-a3cc-1a2eee132888",
|
"project_id": "ba5790e1-2f51-443e-a3cc-1a2eee132888",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"topology": {
|
"topology": {
|
||||||
"drawings": [],
|
"drawings": [],
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "builtins",
|
"name": "builtins",
|
||||||
"project_id": "644e3892-4a50-4457-9601-2234d4842169",
|
"project_id": "644e3892-4a50-4457-9601-2234d4842169",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"name": "1_5_cloud",
|
"name": "1_5_cloud",
|
||||||
"project_id": "467ce18d-4848-494a-88d2-4f53ddaca111",
|
"project_id": "467ce18d-4848-494a-88d2-4f53ddaca111",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "1_5_docker_remote",
|
"name": "1_5_docker_remote",
|
||||||
"project_id": "8182b710-c6bf-4e51-8e2e-213cce952797",
|
"project_id": "8182b710-c6bf-4e51-8e2e-213cce952797",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"name": "1_5_drawing",
|
"name": "1_5_drawing",
|
||||||
"project_id": "ANYUUID",
|
"project_id": "ANYUUID",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
],
|
],
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"name": "1_5_dynamips",
|
"name": "1_5_dynamips",
|
||||||
"project_id": "62f389c0-f26d-43b7-ab29-e4d306b29c07",
|
"project_id": "62f389c0-f26d-43b7-ab29-e4d306b29c07",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
{
|
{
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"name": "1_5_host",
|
"name": "1_5_host",
|
||||||
"project_id": "ce17e635-bc1b-44df-946c-149e938dedc4",
|
"project_id": "ce17e635-bc1b-44df-946c-149e938dedc4",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
{
|
{
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"name": "1_5_image",
|
"name": "1_5_image",
|
||||||
"project_id": "ANYUUID",
|
"project_id": "ANYUUID",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [],
|
"computes": [],
|
||||||
"drawings": [
|
"drawings": [
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"name": "1_5_internet",
|
"name": "1_5_internet",
|
||||||
"project_id": "a64f6cf9-ea6e-42e6-9e4e-a2a292e2b827",
|
"project_id": "a64f6cf9-ea6e-42e6-9e4e-a2a292e2b827",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
{"name": "GNS3 VM", "protocol": "http", "port": 3080, "host": "172.16.16.150", "compute_id": "vm"}
|
{"name": "GNS3 VM", "protocol": "http", "port": 3080, "host": "172.16.16.150", "compute_id": "vm"}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"name": "1_5_iou",
|
"name": "1_5_iou",
|
||||||
"project_id": "8a077150-3e3e-4fed-944e-b8cd882e24db",
|
"project_id": "8a077150-3e3e-4fed-944e-b8cd882e24db",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "testqemu",
|
"name": "testqemu",
|
||||||
"project_id": "a3ca8a82-6b11-4c8e-b20d-c9e94286054c",
|
"project_id": "a3ca8a82-6b11-4c8e-b20d-c9e94286054c",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"revision" : 5,
|
"revision": 6,
|
||||||
"name" : "1_5_snapshot",
|
"name" : "1_5_snapshot",
|
||||||
"project_id" : "17912669-dd40-4843-b348-689b8f34f09d",
|
"project_id" : "17912669-dd40-4843-b348-689b8f34f09d",
|
||||||
"auto_start" : false
|
"auto_start" : false
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"name": "1_5_virtualbox",
|
"name": "1_5_virtualbox",
|
||||||
"project_id": "bf00c459-05a5-45c0-950c-3f6150a20703",
|
"project_id": "bf00c459-05a5-45c0-950c-3f6150a20703",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
{
|
{
|
||||||
@ -37,7 +37,6 @@
|
|||||||
"acpi_shutdown": false,
|
"acpi_shutdown": false,
|
||||||
"adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
|
"adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
|
||||||
"adapters": 1,
|
"adapters": 1,
|
||||||
"enable_remote_console": false,
|
|
||||||
"headless": false,
|
"headless": false,
|
||||||
"ram": 512,
|
"ram": 512,
|
||||||
"use_any_adapter": false,
|
"use_any_adapter": false,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "1_5_vmware",
|
"name": "1_5_vmware",
|
||||||
"project_id": "4be1f3e5-76e5-4223-93b7-f37f4091549e",
|
"project_id": "4be1f3e5-76e5-4223-93b7-f37f4091549e",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
@ -37,7 +37,6 @@
|
|||||||
"acpi_shutdown": false,
|
"acpi_shutdown": false,
|
||||||
"adapter_type": "e1000",
|
"adapter_type": "e1000",
|
||||||
"adapters": 1,
|
"adapters": 1,
|
||||||
"enable_remote_console": false,
|
|
||||||
"headless": false,
|
"headless": false,
|
||||||
"use_any_adapter": false,
|
"use_any_adapter": false,
|
||||||
"vmx_path": "/Users/bob/Documents/Virtual Machines.localized/GNS3 VM.vmwarevm/GNS3 VM.vmx"
|
"vmx_path": "/Users/bob/Documents/Virtual Machines.localized/GNS3 VM.vmwarevm/GNS3 VM.vmx"
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"auto_start": false,
|
"auto_start": false,
|
||||||
"name": "1_5_vpcs",
|
"name": "1_5_vpcs",
|
||||||
"project_id": "62fc7a04-ae65-4003-a9e6-a046b1996f0e",
|
"project_id": "62fc7a04-ae65-4003-a9e6-a046b1996f0e",
|
||||||
"revision": 5,
|
"revision": 6,
|
||||||
"topology": {
|
"topology": {
|
||||||
"computes": [
|
"computes": [
|
||||||
{
|
{
|
||||||
|
53
tests/topologies/2_0_vmware/after/1_5_vmware.gns3
Normal file
53
tests/topologies/2_0_vmware/after/1_5_vmware.gns3
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
{
|
||||||
|
"name": "1_5_vmware",
|
||||||
|
"project_id": "4be1f3e5-76e5-4223-93b7-f37f4091549e",
|
||||||
|
"revision": 6,
|
||||||
|
"auto_start": false,
|
||||||
|
"topology": {
|
||||||
|
"computes": [
|
||||||
|
{
|
||||||
|
"compute_id": "local",
|
||||||
|
"host": "127.0.0.1",
|
||||||
|
"name": "Local",
|
||||||
|
"port": 3080,
|
||||||
|
"protocol": "http"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"drawings": [],
|
||||||
|
"links": [],
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"compute_id": "local",
|
||||||
|
"console": 2000,
|
||||||
|
"console_type": "telnet",
|
||||||
|
"label": {
|
||||||
|
"rotation": 0,
|
||||||
|
"style": "font-family: TypeWriter;font-size: 10;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
|
||||||
|
"text": "GNS3 VM",
|
||||||
|
"x": 5,
|
||||||
|
"y": -25
|
||||||
|
},
|
||||||
|
"name": "GNS3 VM",
|
||||||
|
"node_id": "9e06d0ce-e8df-4f38-bdfa-7c83e19a91c1",
|
||||||
|
"node_type": "vmware",
|
||||||
|
"port_name_format": "Ethernet{0}",
|
||||||
|
"port_segment_size": 0,
|
||||||
|
"first_port_name": null,
|
||||||
|
"properties": {
|
||||||
|
"acpi_shutdown": false,
|
||||||
|
"adapter_type": "e1000",
|
||||||
|
"adapters": 1,
|
||||||
|
"headless": false,
|
||||||
|
"use_any_adapter": false,
|
||||||
|
"vmx_path": "/Users/bob/Documents/Virtual Machines.localized/GNS3 VM.vmwarevm/GNS3 VM.vmx"
|
||||||
|
},
|
||||||
|
"symbol": ":/symbols/vmware_guest.svg",
|
||||||
|
"x": 7,
|
||||||
|
"y": 8,
|
||||||
|
"z": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"type": "topology",
|
||||||
|
"version": "ANYSTR"
|
||||||
|
}
|
54
tests/topologies/2_0_vmware/before/1_5_vmware.gns3
Normal file
54
tests/topologies/2_0_vmware/before/1_5_vmware.gns3
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
{
|
||||||
|
"name": "1_5_vmware",
|
||||||
|
"project_id": "4be1f3e5-76e5-4223-93b7-f37f4091549e",
|
||||||
|
"revision": 5,
|
||||||
|
"auto_start": false,
|
||||||
|
"topology": {
|
||||||
|
"computes": [
|
||||||
|
{
|
||||||
|
"compute_id": "local",
|
||||||
|
"host": "127.0.0.1",
|
||||||
|
"name": "Local",
|
||||||
|
"port": 3080,
|
||||||
|
"protocol": "http"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"drawings": [],
|
||||||
|
"links": [],
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"compute_id": "local",
|
||||||
|
"console": 2000,
|
||||||
|
"console_type": "serial",
|
||||||
|
"label": {
|
||||||
|
"rotation": 0,
|
||||||
|
"style": "font-family: TypeWriter;font-size: 10;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
|
||||||
|
"text": "GNS3 VM",
|
||||||
|
"x": 5,
|
||||||
|
"y": -25
|
||||||
|
},
|
||||||
|
"name": "GNS3 VM",
|
||||||
|
"node_id": "9e06d0ce-e8df-4f38-bdfa-7c83e19a91c1",
|
||||||
|
"node_type": "vmware",
|
||||||
|
"port_name_format": "Ethernet{0}",
|
||||||
|
"port_segment_size": 0,
|
||||||
|
"first_port_name": null,
|
||||||
|
"properties": {
|
||||||
|
"acpi_shutdown": false,
|
||||||
|
"adapter_type": "e1000",
|
||||||
|
"adapters": 1,
|
||||||
|
"headless": false,
|
||||||
|
"use_any_adapter": false,
|
||||||
|
"enable_remote_console": false,
|
||||||
|
"vmx_path": "/Users/bob/Documents/Virtual Machines.localized/GNS3 VM.vmwarevm/GNS3 VM.vmx"
|
||||||
|
},
|
||||||
|
"symbol": ":/symbols/vmware_guest.svg",
|
||||||
|
"x": 7,
|
||||||
|
"y": 8,
|
||||||
|
"z": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"type": "topology",
|
||||||
|
"version": "ANYSTR"
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user