Alena Prokharchyk created CLOUDSTACK-6198:
---------------------------------------------
Summary: VPC: secondary public ip address (from diff Vlan range)
doesn't get reprogrammed on the VR upon VPC/Network/VR resetart
Key: CLOUDSTACK-6198
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6198
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Affects Versions: 4.3.0
Reporter: Alena Prokharchyk
Priority: Blocker
Fix For: 4.4.0
Regression bug.
Steps to reproduce:
1. Create vpc and launch a vm in one tear.
2. vpc source ip address is from one subnet (ex: 10.147.52.1)
3. Acquire another public ip address from new public subnet.
4. create static nat on it to plug the nic on VR.
5. Now the VR has link local nic, guest nic, source nat ip nic and second
public range nic.
6. Restart the vpc.
7. After restart there is no source nat nic.
8. If we restart vpc again observed that more nics are missed.
I do observe the HUGE problem in 4.3 in VpcVirtualNetworkApplianceManager.java
createVpcRouterNetworks() method. In 4.2 we used to store vm's nics in the
ArrayList datastructure:
List<Pair<NetworkVO, NicProfile>> networks = new ArrayList<Pair<NetworkVO,
NicProfile>>(4);
ArrayList does allow duplicates.
Then in 4.3 the datastructure was changed to LinkedHashMap that doesn't allow
duplicates:
LinkedHashMap<Network, NicProfile> networks = new LinkedHashMap<Network,
NicProfile>(4);
To fix the problem, the datastructure has to be changed to
LinkedHashMap<Network, List<NicProfile>>. It has to be changed all the way up
to VirtualMachienManagerImpl where the nics are being passed to.
--
This message was sent by Atlassian JIRA
(v6.2#6252)