Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 675560

Summary: [vdsm] vdsm should monitor bond interfaces, sub-interfaces and bridges status
Product: Red Hat Enterprise Virtualization Manager Reporter: David Naori <dnaori>
Component: vdsmAssignee: lpeer <lpeer>
Status: CLOSED ERRATA QA Contact: Martin Pavlik <mpavlik>
Severity: high Docs Contact:
Priority: medium    
Version: 2.3.0CC: acathrow, bazulay, danken, gcheresh, gklein, iheim, jkt, knesenko, lbopf, lpeer, masayag, mpavlik, myakove, nyechiel, yeylon
Target Milestone: ---Keywords: Reopened, SubFeature
Target Release: 3.4.0Flags: sgrinber: Triaged+
nyechiel: Triaged+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: network
Fixed In Version: ovirt-3.4.0-alpha1 Doc Type: Enhancement
Doc Text:
VDSM now provides data about bonds, bond slaves, bridges, and VLANs.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-09 13:24:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Network RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 996678, 1078909, 1142926    

Description David Naori 2011-02-06 17:10:09 UTC
Description of problem: VDSM is not monitoring sub-interfaces and bridges.
in this situation sub-interface maybe down- the VMs connected to it wont have connectivity to the network and RHEVM is not notified.

Comment 2 David Naori 2011-02-07 15:08:41 UTC
same issue with bond interfaces.

Comment 4 lpeer 2012-07-10 10:17:55 UTC
*** Bug 653423 has been marked as a duplicate of this bug. ***

Comment 5 psebek 2013-07-16 08:48:21 UTC
It seems that this change would have no real-life use case. All nics are already monitored. There is no need to monitor VLANs because it shouldn't change the state without admins intervention.

Comment 6 Moti Asayag 2013-09-30 07:31:00 UTC
The bug is reopened so 
Bug 996678 - "Admin Portal (and REST API) not reporting the data used to generate the network graph" could be addressed.

Comment 7 GenadiC 2013-10-02 14:42:22 UTC
Additonal scenario that should be checked:
1) Create VLAN network
2) Choose Hosts under specific network in network tab
3) Check that Network device status for vlan device is up

Comment 9 Andrew Cathrow 2013-12-11 08:26:03 UTC
Livnat,

IIUC we don't monitor the physical interfaces in a bond, so if I have a bond with em1 and em2 and em1 goes down is there a way of knowing this in ovirt?

Comment 10 Dan Kenigsberg 2013-12-15 23:10:11 UTC
Andrew, in 3.4 vdsm would report the state of the bond device. Engine already collects and reports it if it is available.

Comment 13 Martin Pavlik 2014-02-07 11:44:07 UTC
VERIFIED

works with:
oVirt Engine Version: 3.4.0-0.5.beta1.el6 
vdsm-4.14.1-2.el6.x86_64

data about: bonds, bond slaves, bridges, VLANs are provided by VDSM

