Replacing or merging configuration files with IS-IS configuration causes an
error in IS-IS 0-to-1 migration script (/opt/vyatta/etc/config-migrate/migrate/isis/0-to-1).
/tmp/test_isis.conf
interfaces { loopback lo { } } protocols { isis { interface lo { } net 49.0001.0000.0000.0001.00 } }
jvoss@vyos# merge /tmp/test_isis.conf Migration script error: /opt/vyatta/etc/config-migrate/migrate/isis/0-to-1: [Errno 1] failed to run command: ['/opt/vyatta/etc/config-migrate/migrate/isis/0-to-1', '/tmp/tmpd0jll6fb'] returned: exit code: 1. [edit]
Further investigation shows the following error in the migration script:
root@vyos:/home/jvoss# /opt/vyatta/etc/config-migrate/migrate/isis/0-to-1 /tmp/test_isis.conf Traceback (most recent call last): File "/opt/vyatta/etc/config-migrate/migrate/isis/0-to-1", line 45, in <module> config.copy(isis_base, tmp_base) File "/usr/lib/python3/dist-packages/vyos/configtree.py", line 255, in copy raise ConfigTreeError(msg) vyos.configtree.ConfigTreeError: Non-existent path 'protocols isis interface net'
Setting isis_base to 'protocols isis' plus additional nodes in the configuration results the configuration path
being 'protocols isis interface net':
# Only one IS-IS process is supported, thus this operation is save isis_base = base + config.list_nodes(base)
Keeping the base of only 'protocols isis' resolves this issue and allows the config merge to complete
correctly and successfully:
# After proposed changes jvoss@vyos# merge /tmp/test_isis.conf Merge complete. Use 'commit' to make changes effective. [edit] jvoss@vyos# compare [protocols] + isis { + interface lo { } + net "49.0001.0000.0000.0001.00" + } [edit] jvoss@vyos# commit [edit] jvoss@vyos:~$ show isis interface Area VyOS: Interface CircId State Type Level lo 0x0 Up loopback L1L2