Bug 1859890

Summary: [Docs] Unexpected exception during setting fail_over_mac=active for bond that was not created by vdsm
Product: Red Hat Enterprise Virtualization Manager Reporter: Jiří Sléžka <jiri.slezka>
Component: DocumentationAssignee: rhev-docs <rhev-docs>
Status: CLOSED WONTFIX QA Contact: rhev-docs <rhev-docs>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.4.0CC: amusil, apinnick, lsurette, mperina, srevivo
Target Milestone: ovirt-4.5.3-asyncKeywords: Documentation
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: docscope 4.5
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-09-07 03:48:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Network RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
nmstatectl show
none
supervdsm.log
none
engine.log none

Description Jiří Sléžka 2020-07-23 09:33:03 UTC
Created attachment 1702198 [details]
nmstatectl show

Description of problem:

I am trying to setup active-backup (mode=1) bonding mode with custom
properties. When I try to add a custom parameter "fail_over_mac=active" I got "Error while executing action HostSetupNetworks: Unexpected exception" in manager.

Version-Release number of selected component (if applicable):

CentOS8
oVirt 4.4.1.10-1
vdsm-4.40.22-1

How reproducible:

100%

Steps to Reproduce:
- setup host network
- add custom parameter "mode=1 miimon=100 fail_over_mac=active"
- click ok

Actual results:

"Error while executing action HostSetupNetworks: Unexpected exception"

Expected results:

Saved configuration 

Additional info:

It looks like there are similar and maybe relevant BZs

https://bugzilla.redhat.com/show_bug.cgi?id=1801821
https://bugzilla.redhat.com/show_bug.cgi?id=1800592

Comment 1 Jiří Sléžka 2020-07-23 09:33:56 UTC
Created attachment 1702199 [details]
supervdsm.log

Comment 2 Jiří Sléžka 2020-07-23 09:34:30 UTC
Created attachment 1702200 [details]
engine.log

Comment 3 Michael Burman 2020-07-23 10:12:09 UTC
Hi

QE can't reproduce with nmstate-0.2.10-1.el8.noarch and vdsm-4.40.22-1.el8ev.x86_64
Working as expected

nmcli c s bond0
bond.options:                           fail_over_mac=active,miimon=100,mode=active-backup


Which nmstate version you are using?

Comment 4 Jiří Sléžka 2020-07-23 10:14:28 UTC
rpm -qa | grep nmstate

nmstate-0.2.10-1.el8.noarch
python3-libnmstate-0.2.10-1.el8.noarch

Comment 5 Jiří Sléžka 2020-07-23 10:18:26 UTC
In case it is relevant, I use this option line

mode=1 miimon=100 primary=enp2s0 fail_over_mac=active

Comment 6 Michael Burman 2020-07-23 10:21:44 UTC
(In reply to Jiří Sléžka from comment #5)
> In case it is relevant, I use this option line
> 
> mode=1 miimon=100 primary=enp2s0 fail_over_mac=active

This option also worked for me 

nmcli c s bond0
bond.options:                           fail_over_mac=active,miimon=100,mode=active-backup,primary=enp1s0f0

Comment 7 Jiří Sléžka 2020-07-23 10:37:19 UTC
in my case

nmcli c s bond0
bond.options:                           active_slave=ens5,downdelay=0,miimon=100,mode=active-backup,primary=ens5,updelay=0

Comment 8 Ales Musil 2020-07-23 10:44:58 UTC
One important note is that the bond has to be created first without the fail_over_mac and then updated to include this parameter.

Comment 9 Ales Musil 2020-07-23 11:24:35 UTC
The reproducer to this problem is as follows:

1) Create bond outside of ovirt
2) Take over this with ovirt (host deploy, define network on top of it) this will enforce MAC address 
3) Set fail_over_mac=active property

This means that affect flows are mostly host deploy over already defined bonds.

The workaround for this issue is to deploy the host without the bond or break the bond in oVirt and create it again.

Comment 10 Jiří Sléžka 2020-07-24 10:46:36 UTC
when I try to edit current configuration using nmstatectl edit, I was able to set fail_over_mac=active option. But only when I

- manually delete mac-address line from bond0 interface
- manually delete mac-address line from all bond0 subinterfaces
- manually delete mac-address line from all bond slave inetrfaces
- (also have to delete active_slave option but it probably describes running state and cannot be changed)
- manually add new option fail_over_mac: active
- (also have to delete - name: vnet0 section from port section of ovirtmgmt bridge - which is also running config)

then nmstatectl sets desired option successfully.

Comment 11 Dominik Holler 2020-07-28 13:19:39 UTC
Let's document the behavior and the workaround.

Comment 12 RHEL Program Management 2020-07-28 13:19:46 UTC
The documentation text flag should only be set after 'doc text' field is provided. Please provide the documentation text and set the flag to '?' again.