Bug 1126478

Summary: [Netwrok_custom_properties] [Ethtool_opts]- Bond should be supported
Product: [Retired] oVirt Reporter: Michael Burman <mburman>
Component: vdsmAssignee: Antoni Segura Puimedon <asegurap>
Status: CLOSED CURRENTRELEASE QA Contact: Michael Burman <mburman>
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.5CC: asegurap, bazulay, bugs, danken, ecohen, gklein, iheim, mburman, mgoldboi, myakove, rbalakri, yeylon
Target Milestone: ---Keywords: Reopened, Triaged
Target Release: 3.5.0   
Hardware: x86_64   
OS: Linux   
Whiteboard: network
Fixed In Version: 4.16.4 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-17 12:23:21 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:

Description Michael Burman 2014-08-04 14:04:44 UTC
Description of problem:
Bond is not supported in ethtool_opts.
If i want to configure or update the 2 nic's of a bond via gui, i can't.
For that i will need to attach another network(vlan) to the bond.

Version-Release number of selected component (if applicable):
 oVirt Engine Version: 3.5.0-0.0.master.20140722232058.git8e1babc.el6 

How reproducible:
always

Steps to Reproduce:
1. create bond with 2 nic's and attach a network to the bond.
2. try to configure and update the 2 nic's with the same or different parameters.
3. 

Actual results:
Nothing happens. if you try it in linux, you get- bad command line argument
In linux , you need to update each nic separate. in gui you can't, without adding another network. 

Expected results:
Expect to be able update and configure the nic's of the bond with the same parameters or other, without attaching additional network to bond.

Additional info:

Comment 1 Michael Burman 2014-08-05 09:52:41 UTC
To be more clear about this:

We expect to be able configure the both slaves of a bond via the network that attached to this bond. We expect that the configuration will be applied to the both slaves at once. without specify the name of the slaves. 

Thank you

Comment 2 Dan Kenigsberg 2014-08-06 08:36:38 UTC
Unfortunately, the burden of selecting which of the slaves is to be set, is lies on the shoulders of the end user. For example,

  --coalesce em1 rx-usecs 14 sample_interval 3 --offload em2 rx on lro on tso off --change em1 speed 1000 duplex half

is a valid value, setting both em1 and em2.

So, bond *is* supported, just not in a very user-friendly way (much like all of ethtool_opts feature).

Comment 3 Meni Yakove 2014-08-07 06:16:21 UTC
This should be in the admin guide as well.

Comment 4 Michael Burman 2014-08-07 14:22:44 UTC
This command doesn't work.
 ethtool --coalesce eth2 rx-usecs 14 sample_interval 3 --offload eth3 rx on lro on tso off --change eth2 speed 1000 duplex half
ethtool: bad command line argument(s)
For more information run ethtool -h

Comment 5 Antoni Segura Puimedon 2014-08-07 14:25:16 UTC
and it works when executed from the command line in the host?

Comment 6 Michael Burman 2014-08-07 14:30:51 UTC
No. this command was executed in CLI

Comment 7 Antoni Segura Puimedon 2014-08-07 14:33:46 UTC
What does not work on the cli will not work through oVirt. As to why the command line arguments you pasted are bad, we'd have to look at ethtool's source or ask its maintainer.

Comment 8 Michael Burman 2014-10-12 07:42:13 UTC
Tested and Verified on - 3.5.0-0.14.beta.el6ev
-With vdsm-4.16.6-1.el6ev.x86_64
-And vdsm-hook-ethtool-options-4.16.6-1.el6ev.noarch
-ethtool version 3.5

-Note that it is possible to substitute the ethX name of the NIC with a '*' and	
the hook will fill in the right nic name for you:
bonding
For bondings there are two options:
a) Pick which devices to apply something on (subject to the command actually
being appliable with a single ethtool call):
If it is for a bond with eth1 and eth2, it could look like:
'-A eth1 rx on -A eth2 tx on'
b) Apply to all the bond slaves:
'--change * speed 1000 duplex half'  
'-A eth1 autoneg off -A eth2 autoneg off' or '-A * autoneg off'

-When tested this on RHEL7 with  vdsm-4.16.6-1.el7.x86_64
and vdsm-hook-ethtool-options-4.16.6-1.el7.noarch
ethtool version 3.8. 
It seem that it is not working. Can't apply to all the bond slaves.
Toni, is it should be supported also for rhel7?

Comment 9 Antoni Segura Puimedon 2014-10-12 09:14:03 UTC
It should work on el7. Is it maybe an selinux thing?

Comment 10 Michael Burman 2014-10-12 10:15:09 UTC
You were right Toni, it is working on el7 too.
Both enforcing and permissive.
I just had a NIC that doesn't support some change(speed 1000 duplex half).

So this bug is verified on 3.5.0-0.14.beta.el6ev, both el6+el7.

Comment 11 Sandro Bonazzola 2014-10-17 12:23:21 UTC
oVirt 3.5 has been released and should include the fix for this issue.