Page MenuHomeVyOS Platform

hw-id gone missing from interfaces after upgrade to 1.3-rolling-202004191028
Closed, ResolvedPublic

Description

I had to manually re-add the macs under "mac" nodes (hw-id was removed).

During commit I also lost SSH connection as it applied the mac on the interface I was connected through so I had to manually reboot the router. I suspect it changed the interface's MAC to the one I set, which isn't good at all - I'd add a second config node ("admin-mac" or similar) if the user wanted to change the interface's mac rather than just reassign an existing interface to a different name. See also T1499

Details

Difficulty level
Unknown (require assessment)
Version
1.3-rolling-202004191028
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)

Event Timeline

jjakob triaged this task as Unbreak Now! priority.Apr 19 2020, 11:37 AM
jjakob created this task.
jjakob created this object in space S1 VyOS Public.

I spent the last hour at the console trying to fix this mess. It left me with completely broken internet and also bridged the WAN and one of the LAN ports (several of which are in a bridge). I must've tried rebooting 10 times with both 202004191028 and 202004141515 until I could finally get things to work properly with 202004120117. Before this, I've had problems with 1.2 and 1.3 rolling for years where sometimes the interfaces would get mixed up, but usually one reboot fixed it. Now there is a 100% chance of them being completely mixed up every time.

I can say whatever change was done to introduce this needs to be reverted immediately. I'm not touching a newer release until someone can guarantee this is fixed.

My suspicion is the old Vyatta code messing with the interface names and setting MACs where it shouldn't, that has now gone completely haywire in a race condition with something new VyOS has added.
See T577 - I think this is the same issue.

I would remove all functions for changing interface MAC addresses immediately. If that is wanted, I'd first fix T1499 and add a new config node "admin-mac" that specified the wanted changed mac. The "hw-id" or "mac" node needs to stay bound to the physical interface mac as it's vittally important as it's used to rename interfaces during boot.

T1058 T760 T1671 T290

jjakob added a comment.EditedApr 19 2020, 1:04 PM

@c-po this is the commit that caused this issue. You renamed the config node but didn't include a migrator. https://github.com/vyos/vyos-1x/commit/021a2470bd67dccfac0a53c9f4ef511640c03101

The mixed up naming issue is something else I was unable to find that exacerbated an already existing race condition. In any case, I'll take on T577 and T1499 and do that before any attempts to fix it some other way.

jjakob added a subscriber: c-po.Apr 19 2020, 1:37 PM
pasik added a subscriber: pasik.Apr 19 2020, 4:02 PM
c-po added a comment.Apr 19 2020, 5:32 PM

Damn - I'm so sorry

c-po closed this task as Resolved.Apr 19 2020, 5:35 PM
c-po claimed this task.

Tested latest rolling, hw-id works as expected again (albeit sometimes buggy, but that's nothing new).