Hide Forgot
Description of problem: getVdsCaps display only up interfaces as slaves of a bond, vdsm should report all slave bond's interfaces configured without relation to there state. Version-Release number of selected component (if applicable): vdsm-4.9-64.el6.x86_64 Steps to Reproduce: 1.create bond 2.ifdown one of the slave interfaces 3.getVdsCaps Actual results: in a case of lost physical link connectivity to one or more slave bond's interfaces, vdsm will report nothing wrong with the bond interface and the down interfaces as unattached.
David, would you show the output of getVdsCaps in this condition?
While up: # vdsClient -s 0 getVdsCaps ... bondings = 'bond2': {'hwaddr': '00:10:18:24:47:6E', 'cfg': {'DEVICE': 'bond2', 'BRIDGE': 'rhevm', 'BOOTPROTO': 'none', 'ONBOOT': 'yes', 'BONDING_OPTS': 'mode=802.3ad miimon=150'}, 'netmask': '', 'addr': '', 'slaves': ['eth0', 'eth1']}, ... # cat /proc/net/bonding/bond2 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:10:18:24:47:6e Aggregator ID: 3 Slave queue ID: 0 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:10:18:24:47:6f Aggregator ID: 4 Slave queue ID: 0 # cat /etc/sysconfig/network-scripts/ifcfg-eth{0..1} DEVICE=eth0 ONBOOT=yes BOOTPROTO=none HWADDR=00:10:18:24:47:6E MASTER=bond2 SLAVE=yes DEVICE=eth1 ONBOOT=yes BOOTPROTO=none HWADDR=00:10:18:24:47:6F MASTER=bond2 SLAVE=yes While down: # ifdown eth1 # vdsClient -s 0 getVdsCaps ... bondings = 'bond2': {'hwaddr': '00:10:18:24:47:6E', 'cfg': {'DEVICE': 'bond2', 'BRIDGE': 'rhevm', 'BOOTPROTO': 'none', 'ONBOOT': 'yes', 'BONDING_OPTS': 'mode=802.3ad miimon=150'}, 'netmask': '', 'addr': '', 'slaves': ['eth0']} ... # cat /proc/net/bonding/bond2 ... Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:10:18:24:47:6e Aggregator ID: 3 Slave queue ID: 0 # cat /etc/sysconfig/network-scripts/ifcfg-eth{0..1} DEVICE=eth0 ONBOOT=yes BOOTPROTO=none HWADDR=00:10:18:24:47:6E MASTER=bond2 SLAVE=yes DEVICE=eth1 ONBOOT=yes BOOTPROTO=none HWADDR=00:10:18:24:47:6F MASTER=bond2 SLAVE=yes **getVdsCaps bond's slave interfaces should be taken from the network-scripts files instead of /proc/net/bonding/. which displays the current status (Maybe if needed should be used by getVdsStats).
According to David, this does not happen when the link just falls down - only if the device is manually configure off via ifdown. Hence, this is not a real bug.