Bug 1468240 - vdsm should be aware of new bond options in new kernel and should take action upon the change to make the new options as vdsm defaults
vdsm should be aware of new bond options in new kernel and should take action...
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: vdsm (Show other bugs)
x86_64 Linux
high Severity high
: ovirt-3.6.12
: ---
Assigned To: Leon Goldberg
Michael Burman
: Regression, ZStream
Depends On: 1458549
  Show dependency treegraph
Reported: 2017-07-06 08:44 EDT by Oved Ourfali
Modified: 2017-07-27 13:38 EDT (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1458549
Last Closed: 2017-07-27 13:38:42 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: Network
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
oVirt gerrit 78780 ovirt-3.6 MERGED net: Generate dump bonding options on boot and upgrade 2017-07-10 05:10 EDT

  None (edit)
Description Oved Ourfali 2017-07-06 08:44:59 EDT
+++ This bug was initially created as a clone of Bug #1458549 +++

Description of problem:
[RFE] - vdsm should be aware of new bond options in new kernel and should take action upon the change to make the new options as vdsm defaults. 

Unless running the next command after the kernel update we will end up with the next scenario:
vdsm-tool dump-bonding-options
systemctl restart vdsmd supervdsmd.service

Can't update bond with IOError: [Errno 13] Permission denied error on rhel 7.4 with latest kernel.

It's not possible to update the bond with another bond mode on rhel 7.4.

2017-06-04 11:37:42,359+0300 ERROR (jsonrpc/0) [jsonrpc.JsonRpcServer] Internal server error (__init__:623)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/yajsonrpc/__init__.py", line 618, in _handle_request
    res = method(**params)
  File "/usr/lib/python2.7/site-packages/vdsm/rpc/Bridge.py", line 202, in _dynamicMethod
    result = fn(*methodArgs)
  File "/usr/share/vdsm/API.py", line 1433, in setupNetworks
    supervdsm.getProxy().setupNetworks(networks, bondings, options)
  File "/usr/lib/python2.7/site-packages/vdsm/supervdsm.py", line 53, in __call__
    return callMethod()
  File "/usr/lib/python2.7/site-packages/vdsm/supervdsm.py", line 51, in <lambda>
  File "<string>", line 2, in setupNetworks
  File "/usr/lib64/python2.7/multiprocessing/managers.py", line 773, in _callmethod
    raise convert_to_error(kind, result)
IOError: [Errno 13] Permission denied

I think that the main problem starts because when creating the bond in the setup networks UI, for example mode 4 or 1, it reported as an custom bond mode, which isn't correct(behave different on previous version). vdsm thinks some bond options are not it's defualt and it's why the bond is a custom bond. 
And after the bond creation, when choosing another bond mode from the list we failing with error on vdsm side.
But, if trying to update the bond with custom bond mode, just switch from 1 to 4, it works. 

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

How reproducible:

Steps to Reproduce:
1. Create default bond mode in the setup networks UI on rhel 7.4 
2. Edit the bond and choose from the list, mode 1
3. Update the custom mode field with mode=1

Actual results:
1. Problem starts, bond reported as custom bond mode(regression), vdsm see difference in the default bond options, which changed after kernel update.
2. Failed with vdsm error
3. Works

Expected results:
1. Bond shouldn't be reported as custom bond mode if wasn't selected as custom bond mode. vdsm should recognize new bond options in the kernel and make them as default ones.
2. Should work as expected. 

Additional info:
- Attaching screenshots
- This behaviour happens for all bond modes and it's a regression. 
vdsm see difference between his default bond options and the new kernel bond options and bond created as custom bond mode.

--- Additional comment from Dan Kenigsberg on 2017-06-04 05:22:36 EDT ---

Vdsm needs to support 7.4 kernel. This is an obvious bug. We need to update our defaults.

But I don't see where is the RFE here.

--- Additional comment from Red Hat Bugzilla Rules Engine on 2017-06-04 05:22:42 EDT ---

This bug report has Keywords: Regression or TestBlocker.
Since no regressions or test blockers are allowed between releases, it is also being identified as a blocker for this release. Please resolve ASAP.
Comment 3 Michael Burman 2017-07-13 03:50:21 EDT
Verified on - vdsm-4.17.42-1.el7ev.noarch
Comment 4 Michael Burman 2017-07-13 03:50:46 EDT
Verified on - vdsm-4.17.42-2.el7ev.noarch
Comment 6 errata-xmlrpc 2017-07-27 13:38:42 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.