[ https://issues.apache.org/jira/browse/CLOUDSTACK-9787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15870134#comment-15870134 ]
ASF GitHub Bot commented on CLOUDSTACK-9787: -------------------------------------------- Github user borisstoyanov commented on the issue: https://github.com/apache/cloudstack/pull/1945 @blueorangutan test > No error message while change guest vm cidr to a large value > ------------------------------------------------------------ > > Key: CLOUDSTACK-9787 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9787 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Reporter: Wei Zhou > Assignee: Wei Zhou > > example > 1. create a network with cidr = 10.1.1.32/28 > 2. edit the network and change guest vm cidr to 10.1.1.32/27 > according to server/src/com/cloud/network/NetworkServiceImpl.java > {code} > if (networkCidr != null) { > if (!NetUtils.isNetworkAWithinNetworkB(guestVmCidr, > networkCidr)) { > throw new InvalidParameterValueException("Invalid value > of Guest VM CIDR. For IP Reservation, Guest VM CIDR should be a subset of > network CIDR : " > + networkCidr); > } > } else { > if (!NetUtils.isNetworkAWithinNetworkB(guestVmCidr, > network.getCidr())) { > throw new InvalidParameterValueException("Invalid value > of Guest VM CIDR. For IP Reservation, Guest VM CIDR should be a subset of > network CIDR : " > + network.getCidr()); > } > } > {code} > this should throw an exception, however it does not. > I added some unit test in > utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java > {code} > @Test > public void testIsNetworkAWithinNetworkB() { > assertTrue(NetUtils.isNetworkAWithinNetworkB("192.168.30.0/24", > "192.168.30.0/23")); > assertTrue(NetUtils.isNetworkAWithinNetworkB("192.168.30.0/24", > "192.168.30.0/22")); > assertFalse(NetUtils.isNetworkAWithinNetworkB("192.168.30.0/23", > "192.168.30.0/24")); > assertFalse(NetUtils.isNetworkAWithinNetworkB("192.168.30.0/22", > "192.168.30.0/24")); > assertTrue(NetUtils.isNetworkAWithinNetworkB("192.168.28.0/24", > "192.168.28.0/23")); > assertTrue(NetUtils.isNetworkAWithinNetworkB("192.168.28.0/24", > "192.168.28.0/22")); > assertFalse(NetUtils.isNetworkAWithinNetworkB("192.168.28.0/23", > "192.168.28.0/24")); > assertFalse(NetUtils.isNetworkAWithinNetworkB("192.168.28.0/22", > "192.168.28.0/24")); > assertTrue(NetUtils.isNetworkAWithinNetworkB("192.168.30.0/24", > "192.168.28.0/22")); > } > {code} > the test fails at > assertFalse(NetUtils.isNetworkAWithinNetworkB("192.168.30.0/23", > "192.168.30.0/24")); -- This message was sent by Atlassian JIRA (v6.3.15#6346)