Page MenuHomeVyOS Platform

The "arp-monitor" option in bonding interface settings does not work
Closed, ResolvedPublicBUG

Description

If we try to use the arp-monitor option in bonding interface, the commit will fail.

set interfaces bonding bond0 member interface eth2
set interfaces bonding bond0 member interface eth3
set interfaces bonding bond0 arp-monitor target 192.0.2.1

The error message:

[ interfaces bonding bond0 ]
VyOS had an issue completing a command.

We are sorry that you encountered a problem while using VyOS.
There are a few things you can do to help us (and yourself):
- Contact us using the online help desk if you have a subscription:
  https://support.vyos.io/
- Make sure you are running the latest version of VyOS available at:
  https://vyos.net/get/
- Consult the community forum to see how to handle this issue:
  https://forum.vyos.io
- Join us on Slack where our users exchange help and advice:
  https://vyos.slack.com

When reporting problems, please include as much information as possible:
- do not obfuscate any data (feel free to contact us privately if your 
  business policy requires it)
- and include all the information presented below

Report time:      2022-03-15 15:54:12
Image version:    VyOS 1.4-rolling-202203150317
Release train:    sagitta

Built by:         autobuild@vyos.net
Built on:         Tue 15 Mar 2022 03:17 UTC
Build UUID:       9da98191-be0b-42e1-937a-97fb016b22ac
Build commit ID:  f2655e2ae72e8c

Architecture:     x86_64
Boot via:         installed image
System type:      KVM guest

Hardware vendor:  QEMU
Hardware model:   Standard PC (i440FX + PIIX, 1996)
Hardware S/N:     
Hardware UUID:    e0afcc7a-1709-4854-8c49-3951f1c24c85

Traceback (most recent call last):
  File "/usr/libexec/vyos/conf_mode/interfaces-bonding.py", line 210, in <module>
    verify(c)
  File "/usr/libexec/vyos/conf_mode/interfaces-bonding.py", line 135, in verify
    if 'target' in bond['arp_monitor'] and len(int(bond['arp_monitor']['target'])) > 16:
TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'

Details

Version
1.4-rolling-202203150317
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

zsdc changed the task status from Open to In progress.Mar 15 2022, 4:32 PM
zsdc claimed this task.
zsdc moved this task from Open to In Progress on the VyOS 1.4 Sagitta board.
zsdc edited a custom field.
zsdc changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.

The same issue with set interfaces bonding bond0 arp-monitor interval 'X' option. Also extra conversion between variable types.
Added the fix to the same PR.

Unknown Object (User) subscribed.EditedApr 11 2022, 1:25 AM

VyOS 1.4-rolling-202204090217 works well.

1.3.0-rc6 has a problem:

vyos@vyos# set interfaces bonding bond0 member interface eth2
[edit]
vyos@vyos# set interfaces bonding bond0 member interface eth3
[edit]
vyos@vyos# set interfaces bonding bond0 arp-monitor target 192.0.2.1
[edit]
vyos@vyos# commit
[ interfaces bonding bond0 ]
VyOS had an issue completing a command.

We are sorry that you encountered a problem while using VyOS.
There are a few things you can do to help us (and yourself):
- Contact us using the online help desk if you have a subscription:
  https://support.vyos.io/
- Make sure you are running the latest version of VyOS available at:
  https://vyos.net/get/
- Consult the community forum to see how to handle this issue:
  https://forum.vyos.io
- Join us on Slack where our users exchange help and advice:
  https://vyos.slack.com

When reporting problems, please include as much information as possible:
- do not obfuscate any data (feel free to contact us privately if your
  business policy requires it)
- and include all the information presented below

Report Time:      2022-04-11 01:23:46
Image Version:    VyOS 1.3.0-rc6
Release Train:    equuleus

Built by:         Sentrium S.L.
Built on:         Sun 22 Aug 2021 15:37 UTC
Build UUID:       965518de-857d-4e61-ab09-381aadf24eb1
Build Commit ID:  75b37b28b2e9ab

Architecture:     x86_64
Boot via:         installed image
System type:      Unknown hypervisor guest

Hardware vendor:  QEMU
Hardware model:   Standard PC (i440FX + PIIX, 1996)
Hardware S/N:
Hardware UUID:    57889736-6379-48fc-a0ad-4ce09eb86e49

Traceback (most recent call last):
  File "/usr/libexec/vyos/conf_mode/interfaces-bonding.py", line 210, in <modul>
    verify(c)
  File "/usr/libexec/vyos/conf_mode/interfaces-bonding.py", line 135, in verify
    if 'target' in bond['arp_monitor'] and len(int(bond['arp_monitor']['target':
TypeError: int() argument must be a string, a bytes-like object or a number, no'



[[interfaces bonding bond0]] failed
Commit failed
[edit]