Github user jburwell commented on a diff in the pull request: https://github.com/apache/cloudstack/pull/801#discussion_r41773186 --- Diff: plugins/network-elements/nuage-vsp/src/com/cloud/network/guru/NuageVspGuestNetworkGuru.java --- @@ -358,19 +441,22 @@ private String getVirtualRouterIP(Network network, Collection<String> addressRan Set<Long> allIPsInCidr = NetUtils.getAllIpsFromCidr(subnet, cidrSize, new HashSet<Long>()); if (allIPsInCidr.size() > 3) { + //get the second IP and see if it the networks GatewayIP Iterator<Long> ipIterator = allIPsInCidr.iterator(); long vip = ipIterator.next(); --- End diff -- @danielvsimoes the return type declared for ``NetUtils.getAllIpsFromCidr`` is ``Set`` not ``TreeSet``. This implicit assumption would break badly if the internal implementation of the utility method were to change. Therefore, please add a check at line 359 such as following: ``` if (allIPsInCidr == null or (allIPsInCidr != null and !(allIPsInCidr instanceof TreeSet))) { throw new InvalidStateException("The IPs in CIDR for subnet " + subnet + " where null or returned in a non-ordered set."); } ```
--- 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. ---