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.
---

Reply via email to