vendor: skip /etc/network in volume bridge and permission passes

GNS3_SKIP_INIT containers never run init.sh, so /etc/network (GNS3's own
network config consumed by init.sh's ifup) has no consumer — the NOS
manages its own interfaces. VendorDockerVM._persistent_volumes() filters it
out for both _setup_skip_init_volumes and _fix_permissions, saving one
docker exec per pass. The shared _mount_binds is untouched, and without
GNS3_SKIP_INIT the full volume list is returned so behaviour matches the
base class.
This commit is contained in:
YueGuobin committed 2026-08-13 02:05:17 +08:00
1 parent 486c5cc1cb
commit 46e863b975
2 files changed
+22 -2

No files matched your search

+7
View File
@@ -241,6 +241,13 @@ host ──Docker bind mount──▶ /gns3volumes/etc/opt/srlinux (always m
> host-side root-owned, and an unprivileged GNS3 process cannot chown them
> from the host. Container-side root (with GNS3's `UsernsMode: host`) can.
With `GNS3_SKIP_INIT`, `/etc/network` is skipped by both vendor passes
(`VendorDockerVM._persistent_volumes()`): it holds GNS3's own network config
for init.sh's `ifup`, which never runs for SKIP_INIT containers — the NOS
manages its own interfaces. The Docker mount itself is left alone (shared
`_mount_binds`, hardcoded at `docker_vm.py` `_mount_binds()`); only the
vendor-side bridge/fix passes skip it.
### Lifecycle summary
| Phase | Normal Docker node | `VendorDockerVM` + `GNS3_SKIP_INIT` |