Page MenuHomeVyOS Platform

Issue with Configuration Migration from VyOS 1.3.8 to 1.4.1
Closed, ResolvedPublicBUG

Description

After upgrading from VyOS 1.3.8 to 1.4.1, the following configuration is completely lost:

set protocols static interface-route X.X.X.0/16 next-hop-interface vti0 distance '10'
set protocols static interface-route X.X.X.0/16 next-hop-interface vti1 distance '20'
set protocols static interface-route X.X.X.0/16 next-hop-interface x.x.x.1 distance '20'
set protocols static interface-route X.X.X.0/16 next-hop-interface x.x.x.2 distance '10'

Steps to Reproduce:

  1. Start with VyOS 1.3.8 using the above configuration.
  2. Upgrade to VyOS 1.4.1.
  3. Check the migrated configuration.

Expected Behavior:
Configuration should migrate without any loss.

Actual Behavior:
Configuration migration fails, and the system reverts to the default base configuration instead of preserving the current configuration.

Environment:

  • Initial version: VyOS 1.3.8
  • Target version: VyOS 1.4.1
  • Hardware/VM: Proxmox 8.x

Partial Solution:
Before upgrading, convert the affected routes to the following format in VyOS 1.3.8 to ensure compatibility with 1.4.1:

set protocols static route x.x.x.0/16 interface vti2 distance '10'
set protocols static route x.x.x.0/16 interface vti3 distance '20'
set protocols static route x.x.x.0/16 next-hop x.x.x.1 distance '20'
set protocols static route x.x.x.0/16 next-hop x.x.x.2 distance '10'

This adjustment ensures the routes persist correctly after the upgrade.

Details

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

Event Timeline

dmbaturin changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.

PR:
https://github.com/vyos/vyos-1x/pull/4566

As 1.3.x allowed for an ip address as value of

set protocols static interface-route addr next-hop-interface

that case needed to be checked in the migration script.

The details summarized here:
https://vyos.dev/T6543
are the cause of the whole configuration block being lost on error.

jestabro moved this task from Backlog to Finished on the VyOS 1.4 Sagitta (1.4.3) board.
jestabro moved this task from Open to Finished on the VyOS 1.5 Circinus board.
jestabro moved this task from Need Triage to Completed on the VyOS Rolling board.