Comment 11 for bug 1790098

Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2018-09-12 05:05 EDT-------
Vorlon,

On investigation, comparing steps , behaviour with Ubuntu and Other distros, adding below data.

Other distros, nmcli behaviour
Deactivation of bond steps via our script/code:
+++++++++++++++++++++++++++++++++++++++++++++++
1)Deactivate slaves [nmcli c down <slave_uuid> ]
2)Deactivate bond [nmcli c down <bond_uuid> ]
Result : All slaves , bond get deactivated. VLANs created on top of bond automatically get deactivated.

Activation of bond steps via our script/code:
+++++++++++++++++++++++++++++++++++++++++++++++
1)Activate slaves [nmcli c up <slave_uuid>]
2)Activate bond [nmcli c up <bond_uuid> ]
Result : All slaves , bond get activated . VLANs created on top of bond automatically get activated.

In Ubuntu + nmcli :
++++++++++++++++++++
Deactivation of bond:
1)Deactivate slaves [nmcli c down <slave_uuid> ]
2)Deactivate bond [nmcli c down <bond_uuid> ]
Result : All slaves , bond get deactivated. VLANs created on top of bond automatically get deactivated.

Activation of bond:
1)Activate slaves [nmcli c up <slave_uuid>]
2)Activate bond [nmcli c up <bond_uuid> ]
Result : All slaves , bond get activated . VLANs created on top of bond ##FAILED## to activate.

Workaround to make autoactivation for vlan work is as follows:
Deactivation of bond:
1)Deactivate bond [nmcli c down <bond_uuid> ]
Result : Bond get deactivated. Slaves part of bond and VLANs created on top of bond automatically get deactivated.

Activation of bond:
1)Activate bond [nmcli c up <bond_uuid> ]
Result : Bond gets activated . Slaves part of bond and VLANs created on top of bond automatically get activated.

But this workaround will not work in other distros. Other distros explicitly needed the slaves to be activated.

I am not sure how could i simulate above steps behaviour with other utility like ip commands. Any suggestions there?
I thought of using "ip link set bond_device down " as equivalent to "nmcli c down <bond_uuid>" but they differ. "ip link set bond_device down" only brings the link down for bond where as "nmcli c down <bond_uuid>" brings the bond device down and also detaches slave from bond.

I also notice "nmcli c up <bond_device>" behaviour is different in Ubuntu and Other distros.
In ubuntu , it probably assumes all slaves attached to bond, bond device itself and vlans created on top of bond as one entity and activated all.
In other distros , it assumes slave as not part of it , hence only bond device is active. Slave and VLANs remain inactive.

So this is probably bug in one of the distros or probably expected behaviour of nmcli component in different distros. Any suggestions/inputs here ?