mirror of https://github.com/apache/jclouds.git
Protect against a potential infinite loop
This commit is contained in:
parent
c3e09cc09f
commit
c64f89f2c7
|
@ -20,6 +20,7 @@ package org.jclouds.cloudstack.features;
|
||||||
|
|
||||||
import static com.google.common.collect.Iterables.find;
|
import static com.google.common.collect.Iterables.find;
|
||||||
import static org.testng.Assert.assertEquals;
|
import static org.testng.Assert.assertEquals;
|
||||||
|
import static org.testng.Assert.assertNotNull;
|
||||||
import static org.testng.Assert.assertTrue;
|
import static org.testng.Assert.assertTrue;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -87,7 +88,8 @@ public class LoadBalancerClientLiveTest extends BaseCloudStackClientLiveTest {
|
||||||
public void testCreateLoadBalancerRule() throws Exception {
|
public void testCreateLoadBalancerRule() throws Exception {
|
||||||
if (networksDisabled)
|
if (networksDisabled)
|
||||||
return;
|
return;
|
||||||
while (rule == null) {
|
int attempts = 0;
|
||||||
|
while (rule == null && attempts < 50) {
|
||||||
ip = reuseOrAssociate.apply(network);
|
ip = reuseOrAssociate.apply(network);
|
||||||
try {
|
try {
|
||||||
rule = client.getLoadBalancerClient().createLoadBalancerRuleForPublicIP(ip.getId(), Algorithm.LEASTCONN,
|
rule = client.getLoadBalancerClient().createLoadBalancerRuleForPublicIP(ip.getId(), Algorithm.LEASTCONN,
|
||||||
|
@ -96,6 +98,7 @@ public class LoadBalancerClientLiveTest extends BaseCloudStackClientLiveTest {
|
||||||
// very likely an ip conflict, so retry;
|
// very likely an ip conflict, so retry;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
assertNotNull(rule, "Failed to get a load balancer rule after "+attempts+" attempts");
|
||||||
assert (rule.getPublicIPId() == ip.getId()) : rule;
|
assert (rule.getPublicIPId() == ip.getId()) : rule;
|
||||||
assertEquals(rule.getPublicPort(), 22);
|
assertEquals(rule.getPublicPort(), 22);
|
||||||
assertEquals(rule.getPrivatePort(), 22);
|
assertEquals(rule.getPrivatePort(), 22);
|
||||||
|
|
Loading…
Reference in New Issue