mirror of
https://github.com/GNS3/gns3-server
synced 2024-12-01 04:38:12 +00:00
parent
99bdf37ec3
commit
f3d255756b
@ -1480,6 +1480,7 @@ class QemuVM(BaseNode):
|
|||||||
(to be passed to subprocess.Popen())
|
(to be passed to subprocess.Popen())
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
additional_options = self._options.strip()
|
||||||
command = [self.qemu_path]
|
command = [self.qemu_path]
|
||||||
command.extend(["-name", self._name])
|
command.extend(["-name", self._name])
|
||||||
command.extend(["-m", "{}M".format(self._ram)])
|
command.extend(["-m", "{}M".format(self._ram)])
|
||||||
@ -1496,6 +1497,8 @@ class QemuVM(BaseNode):
|
|||||||
command.extend(cdrom_option)
|
command.extend(cdrom_option)
|
||||||
command.extend((yield from self._disk_options()))
|
command.extend((yield from self._disk_options()))
|
||||||
command.extend(self._linux_boot_options())
|
command.extend(self._linux_boot_options())
|
||||||
|
if "-uuid" not in additional_options:
|
||||||
|
command.extend(["-uuid", self._id])
|
||||||
if self._console_type == "telnet":
|
if self._console_type == "telnet":
|
||||||
command.extend(self._serial_options())
|
command.extend(self._serial_options())
|
||||||
elif self._console_type == "vnc":
|
elif self._console_type == "vnc":
|
||||||
@ -1505,7 +1508,6 @@ class QemuVM(BaseNode):
|
|||||||
command.extend(self._monitor_options())
|
command.extend(self._monitor_options())
|
||||||
command.extend((yield from self._network_options()))
|
command.extend((yield from self._network_options()))
|
||||||
command.extend(self._graphic())
|
command.extend(self._graphic())
|
||||||
additional_options = self._options.strip()
|
|
||||||
if additional_options:
|
if additional_options:
|
||||||
try:
|
try:
|
||||||
command.extend(shlex.split(additional_options))
|
command.extend(shlex.split(additional_options))
|
||||||
|
@ -431,6 +431,8 @@ def test_build_command(vm, loop, fake_qemu_binary, port_manager):
|
|||||||
"cpus=1",
|
"cpus=1",
|
||||||
"-boot",
|
"-boot",
|
||||||
"order=c",
|
"order=c",
|
||||||
|
"-uuid",
|
||||||
|
vm.id,
|
||||||
"-serial",
|
"-serial",
|
||||||
"telnet:127.0.0.1:{},server,nowait".format(vm.console),
|
"telnet:127.0.0.1:{},server,nowait".format(vm.console),
|
||||||
"-net",
|
"-net",
|
||||||
@ -440,6 +442,19 @@ def test_build_command(vm, loop, fake_qemu_binary, port_manager):
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def test_build_command_manual_uuid(vm, loop, fake_qemu_binary, port_manager):
|
||||||
|
"""
|
||||||
|
If user has set a uuid we keep it
|
||||||
|
"""
|
||||||
|
|
||||||
|
vm.options = "-uuid e1c307a4-896f-11e6-81a5-3c07547807cc"
|
||||||
|
os.environ["DISPLAY"] = "0:0"
|
||||||
|
with asyncio_patch("asyncio.create_subprocess_exec", return_value=MagicMock()) as process:
|
||||||
|
cmd = loop.run_until_complete(asyncio.async(vm._build_command()))
|
||||||
|
assert "e1c307a4-896f-11e6-81a5-3c07547807cc" in cmd
|
||||||
|
assert vm.id not in cmd
|
||||||
|
|
||||||
|
|
||||||
def test_build_command_kvm(linux_platform, vm, loop, fake_qemu_binary, port_manager):
|
def test_build_command_kvm(linux_platform, vm, loop, fake_qemu_binary, port_manager):
|
||||||
"""
|
"""
|
||||||
Qemu 2.4 introduce an issue with KVM
|
Qemu 2.4 introduce an issue with KVM
|
||||||
@ -460,6 +475,8 @@ def test_build_command_kvm(linux_platform, vm, loop, fake_qemu_binary, port_mana
|
|||||||
"-enable-kvm",
|
"-enable-kvm",
|
||||||
"-boot",
|
"-boot",
|
||||||
"order=c",
|
"order=c",
|
||||||
|
"-uuid",
|
||||||
|
vm.id,
|
||||||
"-serial",
|
"-serial",
|
||||||
"telnet:127.0.0.1:{},server,nowait".format(vm.console),
|
"telnet:127.0.0.1:{},server,nowait".format(vm.console),
|
||||||
"-net",
|
"-net",
|
||||||
@ -491,6 +508,8 @@ def test_build_command_kvm_2_4(linux_platform, vm, loop, fake_qemu_binary, port_
|
|||||||
"smm=off",
|
"smm=off",
|
||||||
"-boot",
|
"-boot",
|
||||||
"order=c",
|
"order=c",
|
||||||
|
"-uuid",
|
||||||
|
vm.id,
|
||||||
"-serial",
|
"-serial",
|
||||||
"telnet:127.0.0.1:{},server,nowait".format(vm.console),
|
"telnet:127.0.0.1:{},server,nowait".format(vm.console),
|
||||||
"-net",
|
"-net",
|
||||||
@ -525,6 +544,8 @@ def test_build_command_two_adapters(vm, loop, fake_qemu_binary, port_manager):
|
|||||||
"cpus=1",
|
"cpus=1",
|
||||||
"-boot",
|
"-boot",
|
||||||
"order=c",
|
"order=c",
|
||||||
|
"-uuid",
|
||||||
|
vm.id,
|
||||||
"-serial",
|
"-serial",
|
||||||
"telnet:127.0.0.1:{},server,nowait".format(vm.console),
|
"telnet:127.0.0.1:{},server,nowait".format(vm.console),
|
||||||
"-net",
|
"-net",
|
||||||
|
Loading…
Reference in New Issue
Block a user