Page MenuHomeVyOS Platform

dns-dynamic 0-to-1 probably missing migration of rfc2136 -> nsupdate
Open, HighPublicBUG

Description

Hi,

Upgrading from 1.4-rolling-202311111230 to 1.5-stream-2025-Q2 which failed;

twan@rtr2# load
Loading configuration from 'config.boot'
vyos.migrate - ERROR - Error in /opt/vyatta/etc/config-migrate/migrate/dns-dynamic/1-to-2: Path [b'service dns dynamic address eth0 service'] doesn't exist
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/vyos/compose_config.py", line 56, in apply_func
    func(self.config_tree)
  File "/opt/vyatta/etc/config-migrate/migrate/dns-dynamic/1-to-2", line 54, in migrate
    for svc_cfg in config.list_nodes(address_path + [address, 'service']):
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/configtree.py", line 304, in list_nodes
    raise ConfigTreeError("Path [{}] doesn't exist".format(path_str))
vyos.configtree.ConfigTreeError: Path [b'service dns dynamic address eth0 service'] doesn't exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/vyos/compose_config.py", line 73, in apply_file
    self.apply_func(func)
  File "/usr/lib/python3/dist-packages/vyos/compose_config.py", line 60, in apply_func
    raise ComposeConfigError(e) from e
vyos.compose_config.ComposeConfigError: Path [b'service dns dynamic address eth0 service'] doesn't exist

The config looked like this before upgrade;

twan@rtr2# show service dns dynamic
 address eth0 {
     rfc2136 PDNS {
         host-name sub.example.com
         key /config/auth/pdns.key
         server 10.1.1.153
         zone example.com
     }
 }

I ended up deleting the section and then the migration worked.
While readding the section manually I noticed that the protocol most likely has been renamed from rfc2136 to nsupdate, which should have, but does not, happen in 0-to-1.

Details

Version
1.4
Is it a breaking change?
Config syntax change (migratable)
Issue type
Bug (incorrect behavior)