[root@dell-r210ii-07 ~]# vdsClient -s 0 getVdsStats
<snip>
	network = {';vdsmdummy;': {'name': ';vdsmdummy;',
	                           'rxDropped': '0',
	                           'rxErrors': '0',
	                           'rxRate': '0.0',
	                           'speed': '1000',
	                           'state': 'down',
	                           'txDropped': '0',
	                           'txErrors': '0',
	                           'txRate': '0.0'},
	           'NET1': {'name': 'NET1',
	                    'rxDropped': '0',
	                    'rxErrors': '0',
	                    'rxRate': '0.0',
	                    'speed': '1000',
	                    'state': 'down',
	                    'txDropped': '0',
	                    'txErrors': '0',
	                    'txRate': '0.0'},
	           'VLAN1': {'name': 'VLAN1',
	                     'rxDropped': '0',
	                     'rxErrors': '0',
	                     'rxRate': '0.0',
	                     'speed': '1000',
	                     'state': 'up',
	                     'txDropped': '0',
	                     'txErrors': '0',
	                     'txRate': '0.0'},
	           'VLAN2': {'name': 'VLAN2',
	                     'rxDropped': '0',
	                     'rxErrors': '0',
	                     'rxRate': '0.0',
	                     'speed': '1000',
	                     'state': 'down',
	                     'txDropped': '0',
	                     'txErrors': '0',
	                     'txRate': '0.0'},
	           'bond0': {'name': 'bond0',
	                     'rxDropped': '0',
	                     'rxErrors': '0',
	                     'rxRate': '0.0',
	                     'speed': '2000',
	                     'state': 'up',
	                     'txDropped': '0',
	                     'txErrors': '0',
	                     'txRate': '0.0'},
	           'bond0.172': {'name': 'bond0.172',
	                         'rxDropped': '0',
	                         'rxErrors': '0',
	                         'rxRate': '0.0',
	                         'speed': '1000',
	                         'state': 'up',
	                         'txDropped': '0',
	                         'txErrors': '0',
	                         'txRate': '0.0'},
	           'bond0.173': {'name': 'bond0.173',
	                         'rxDropped': '0',
	                         'rxErrors': '0',
	                         'rxRate': '0.0',
	                         'speed': '1000',
	                         'state': 'up',
	                         'txDropped': '0',
	                         'txErrors': '0',
	                         'txRate': '0.0'},
	           'bond1': {'name': 'bond1',
	                     'rxDropped': '0',
	                     'rxErrors': '0',
	                     'rxRate': '0.0',
	                     'speed': '1000',
	                     'state': 'down',
	                     'txDropped': '0',
	                     'txErrors': '0',
	                     'txRate': '0.0'},
	           'bond2': {'name': 'bond2',
	                     'rxDropped': '0',
	                     'rxErrors': '0',
	                     'rxRate': '0.0',
	                     'speed': '1000',
	                     'state': 'down',
	                     'txDropped': '0',
	                     'txErrors': '0',
	                     'txRate': '0.0'},
	           'bond3': {'name': 'bond3',
	                     'rxDropped': '0',
	                     'rxErrors': '0',
	                     'rxRate': '0.0',
	                     'speed': '1000',
	                     'state': 'down',
	                     'txDropped': '0',
	                     'txErrors': '0',
	                     'txRate': '0.0'},
	           'bond4': {'name': 'bond4',
	                     'rxDropped': '0',
	                     'rxErrors': '0',
	                     'rxRate': '0.0',
	                     'speed': '1000',
	                     'state': 'down',
	                     'txDropped': '0',
	                     'txErrors': '0',
	                     'txRate': '0.0'},
	           'em1': {'name': 'em1',
	                   'rxDropped': '0',
	                   'rxErrors': '0',
	                   'rxRate': '0.0',
	                   'speed': '1000',
	                   'state': 'up',
	                   'txDropped': '0',
	                   'txErrors': '0',
	                   'txRate': '0.0'},
	           'em2': {'name': 'em2',
	                   'rxDropped': '0',
	                   'rxErrors': '0',
	                   'rxRate': '0.0',
	                   'speed': '1000',
	                   'state': 'up',
	                   'txDropped': '0',
	                   'txErrors': '0',
	                   'txRate': '0.0'},
	           'lo': {'name': 'lo',
	                  'rxDropped': '0',
	                  'rxErrors': '0',
	                  'rxRate': '0.0',
	                  'speed': '1000',
	                  'state': 'up',
	                  'txDropped': '0',
	                  'txErrors': '0',
	                  'txRate': '0.0'},
	           'ovirtmgmt': {'name': 'ovirtmgmt',
	                         'rxDropped': '0',
	                         'rxErrors': '0',
	                         'rxRate': '0.0',
	                         'speed': '1000',
	                         'state': 'up',
	                         'txDropped': '0',
	                         'txErrors': '0',
	                         'txRate': '0.0'},
	           'p1p1': {'name': 'p1p1',
	                    'rxDropped': '0',
	                    'rxErrors': '0',
	                    'rxRate': '0.0',
	                    'speed': '1000',
	                    'state': 'up',
	                    'txDropped': '0',
	                    'txErrors': '0',
	                    'txRate': '0.0'},
	           'p1p2': {'name': 'p1p2',
	                    'rxDropped': '0',
	                    'rxErrors': '0',
	                    'rxRate': '0.0',
	                    'speed': '1000',
	                    'state': 'up',
	                    'txDropped': '0',
	                    'txErrors': '0',
	                    'txRate': '0.0'}}
</snip>

Comment 15 errata-xmlrpc 2014-06-09 13:24:21 UTC
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.

http://rhn.redhat.com/errata/RHBA-2014-0504.html