mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-08-27 12:30:13 +03:00
Extract the docker_exec console and GNS3_* prototype knobs (SKIP_INIT, INTERFACE_NAMES, CONSOLE_CMD) from DockerVM into a VendorDockerVM subclass. DockerVM is restored to its 3.1 baseline plus four small extension hooks (_prepare_init_and_interface_env, _start_console_server, _get_container_ifname, _cleanup_console_resources) that are pure refactorings with zero behaviour change for existing nodes. VendorDockerVM additionally replicates init.sh's volume persistence (bind-mount /gns3volumes over the in-container path) via docker exec for containers that skip init.sh, so vendor NOS config (e.g. /etc/opt/srlinux) survives node stop/start. The Docker manager selects VendorDockerVM when console_type == docker_exec; all other nodes keep using DockerVM unchanged.