Github user ustcweizhou commented on the issue:
https://github.com/apache/cloudstack/pull/2011
@DaanHoogland @karuturi @borisstoyanov
Here is a short explanation why the issue happened:
Normally getBroadcastUriFromBridge method in KVM plugin will get the URI
from a bridge name. for example, breth1-100 -> vlan://100, brem1-200 ->
vlan://200.
However, for the bridge like brp55p1-100, it will return vlan://1 which is
obviously wrong.
The method getBroadcastUriFromBridge is used in
prepareNetworkElementCommand for command IpAssocCommand in VR. Each time when
a new ip is associated, it will check the existing nics by getting the URIs
from bridge name of nics. If the URIs do not contain the uri of te new ip, then
a new nic will be plugged and new ip will be associated to the new nic.
The issue happened when cloudstack try to set more information of eth2
(public nic) of a VR, as for the error described in part 1 , the URI of eth2
return wrong result (vlan://1) which is different from uri of ip (it is
vlan://7 from StartCommand), so eth3 is added.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---