diff --git a/docs/features/iol-runner-docker.md b/docs/features/iol-runner-docker.md index 3d2c62fbe..231d6732d 100644 --- a/docs/features/iol-runner-docker.md +++ b/docs/features/iol-runner-docker.md @@ -128,9 +128,11 @@ from it boots with that configuration as its personal starting point. ``` * The file lives in the controller's configs directory (the `configs_path` - server setting, e.g. `~/.config/GNS3/3.1/configs`) — the same place IOU - and VPCS base configs live. `%h` in the content is replaced with the node - name at start. + server setting, by default `~/GNS3/configs`) — the same place IOU and + VPCS base configs live. A minimal `iol-xe-base.txt` ships with the + server and is installed there on startup (never overwriting a + user-modified copy); an absolute path in the knob bypasses the directory + entirely. `%h` in the content is replaced with the node name at start. * **Creation materializes it once**: the controller reads the file and sends its content with the node; afterwards the knob is consumed and the template file is never referenced again — editing it does not affect diff --git a/gns3server/configs/iol-xe-base.txt b/gns3server/configs/iol-xe-base.txt new file mode 100644 index 000000000..fb275da85 --- /dev/null +++ b/gns3server/configs/iol-xe-base.txt @@ -0,0 +1,16 @@ +! +service timestamps debug datetime msec +service timestamps log datetime msec +! +hostname %h +! +no ip domain lookup +! +ip tcp synwait-time 5 +! +line con 0 + exec-timeout 0 0 + privilege level 15 + logging synchronous +! +end diff --git a/tests/controller/test_controller.py b/tests/controller/test_controller.py index dad07581e..412a9b019 100644 --- a/tests/controller/test_controller.py +++ b/tests/controller/test_controller.py @@ -462,6 +462,9 @@ async def test_install_base_configs(controller, config, tmpdir): await controller._install_base_configs() assert os.path.exists(str(tmpdir / 'iou_l3_base_startup-config.txt')) + # the IOL docker base config ships with the server too (referenced by the + # GNS3_IOL_STARTUP_CONFIG knob in the documented template) + assert os.path.exists(str(tmpdir / 'iol-xe-base.txt')) # Check is the file has not been overwritten with open(str(tmpdir / 'iou_l2_base_startup-config.txt')) as f: