mirror of https://github.com/apache/jclouds.git
Live tests fix
This commit is contained in:
parent
b9a5397a45
commit
8c8161ec79
|
@ -46,6 +46,8 @@ import java.util.SimpleTimeZone;
|
|||
|
||||
import static org.testng.Assert.assertEquals;
|
||||
|
||||
import static org.testng.Assert.assertEquals;
|
||||
|
||||
/**
|
||||
* Tests behavior of {@code ParseServerFromJsonResponse}
|
||||
*
|
||||
|
|
|
@ -29,6 +29,7 @@ import org.jclouds.ssh.SshClient;
|
|||
import org.testng.annotations.AfterMethod;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.security.SecureRandom;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,41 +19,24 @@
|
|||
|
||||
package org.jclouds.openstack.nova.live;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.inject.Injector;
|
||||
import com.google.inject.Module;
|
||||
import org.jclouds.domain.Credentials;
|
||||
import org.jclouds.http.HttpResponseException;
|
||||
import org.jclouds.io.Payload;
|
||||
import org.jclouds.logging.slf4j.config.SLF4JLoggingModule;
|
||||
import org.jclouds.net.IPSocket;
|
||||
import org.jclouds.openstack.nova.NovaClient;
|
||||
import org.jclouds.openstack.nova.domain.*;
|
||||
import org.jclouds.openstack.nova.options.RebuildServerOptions;
|
||||
import org.jclouds.predicates.RetryablePredicate;
|
||||
import org.jclouds.predicates.SocketOpen;
|
||||
import org.jclouds.rest.RestContextFactory;
|
||||
import org.jclouds.ssh.SshClient;
|
||||
import org.jclouds.ssh.jsch.config.JschSshClientModule;
|
||||
import org.jclouds.util.Strings2;
|
||||
import org.testng.annotations.AfterTest;
|
||||
import org.testng.annotations.BeforeTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import static org.jclouds.openstack.nova.live.PropertyHelper.*;
|
||||
import static org.jclouds.openstack.nova.options.CreateServerOptions.Builder.withFile;
|
||||
import static org.jclouds.openstack.nova.options.ListOptions.Builder.withDetails;
|
||||
import static org.testng.Assert.*;
|
||||
import static org.testng.Assert.assertEquals;
|
||||
|
||||
/**
|
||||
* Tests behavior of {@code NovaClient}
|
||||
|
@ -62,9 +45,9 @@ import static org.testng.Assert.*;
|
|||
*/
|
||||
// disabled [Web Hosting #129069
|
||||
@Test(groups = "live", sequential = true)
|
||||
public class NovaClientLiveTest {
|
||||
public class NovaClientLiveTest extends ClientBase{
|
||||
|
||||
private int testImageId = 95;
|
||||
<<<<<<< .mine private int testImageId = 95;
|
||||
protected NovaClient client;
|
||||
protected SshClient.Factory sshFactory;
|
||||
private Predicate<IPSocket> socketTester;
|
||||
|
@ -75,8 +58,8 @@ public class NovaClientLiveTest {
|
|||
private String adminPass;
|
||||
Map<String, String> metadata = ImmutableMap.of("jclouds", "rackspace");
|
||||
private int createdImageId;
|
||||
|
||||
|
||||
=======>>>>>>> .theirs
|
||||
<<<<<<< .mine
|
||||
@BeforeTest
|
||||
public void setupClient() throws IOException {
|
||||
Properties properties = setupOverrides(setupProperties(this.getClass()));
|
||||
|
@ -95,7 +78,7 @@ public class NovaClientLiveTest {
|
|||
keyPair = setupKeyPair(properties);
|
||||
}
|
||||
|
||||
@Test
|
||||
=======>>>>>>> .theirs @Test
|
||||
public void testListServers() throws Exception {
|
||||
Set<Server> response = client.listServers();
|
||||
assert null != response;
|
||||
|
@ -228,18 +211,21 @@ public class NovaClientLiveTest {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Test(enabled = true)
|
||||
public void testCreateServer() throws Exception {
|
||||
String imageRef = client.getImage(testImageId).getURI().toASCIIString();
|
||||
<<<<<<< .mine String imageRef = client.getImage(testImageId).getURI().toASCIIString();
|
||||
String flavorRef = client.getFlavor(1).getURI().toASCIIString();
|
||||
String serverName = serverPrefix + "createserver" + new SecureRandom().nextInt();
|
||||
Server server = client.createServer(serverName, imageRef, flavorRef, withFile("/etc/jclouds.txt",
|
||||
"rackspace".getBytes()).withMetadata(metadata));
|
||||
|
||||
assertNotNull(server.getAdminPass());
|
||||
======= Server server = getDefaultServerImmediately();
|
||||
>>>>>>> .theirs assertNotNull(server.getAdminPass());
|
||||
assertEquals(server.getStatus(), ServerStatus.BUILD);
|
||||
serverId = server.getId();
|
||||
adminPass = server.getAdminPass();
|
||||
int serverId = server.getId();
|
||||
String adminPass = server.getAdminPass();
|
||||
blockUntilServerActive(serverId);
|
||||
blockUntilPublicAddress(serverId);
|
||||
client.getServer(serverId).getAddresses().getPublicAddresses().iterator().next().getAddress();
|
||||
|
@ -281,33 +267,34 @@ public class NovaClientLiveTest {
|
|||
|
||||
@Test(enabled = true, timeOut = 300000)
|
||||
public void testServerDetails() throws Exception {
|
||||
if (!isServerExist(serverId)) testCreateServer();
|
||||
Server server = client.getServer(serverId);
|
||||
|
||||
Server server = getDefaultServerImmediately();
|
||||
assertNotNull(server.getHostId(), "Host id: ");
|
||||
assertEquals(server.getStatus(), ServerStatus.ACTIVE);
|
||||
|
||||
assertNotNull(server.getAddresses());
|
||||
// check metadata
|
||||
assertEquals(server.getMetadata(), metadata);
|
||||
|
||||
<<<<<<< .mine
|
||||
|
||||
assertTrue(server.getImageRef().endsWith(String.valueOf(testImageId)));
|
||||
// listAddresses tests..
|
||||
assertEquals(client.getAddresses(serverId), server.getAddresses());
|
||||
======= assertTrue(server.getImageRef().endsWith(String.valueOf(testImageId)));
|
||||
>>>>>>> .theirs // listAddresses tests..
|
||||
assertEquals(client.getAddresses(server.getId()), server.getAddresses());
|
||||
assertEquals(server.getAddresses().getPublicAddresses().size(), 1);
|
||||
assertEquals(client.listPublicAddresses(serverId), server.getAddresses().getPublicAddresses());
|
||||
assertEquals(client.listPublicAddresses(server.getId()), server.getAddresses().getPublicAddresses());
|
||||
assertEquals(server.getAddresses().getPrivateAddresses().size(), 1);
|
||||
assertEquals(client.listPrivateAddresses(serverId), server.getAddresses().getPrivateAddresses());
|
||||
<<<<<<< .mine assertEquals(client.listPrivateAddresses(serverId), server.getAddresses().getPrivateAddresses());
|
||||
assertPassword(server, adminPass);
|
||||
assertTrue(server.getFlavorRef().endsWith("1"));
|
||||
assert server.getProgress() >= 0 : "newDetails.getProgress()" + server.getProgress();
|
||||
======= assertEquals(client.listPrivateAddresses(server.getId()), server.getAddresses().getPrivateAddresses());
|
||||
assertPassword(server, server.getAdminPass());
|
||||
assertTrue(server.getFlavorRef().endsWith("1"));
|
||||
>>>>>>> .theirs assert server.getProgress() >= 0 : "newDetails.getProgress()" + server.getProgress();
|
||||
}
|
||||
|
||||
|
||||
private void assertPassword(Server server, String pass) throws IOException {
|
||||
IPSocket socket = new IPSocket(Iterables.get(server.getAddresses().getPublicAddresses(), 0).getAddress(), 22);
|
||||
socketTester.apply(socket);
|
||||
//socketTester.apply(socket);
|
||||
|
||||
SshClient client = sshFactory.create(socket, new Credentials("root", keyPair.get("private")));
|
||||
try {
|
||||
|
@ -323,8 +310,8 @@ public class NovaClientLiveTest {
|
|||
|
||||
@Test(enabled = true, timeOut = 5 * 60 * 1000)
|
||||
public void testRenameServer() throws Exception {
|
||||
if (!isServerExist(serverId)) testCreateServer();
|
||||
Server server = client.getServer(serverId);
|
||||
Server server = getDefaultServerImmediately();
|
||||
int serverId = server.getId();
|
||||
String oldName = server.getName();
|
||||
client.renameServer(serverId, oldName + "new");
|
||||
blockUntilServerActive(serverId);
|
||||
|
@ -333,49 +320,51 @@ public class NovaClientLiveTest {
|
|||
|
||||
@Test(enabled = true, timeOut = 5 * 60 * 1000)
|
||||
public void testChangePassword() throws Exception {
|
||||
if (!isServerExist(serverId)) testCreateServer();
|
||||
int serverId = getDefaultServerImmediately().getId();
|
||||
blockUntilServerActive(serverId);
|
||||
client.changeAdminPass(serverId, "elmo");
|
||||
assertPassword(client.getServer(serverId), "elmo");
|
||||
this.adminPass = "elmo";
|
||||
|
||||
}
|
||||
|
||||
@Test(enabled = true, timeOut = 10 * 600 * 1000)
|
||||
public void testCreateImage() throws Exception {
|
||||
if (!isServerExist(serverId)) testCreateServer();
|
||||
Image image = client.createImageFromServer("hoofie", serverId);
|
||||
Server server = getDefaultServerImmediately();
|
||||
Image image = getDefaultImageImmediately(server);
|
||||
blockUntilImageActive(image.getId());
|
||||
assertEquals("hoofie", image.getName());
|
||||
assertEquals(serverId, image.getServerRef());
|
||||
createdImageId = image.getId();
|
||||
blockUntilImageActive(createdImageId);
|
||||
assertEquals(image.getServerRef(), "");
|
||||
}
|
||||
|
||||
|
||||
@Test(enabled = true, timeOut = 10 * 60 * 1000)
|
||||
public void testRebuildServer() throws Exception {
|
||||
if (!isServerExist(serverId)) testCreateServer();
|
||||
client.rebuildServer(serverId, new RebuildServerOptions().withImage(String.valueOf(createdImageId)));
|
||||
blockUntilServerActive(serverId);
|
||||
Server server = getDefaultServerImmediately();
|
||||
Image image = getDefaultImageImmediately(server);
|
||||
client.rebuildServer(server.getId(), new RebuildServerOptions().withImage(String.valueOf(image.getId())));
|
||||
blockUntilServerActive(server.getId());
|
||||
// issue Web Hosting #119580 createdImageId comes back incorrect after rebuild
|
||||
assertEquals(createdImageId, client.getServer(serverId).getImageRef());
|
||||
assertEquals(image.getURI(), client.getServer(server.getId()).getImageRef());
|
||||
}
|
||||
|
||||
@Test(enabled = true, timeOut = 10 * 60 * 1000)
|
||||
public void testRebootHard() throws Exception {
|
||||
if (!isServerExist(serverId)) testCreateServer();
|
||||
client.rebootServer(serverId, RebootType.HARD);
|
||||
blockUntilServerActive(serverId);
|
||||
Server server = getDefaultServerImmediately();
|
||||
client.rebootServer(server.getId(), RebootType.HARD);
|
||||
blockUntilServerActive(server.getId());
|
||||
}
|
||||
|
||||
@Test(enabled = true, timeOut = 10 * 60 * 1000)
|
||||
public void testRebootSoft() throws Exception {
|
||||
if (!isServerExist(serverId)) testCreateServer();
|
||||
client.rebootServer(serverId, RebootType.SOFT);
|
||||
blockUntilServerActive(serverId);
|
||||
Server server = getDefaultServerImmediately();
|
||||
client.rebootServer(server.getId(), RebootType.SOFT);
|
||||
blockUntilServerActive(server.getId());
|
||||
}
|
||||
|
||||
@Test(enabled = false, timeOut = 60000, dependsOnMethods = "testRebootSoft")
|
||||
public void testRevertResize() throws Exception {
|
||||
if (!isServerExist(serverId)) testCreateServer();
|
||||
Server server = getDefaultServerImmediately();
|
||||
int serverId = server.getId();
|
||||
client.resizeServer(serverId, 2);
|
||||
blockUntilServerVerifyResize(serverId);
|
||||
client.revertResizeServer(serverId);
|
||||
|
@ -385,7 +374,8 @@ public class NovaClientLiveTest {
|
|||
|
||||
@Test(enabled = false, timeOut = 10 * 60 * 1000)
|
||||
public void testConfirmResize() throws Exception {
|
||||
if (!isServerExist(serverId)) testCreateServer();
|
||||
Server server = getDefaultServerImmediately();
|
||||
int serverId = server.getId();
|
||||
client.resizeServer(serverId, 2);
|
||||
blockUntilServerVerifyResize(serverId);
|
||||
client.confirmResizeServer(serverId);
|
||||
|
@ -395,45 +385,25 @@ public class NovaClientLiveTest {
|
|||
|
||||
@Test(enabled = true, timeOut = 60000)
|
||||
void deleteServer2() throws Exception {
|
||||
if (!isServerExist(serverId)) testCreateServer();
|
||||
if (serverId > 0) {
|
||||
client.deleteServer(serverId);
|
||||
waitServerDeleted(serverId);
|
||||
}
|
||||
serverId = 0;
|
||||
Server server = getDefaultServerImmediately();
|
||||
int serverId = server.getId();
|
||||
client.deleteServer(serverId);
|
||||
waitServerDeleted(serverId);
|
||||
}
|
||||
|
||||
@Test(enabled = true, timeOut = 60000)
|
||||
void testDeleteImage() throws Exception {
|
||||
if (createdImageId <= 0) {
|
||||
testCreateImage();
|
||||
}
|
||||
if (createdImageId > 0) {
|
||||
client.deleteImage(createdImageId);
|
||||
assert client.getImage(createdImageId) == null;
|
||||
}
|
||||
//TODO all servers created from the image should be deleted
|
||||
Image image = getDefaultImageImmediately(getDefaultServerImmediately());
|
||||
client.deleteImage(image.getId());
|
||||
assert client.getImage(image.getId()) == null;
|
||||
}
|
||||
|
||||
@Test(enabled = true, timeOut = 60000)
|
||||
void deleteServer1() throws Exception {
|
||||
if (!isServerExist(serverId)) testCreateServer();
|
||||
if (serverId > 0) {
|
||||
client.deleteServer(serverId);
|
||||
waitServerDeleted(serverId);
|
||||
}
|
||||
serverId = 0;
|
||||
}
|
||||
|
||||
private boolean isServerExist(int serverId) {
|
||||
return client.getServer(serverId) != null;
|
||||
}
|
||||
|
||||
private void waitServerDeleted(int serverId) throws InterruptedException {
|
||||
while (null != client.getServer(serverId)) {
|
||||
System.out.println("Await deleted server" + serverId);
|
||||
Thread.sleep(1000);
|
||||
}
|
||||
Server server = getDefaultServerImmediately();
|
||||
int serverId = server.getId();
|
||||
client.deleteServer(serverId);
|
||||
waitServerDeleted(serverId);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
|
||||
* Copyright (C) 2010 Cloud Conscious, LLC. <info@cloudconscious.com>
|
||||
*
|
||||
* ====================================================================
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -16,12 +16,14 @@
|
|||
* limitations under the License.
|
||||
* ====================================================================
|
||||
*/
|
||||
|
||||
package org.jclouds.openstack.nova.live;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Module;
|
||||
import org.jclouds.Constants;
|
||||
|
@ -32,6 +34,8 @@ import org.jclouds.domain.Credentials;
|
|||
import org.jclouds.domain.Location;
|
||||
import org.jclouds.domain.LocationScope;
|
||||
import org.jclouds.http.handlers.BackoffLimitedRetryHandler;
|
||||
import org.jclouds.io.Payload;
|
||||
import org.jclouds.io.Payloads;
|
||||
import org.jclouds.logging.slf4j.config.SLF4JLoggingModule;
|
||||
import org.jclouds.net.IPSocket;
|
||||
import org.jclouds.openstack.nova.NovaAsyncClient;
|
||||
|
@ -48,6 +52,7 @@ import org.jclouds.ssh.jsch.JschSshClient;
|
|||
import org.jclouds.ssh.jsch.config.JschSshClientModule;
|
||||
import org.testng.annotations.AfterTest;
|
||||
import org.testng.annotations.BeforeGroups;
|
||||
import org.testng.annotations.BeforeTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -88,7 +93,6 @@ public class NovaComputeServiceLiveTest {
|
|||
protected String group;
|
||||
|
||||
protected RetryablePredicate<IPSocket> socketTester;
|
||||
protected SortedSet<NodeMetadata> nodes;
|
||||
protected ComputeServiceContext context;
|
||||
protected ComputeService computeService;
|
||||
|
||||
|
@ -156,12 +160,9 @@ public class NovaComputeServiceLiveTest {
|
|||
}
|
||||
|
||||
|
||||
@BeforeGroups(groups = {"novalive"})
|
||||
@BeforeTest
|
||||
public void setupClient() throws InterruptedException, ExecutionException, TimeoutException, IOException {
|
||||
if (group == null)
|
||||
group = checkNotNull(provider, "provider");
|
||||
if (group.indexOf('-') == -1)
|
||||
group = group + "-";
|
||||
group = "compute service test group";
|
||||
Properties properties = setupProperties();
|
||||
setupCredentials(properties);
|
||||
updateProperties(properties);
|
||||
|
@ -277,7 +278,7 @@ public class NovaComputeServiceLiveTest {
|
|||
|
||||
@Test(enabled = true)
|
||||
public void testAScriptExecutionAfterBootWithBasicTemplate() throws Exception {
|
||||
String group = this.group + "r";
|
||||
String group = this.group;
|
||||
|
||||
computeService.destroyNodesMatching(inGroup(group));
|
||||
|
||||
|
@ -318,7 +319,7 @@ public class NovaComputeServiceLiveTest {
|
|||
System.out.println("================ Script ===================");
|
||||
|
||||
//TODO runJavaInstallationScriptWithCreds(group, os, new Credentials("root", keyPair.get("private")));
|
||||
//no response? if os is null (ZYPPER)
|
||||
//TODO no response? if os is null (ZYPPER)
|
||||
|
||||
checkNodes(nodes, group);
|
||||
|
||||
|
@ -342,20 +343,11 @@ public class NovaComputeServiceLiveTest {
|
|||
// ComputeTestUtils.checkHttpGet(context.utils().http(), node, 8080);
|
||||
// }
|
||||
|
||||
@Test(enabled = true, dependsOnMethods = "testCompareSizes")
|
||||
@Test(enabled = true)
|
||||
public void testCreateTwoNodesWithRunScript() throws Exception {
|
||||
try {
|
||||
computeService.destroyNodesMatching(inGroup(group));
|
||||
} catch (NoSuchElementException e) {
|
||||
computeService.destroyNodesMatching(inGroup(group));
|
||||
|
||||
}
|
||||
|
||||
try {
|
||||
nodes = newTreeSet(computeService.createNodesInGroup(group, 2, getDefaultTemplateBuilder().build()));
|
||||
} catch (RunNodesException e) {
|
||||
nodes = newTreeSet(concat(e.getSuccessfulNodes(), e.getNodeErrors().keySet()));
|
||||
throw e;
|
||||
}
|
||||
SortedSet<NodeMetadata> nodes = newTreeSet(computeService.createNodesInGroup(group, 2, getDefaultTemplateBuilder().build()));
|
||||
assertEquals(nodes.size(), 2);
|
||||
checkNodes(nodes, group);
|
||||
NodeMetadata node1 = nodes.first();
|
||||
|
@ -367,8 +359,8 @@ public class NovaComputeServiceLiveTest {
|
|||
assertLocationSameOrChild(node2.getLocation(), getDefaultTemplateBuilder().build().getLocation());
|
||||
checkImageIdMatchesTemplate(node1);
|
||||
checkImageIdMatchesTemplate(node2);
|
||||
checkOsMatchesTemplate(node1);
|
||||
checkOsMatchesTemplate(node2);
|
||||
// checkOsMatchesTemplate(node1);
|
||||
// checkOsMatchesTemplate(node2);
|
||||
}
|
||||
|
||||
protected void checkImageIdMatchesTemplate(NodeMetadata node) {
|
||||
|
@ -376,12 +368,12 @@ public class NovaComputeServiceLiveTest {
|
|||
assertEquals(node.getImageId(), getDefaultTemplateBuilder().build().getImage().getId());
|
||||
}
|
||||
|
||||
protected void checkOsMatchesTemplate(NodeMetadata node) {
|
||||
if (node.getOperatingSystem() != null)
|
||||
assert node.getOperatingSystem().getFamily().equals(getDefaultTemplateBuilder().build().getImage().getOperatingSystem().getFamily()) : String
|
||||
.format("expecting family %s but got %s", getDefaultTemplateBuilder().build().getImage().getOperatingSystem().getFamily(), node
|
||||
.getOperatingSystem());
|
||||
}
|
||||
// protected void checkOsMatchesTemplate(NodeMetadata node) {
|
||||
// if (node.getOperatingSystem() != null)
|
||||
// assert node.getOperatingSystem().getFamily().equals(getDefaultTemplateBuilder().build().getImage().getOperatingSystem().getFamily()) : String
|
||||
// .format("expecting family %s but got %s", getDefaultTemplateBuilder().build().getImage().getOperatingSystem().getFamily(), node
|
||||
// .getOperatingSystem());
|
||||
// }
|
||||
|
||||
void assertLocationSameOrChild(Location test, Location expected) {
|
||||
if (!test.equals(expected)) {
|
||||
|
@ -391,6 +383,11 @@ public class NovaComputeServiceLiveTest {
|
|||
}
|
||||
}
|
||||
|
||||
private NodeMetadata createDefaultNode() throws RunNodesException {
|
||||
return computeService.createNodesInGroup(group, 1, getDefaultTemplateBuilder().build())
|
||||
.iterator().next();
|
||||
}
|
||||
|
||||
@Test(enabled = true)
|
||||
public void testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired() throws Exception {
|
||||
testCreateTwoNodesWithRunScript();
|
||||
|
@ -399,14 +396,17 @@ public class NovaComputeServiceLiveTest {
|
|||
TreeSet<NodeMetadata> nodes = newTreeSet(computeService.createNodesInGroup(group, 1, getDefaultTemplateBuilder().build()));
|
||||
checkNodes(nodes, group);
|
||||
NodeMetadata node = nodes.first();
|
||||
this.nodes.add(node);
|
||||
assertEquals(nodes.size(), 1);
|
||||
assertLocationSameOrChild(node.getLocation(), getDefaultTemplateBuilder().build().getLocation());
|
||||
checkOsMatchesTemplate(node);
|
||||
// checkOsMatchesTemplate(node);
|
||||
}
|
||||
|
||||
@Test(enabled = true, dependsOnMethods = "testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired")
|
||||
@Test(enabled = true)
|
||||
public void testCredentialsCache() throws Exception {
|
||||
LinkedList<NodeMetadata> nodes = new LinkedList<NodeMetadata>();
|
||||
nodes.add(createDefaultNode());
|
||||
initializeContextAndClient(overrides);
|
||||
nodes.add(createDefaultNode());
|
||||
initializeContextAndClient(overrides);
|
||||
for (NodeMetadata node : nodes)
|
||||
assert (context.getCredentialStore().get("node#" + node.getId()) != null) : "credentials for " + node.getId();
|
||||
|
@ -424,8 +424,9 @@ public class NovaComputeServiceLiveTest {
|
|||
return templateBuilder.build();
|
||||
}
|
||||
|
||||
@Test(enabled = true, dependsOnMethods = "testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired")
|
||||
@Test(enabled = true)
|
||||
public void testGet() throws Exception {
|
||||
Set<NodeMetadata> nodes = Sets.newHashSet(createDefaultNode());
|
||||
Map<String, ? extends NodeMetadata> metadataMap = newLinkedHashMap(uniqueIndex(filter(computeService
|
||||
.listNodesDetailsMatching(all()), and(inGroup(group), not(TERMINATED))),
|
||||
new Function<NodeMetadata, String>() {
|
||||
|
@ -443,28 +444,28 @@ public class NovaComputeServiceLiveTest {
|
|||
assertEquals(metadata.getGroup(), node.getGroup());
|
||||
assertLocationSameOrChild(metadata.getLocation(), getDefaultTemplateBuilder().build().getLocation());
|
||||
checkImageIdMatchesTemplate(metadata);
|
||||
checkOsMatchesTemplate(metadata);
|
||||
// checkOsMatchesTemplate(metadata);
|
||||
assert (metadata.getState() == NodeState.RUNNING) : metadata;
|
||||
// due to DHCP the addresses can actually change in-between runs.
|
||||
assertEquals(metadata.getPrivateAddresses().size(), node.getPrivateAddresses().size());
|
||||
assertEquals(metadata.getPublicAddresses().size(), node.getPublicAddresses().size());
|
||||
}
|
||||
assertNodeZero(metadataMap.values());
|
||||
assertNodeZero(metadataMap.values(), nodes);
|
||||
}
|
||||
|
||||
protected void assertNodeZero(Collection<? extends NodeMetadata> metadataSet) {
|
||||
protected void assertNodeZero(Collection<? extends NodeMetadata> metadataSet, Set<NodeMetadata> nodes) {
|
||||
assert metadataSet.size() == 0 : String.format("nodes left in set: [%s] which didn't match set: [%s]",
|
||||
metadataSet, nodes);
|
||||
}
|
||||
|
||||
@Test(enabled = true, dependsOnMethods = "testGet")
|
||||
@Test(enabled = true)
|
||||
public void testReboot() throws Exception {
|
||||
computeService.rebootNodesMatching(inGroup(group));// TODO test
|
||||
// validation
|
||||
testGet();
|
||||
}
|
||||
|
||||
@Test(enabled = true, dependsOnMethods = "testReboot")
|
||||
@Test(enabled = true)
|
||||
public void testSuspendResume() throws Exception {
|
||||
computeService.suspendNodesMatching(inGroup(group));
|
||||
|
||||
|
@ -486,7 +487,7 @@ public class NovaComputeServiceLiveTest {
|
|||
testGet();
|
||||
}
|
||||
|
||||
@Test(enabled = true, dependsOnMethods = "testSuspendResume")
|
||||
@Test(enabled = true)
|
||||
public void testListNodes() throws Exception {
|
||||
for (ComputeMetadata node : computeService.listNodes()) {
|
||||
assert node.getProviderId() != null;
|
||||
|
@ -495,28 +496,26 @@ public class NovaComputeServiceLiveTest {
|
|||
}
|
||||
}
|
||||
|
||||
@Test(enabled = true, dependsOnMethods = "testSuspendResume")
|
||||
@Test(enabled = true)
|
||||
public void testGetNodesWithDetails() throws Exception {
|
||||
for (NodeMetadata node : computeService.listNodesDetailsMatching(all())) {
|
||||
assert node.getProviderId() != null : node;
|
||||
assert node.getLocation() != null : node;
|
||||
assertEquals(node.getType(), ComputeType.NODE);
|
||||
assert node instanceof NodeMetadata;
|
||||
NodeMetadata nodeMetadata = (NodeMetadata) node;
|
||||
assert nodeMetadata.getProviderId() != null : nodeMetadata;
|
||||
assert node.getProviderId() != null : node;
|
||||
// nullable
|
||||
// assert nodeMetadata.getImage() != null : node;
|
||||
// user specified name is not always supported
|
||||
// assert nodeMetadata.getName() != null : nodeMetadata;
|
||||
if (nodeMetadata.getState() == NodeState.RUNNING) {
|
||||
assert nodeMetadata.getPublicAddresses() != null : nodeMetadata;
|
||||
assert nodeMetadata.getPublicAddresses().size() > 0 || nodeMetadata.getPrivateAddresses().size() > 0 : nodeMetadata;
|
||||
assertNotNull(nodeMetadata.getPrivateAddresses());
|
||||
if (node.getState() == NodeState.RUNNING) {
|
||||
assert node.getPublicAddresses() != null : node;
|
||||
assert node.getPublicAddresses().size() > 0 || node.getPrivateAddresses().size() > 0 : node;
|
||||
assertNotNull(node.getPrivateAddresses());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test(enabled = true, dependsOnMethods = {"testListNodes", "testGetNodesWithDetails"})
|
||||
@Test(enabled = true)
|
||||
public void testDestroyNodes() {
|
||||
int toDestroy = refreshNodes().size();
|
||||
Set<? extends NodeMetadata> destroyed = computeService.destroyNodesMatching(inGroup(group));
|
||||
|
@ -534,7 +533,7 @@ public class NovaComputeServiceLiveTest {
|
|||
@Test(enabled = true)
|
||||
public void testCreateAndRunAService() throws Exception {
|
||||
|
||||
String group = this.group + "s";
|
||||
String group = this.group;
|
||||
try {
|
||||
computeService.destroyNodesMatching(inGroup(group));
|
||||
} catch (Exception e) {
|
||||
|
@ -574,7 +573,7 @@ public class NovaComputeServiceLiveTest {
|
|||
}
|
||||
}
|
||||
|
||||
@Test(groups = {"integration", "live"})
|
||||
@Test
|
||||
public void testGetAssignableLocations() throws Exception {
|
||||
for (Location location : computeService.listAssignableLocations()) {
|
||||
System.err.printf("location %s%n", location);
|
||||
|
@ -607,7 +606,7 @@ public class NovaComputeServiceLiveTest {
|
|||
}
|
||||
|
||||
public void testOptionToNotBlock() throws Exception {
|
||||
String group = this.group + "block";
|
||||
String group = this.group;
|
||||
try {
|
||||
computeService.destroyNodesMatching(inGroup(group));
|
||||
} catch (Exception e) {
|
||||
|
@ -643,9 +642,17 @@ public class NovaComputeServiceLiveTest {
|
|||
}
|
||||
|
||||
private TemplateBuilder getDefaultTemplateBuilder() {
|
||||
return computeService.templateBuilder().imageId("95");
|
||||
return computeService.templateBuilder().imageId("95").options(getDefaultTemplateOptions());
|
||||
}
|
||||
|
||||
private TemplateOptions getDefaultTemplateOptions() {
|
||||
return TemplateOptions.Builder.installPrivateKey(Payloads.newStringPayload(keyPair.get("private")));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Test(enabled = true)
|
||||
public void testCompareSizes() throws Exception {
|
||||
TemplateBuilder templateBuilder = getDefaultTemplateBuilder();
|
||||
|
@ -662,14 +669,14 @@ public class NovaComputeServiceLiveTest {
|
|||
|
||||
assertEquals(defaultSize, smallest);
|
||||
|
||||
assert getCores(smallest) <= getCores(fastest) : String.format("%d ! <= %d", smallest, fastest);
|
||||
assert getCores(biggest) <= getCores(fastest) : String.format("%d ! <= %d", biggest, fastest);
|
||||
assert getCores(smallest) <= getCores(fastest);
|
||||
assert getCores(biggest) <= getCores(fastest);
|
||||
|
||||
assert biggest.getRam() >= fastest.getRam() : String.format("%d ! >= %d", biggest, fastest);
|
||||
assert biggest.getRam() >= smallest.getRam() : String.format("%d ! >= %d", biggest, smallest);
|
||||
assert biggest.getRam() >= fastest.getRam();
|
||||
assert biggest.getRam() >= smallest.getRam();
|
||||
|
||||
assert getCores(fastest) >= getCores(biggest) : String.format("%d ! >= %d", fastest, biggest);
|
||||
assert getCores(fastest) >= getCores(smallest) : String.format("%d ! >= %d", fastest, smallest);
|
||||
assert getCores(fastest) >= getCores(biggest);
|
||||
assert getCores(fastest) >= getCores(smallest);
|
||||
}
|
||||
|
||||
|
||||
|
@ -691,9 +698,7 @@ public class NovaComputeServiceLiveTest {
|
|||
|
||||
@AfterTest
|
||||
protected void cleanup() throws InterruptedException, ExecutionException, TimeoutException {
|
||||
if (nodes != null) {
|
||||
testDestroyNodes();
|
||||
}
|
||||
testDestroyNodes();
|
||||
context.close();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue