Created attachment 884498[details]
engine log
Description of problem:
If you create a bond and put on it label xxx and then break that bond, that label is not removed from the system.
As a result creating a new network with label xxx will produce error message that the network couldn't be added to Cluster and in engine VdcBLLException: LABELED_NETWORK_INTERFACE_NOT_FOUND (Failed with error LABELED_NETWORK_INTERFACE_NOT_FOUND and code 5200)
Version-Release number of selected component (if applicable):
How reproducible:
Always
Steps to Reproduce:
1. Create bond with label xxx
2. Break that bond, so that label will disappear
3. Create new Network with label xxx
Actual results:
You get LABELED_NETWORK_INTERFACE_NOT_FOUND error message in log and error message in GUI that the network couldn't be added to Cluster
Expected results:
Network should be created without any issue
Additional info:
This happens because the engine doesn't persist the wiping of labels for bonds being removed, and VDSM seems to report bonds even if they don't have networks attached to them anymore (they're not being torn down).
Modifying either of these two behaviors should solve the bug; I'm just not sure which would be better.
bond0 to bond4 are not torn down due to backward compatibility with engine-3.0 which expects to always see them.
Tearing down a bond may fail on other cases (such as if the bond is being used by something outside of oVirt).
Labels are Engine-only constructs. If a label is not used by any other Engine entity, it should evaporate.
Created attachment 884498 [details] engine log Description of problem: If you create a bond and put on it label xxx and then break that bond, that label is not removed from the system. As a result creating a new network with label xxx will produce error message that the network couldn't be added to Cluster and in engine VdcBLLException: LABELED_NETWORK_INTERFACE_NOT_FOUND (Failed with error LABELED_NETWORK_INTERFACE_NOT_FOUND and code 5200) Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. Create bond with label xxx 2. Break that bond, so that label will disappear 3. Create new Network with label xxx Actual results: You get LABELED_NETWORK_INTERFACE_NOT_FOUND error message in log and error message in GUI that the network couldn't be added to Cluster Expected results: Network should be created without any issue Additional info: