Page MenuHomeVyOS Platform

vyos unbootable after 1.4-rolling-202308240020 to 1.5-rolling-202312010026 upgrade
Closed, ResolvedPublicBUG

Description

I recently upgraded a router running 1.4-rolling-202308240020 to the latest 1.5-rolling-202312010026 and it failed to boot with a Starting VyOS router: migrate configure failed! failure.

I tried booting with the grub option vyos-debug-config and it said it collected data to /tmp/boot-config-trace, however, the vyos:vyos login would not work (as it has in the past), so I could not see the specific error data. (as an aside, it would've been very helpful if this was stored to a persistent location like /log)

I was able to strip the config file down to the minimal necessary to boot and added in one section at a time until I discovered the problem. It appears the peth0 interface isn't available at the time the dynamic dns config is loaded...

This appears to be a timing issue that did not exist in the prior version, but even so, it doesn't seem like this should prevent the system from booting, nor prevent the vyos-debug-config option from enabling the vyos:vyos login.

interfaces {
    ethernet eth0 {
        address "dhcp"
        description "wan1"
        dhcp-options
        dhcpv6-options {
            pd 0 {
                interface eth4 {
                    sla-id "0"
                }
                length "56"
            }
        }
        hw-id "XX:XX:XX:XX:XX:d1"
        ipv6 {
            address {
                autoconf
            }
        }
    }
    ethernet eth1 {
        hw-id "XX:XX:XX:XX:XX:d2"
    }
    ethernet eth2 {
        hw-id "XX:XX:XX:XX:XX:d3"
    }
    ethernet eth3 {
        hw-id "XX:XX:XX:XX:XX:d4"
    }
    ethernet eth4 {
        address "192.168.10.1/24"
        address "fd00:192:168:10::1/64"
        description "lan1"
        hw-id "XX:XX:XX:XX:XX:d5"
        ipv6
    }
    loopback lo {
    }
}
pseudo-ethernet peth0 {
    ipv6 {
        address {
            autoconf
        }
    }
    source-interface "eth0"
}
service {
    dns {
        dynamic {
            address eth0 {
                service router-1 {
                    host-name "router-1.dyn.example1.com"
                    ip-version "ipv6"
                    password "REDACTED"
                    protocol "cloudflare"
                    zone "example1.com"
                }
            }
            address peth0 {
                service apps-1_ch4lox {
                    host-name "apps-1.example1.com"
                    ip-version "ipv6"
                    password "REDACTED"
                    protocol "cloudflare"
                    zone "example1.com"
                }
                service apps-1_xrks {
                    host-name "apps-1.example2.com"
                    ip-version "ipv6"
                    password "REDACTED"
                    protocol "cloudflare"
                    zone "example2.com"
                }
            }
        }
    }
}

Removing the address peth0 section from service dns dynamic enables the system to boot.

I can also add the address peth0 section back after boot and commit without any issues, but cannot save it.

Details

Difficulty level
Unknown (require assessment)
Version
1.5-rolling-202312010026
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

There is no section address now
VyOS 1.5-rolling-202312070905

vyos@r4# set service dns dynamic 
Possible completions:
   interval             Interval in seconds to wait between Dynamic DNS updates
                        (default: 300)
+> name                 Dynamic DNS configuration
   vrf                  VRF instance name

https://vyos.dev/T5791

Thanks for that heads-up @Viacheslav - My bigger concern with this task was the failure-mode of the configuration problem being so unexpected and hard to troubleshoot.

Hi @Viacheslav I just upgraded that router from 1.5-rolling-202312191154 to 1.5-rolling-202401200023 and it now seems to successfully boot with peth0 for the dynamic dns service address.

set service dns dynamic name apps-1_domain1 address 'peth0'

Do you mind sharing which PR possibly fixed this?

Viacheslav claimed this task.

It could be priority https://github.com/vyos/vyos-1x/pull/2703 or another fix. I can't say exactly.