Page MenuHomeVyOS Platform

vrf: config Migration failed 1.3.4--> 1.4.2 for static routes
Closed, ResolvedPublicBUG

Description

hi.

I try to plan a migration from 1.3.4 to 1.4.2. So I booted a clean 1.4.2 install copy the config.boot from 1.3.4 system to /tmp and run:

vyos@vyos:/tmp$ /usr/libexec/vyos/run-config-migration.py config.boot

It failed with:

Migration script error: /opt/vyatta/etc/config-migrate/migrate/vrf/1-to-2: [Errno 1] failed to run command: ['/opt/vyatta/etc/config-migrate/migrate/vrf/1-to-2', 'vyos-test']
returned: - op: set path: ['vrf', 'name'] value: None replace: True
- op: set path: ['vrf', 'name', 'OOBM', 'protocols'] value: None replace: True
- op: copy old_path: ['protocols', 'vrf', 'OOBM', 'static'] new_path: ['vrf', 'name', 'OOBM', 'protocols', 'static']
exit code: 1.

The Part from the config is:

vrf OOBM {
    static {
        route6 ::/0 {
            next-hop 2a01:XXXX:X::XX {
                interface eth0
            }
        }
    }
}

How to work around? Is there a better way to teste migrations?

Details

Version
1.4.2
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

Deploy a new VM with 1.4.2 copy configuration to the /config/config.boot (remove HW-id's), and reboot the router or execute load

From this configuration, I do not see protocols node

vrf OOBM {
    static {
        route6 ::/0 {
            next-hop 2a01:XXXX:X::XX {
                interface eth0
            }
        }
    }
}
dmbaturin added a project: VyOS Rolling.
dmbaturin changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.

The immediate cause of the errors above is a missing check, to be corrected in the first commit here:
https://github.com/vyos/vyos-1x/pull/4493
This exposes a second possible migration error from migration script vrf/2-to-3, corrected in the second commit of the PR.

c-po renamed this task from Config Migration failed 1.3.4--> 1.4.2 to vrf: config Migration failed 1.3.4--> 1.4.2 for static routes.May 7 2025, 6:18 PM
c-po closed this task as Resolved.
c-po added a project: VyOS 1.5 Circinus.
c-po moved this task from Need Triage to Completed on the VyOS Rolling board.
c-po moved this task from Open to Finished on the VyOS 1.5 Circinus board.
c-po moved this task from Backlog to Finished on the VyOS 1.4 Sagitta (1.4.3) board.