GitHub user wilderrodrigues opened a pull request: https://github.com/apache/cloudstack/pull/1184
CLOUDSTACK-9106 - As a Developer I want the Redundant VPC private gateway feature fixed This PR contains the same fixes from PR #1179, which was created against the master branch. In addition, the points mentioned by @DaanHoogland were handled in this new PR: * Made the code more consistent - result = result && methodCall(), instead of throwing exceptions in some places or not checking 2 consecutive returns - in case of rVPC. * Added an unit test to cover changes in the VpcRouterElementImpl.applyVpnUsers() method. The method returns an array of String, so I had to make sure it would contain the users from 2 consecutive calls. There are 2 tests to cover negative scenarios. You can merge this pull request into a Git repository by running: $ git pull https://github.com/ekholabs/cloudstack fix/4.6-rvpc-pvtgw-CLOUDSTACK-9106 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cloudstack/pull/1184.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1184 ---- commit a168a69c3cdf023a296ad9a8793e3ab4d7e47cee Author: Wilder Rodrigues <wrodrig...@schubergphilis.com> Date: 2015-12-04T17:41:03Z CLOUDSTACK-9106 - Reduces the amount of iterations through the routers of a VPC - It was causing problems because Nics were expected to be plugged before they actually exist. Only in rVPC cases. - Applies ACL items to routers only after the Pvt GW is setup. commit 24dafc2cc242b69e986d83a94baae30af368b132 Author: Wilder Rodrigues <wrodrig...@schubergphilis.com> Date: 2015-12-05T13:03:50Z CLOUDSTACK-9106 - Refactor the createPrivateNicProfileForGateway() method - Use the router to retrieve the instance ID - Check if the VPC is redundant in order to reuse the private gateway address. - Brings the private gateways interfaces up. commit 1738ce174005096f4106673bb5b35cd1351a5f56 Author: Wilder Rodrigues <wrodrig...@schubergphilis.com> Date: 2015-12-05T16:33:55Z CLOUDSTACK-9106 - Enables private gateway tests on Redundant VPCs commit 13eb78938820489efc0251cf85ed4e7fd01f685d Author: Wilder Rodrigues <wrodrig...@schubergphilis.com> Date: 2015-12-07T12:40:12Z CLOUDSTACK-9106 - Makes the router commands call more consistent. - Checks the result of a call against the previous result. Either both are true or the method returns false. - Do not thrown exceptions because some calls are not handling/rethrowing them. It would cause runtime problems. - When doing a list.addAll(Arrays.asList(String[]{}) will cause problems when trying to cast the list.toArray() into an aray of String It would only work if instead of calling addAll() I would pass it straight into the constructor: e.g. List<String> l = new ArrayList(Arrays.asList(new String[]{}); Stirng [] s = (String[]) l.toArray(); But I did not like that implementation because it would require 2 arrays of string and combine them at the end. commit 5973f4ea77ed3328e74c79069dcf5b1eff2f049f Author: Wilder Rodrigues <wrodrig...@schubergphilis.com> Date: 2015-12-07T12:42:29Z CLOUDSTACK-9106 - Adds a test to cover the changes in the applyVpnUsers() method - Changed the NetworkTopologyContext class just to make the private member accessible from the test - Added a test class to cover the positive scenario of the VpcVirtualRouterElementTest.applyVpnUsers() method. - Covering when there is either no VPC or no routers. commit 14db2d3dc4f8afefaa48a52c70d8141b8b4222ad Author: Wilder Rodrigues <wrodrig...@schubergphilis.com> Date: 2015-12-07T12:43:46Z CLOUDSTACK-9106 - Makes Enum name compliant with Java code conventions. ---- --- 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. ---