Change method to allocate AUX console for existing Dynamips nodes

This commit is contained in:
grossmj 2024-09-22 21:41:10 +07:00
parent c41c11eb34
commit 74782d413f
No known key found for this signature in database
GPG Key ID: 0A2D76AC45EA25CD
3 changed files with 21 additions and 6 deletions

View File

@ -653,7 +653,6 @@ class BaseNode:
:param aux_type: console type (string)
"""
print("SET AUX TYPE", aux_type)
if aux_type != self._aux_type:
# get a new port if the aux type change
if self._aux:

View File

@ -527,10 +527,6 @@ class Dynamips(BaseManager):
if usage is not None and usage != vm.usage:
vm.usage = usage
aux_type = settings.get("aux_type")
if aux_type is not None and aux_type != vm.aux_type:
vm.aux_type = aux_type
# update the configs if needed
await self.set_vm_configs(vm, settings)

View File

@ -992,7 +992,27 @@ class Router(BaseNode):
"""
self.aux = aux
await self._hypervisor.send('vm set_aux_tcp_port "{name}" {aux}'.format(name=self._name, aux=aux))
await self._hypervisor.send('vm set_aux_tcp_port "{name}" {aux}'.format(name=self._name, aux=self._aux))
async def set_aux_type(self, aux_type):
"""
Sets the aux type.
:param aux_type: auxiliary console type
"""
if self.aux_type != aux_type:
status = await self.get_status()
if status == "running":
raise DynamipsError('"{name}" must be stopped to change the auxiliary console type to {aux_type}'.format(
name=self._name,
aux_type=aux_type)
)
self.aux_type = aux_type
if self._aux and aux_type == "telnet":
await self._hypervisor.send('vm set_aux_tcp_port "{name}" {aux}'.format(name=self._name, aux=self._aux))
async def reset_console(self):
"""