public static Builder fromServerInfo(ServerInfo serverInfo) { return new Builder() .uuid(serverInfo.getUuid()) .name(serverInfo.getName()) .resourceUri(serverInfo.getResourceUri()) .owner(serverInfo.getOwner()) .status(serverInfo.getStatus()) .runtime(serverInfo.getRuntime()) .cpusInsteadOfCores(serverInfo.isCpusInsteadOfCores()) .drives(serverInfo.getDrives()) .enableNuma(serverInfo.isNumaEnabled()) .hvRelaxed(serverInfo.isHvRelaxed()) .hvTsc(serverInfo.isHvTsc()) .memory(serverInfo.getMemory()) .meta(serverInfo.getMeta()) .nics(serverInfo.getNics()) .requirements(serverInfo.getRequirements()) .tags(serverInfo.getTags()) .vncPassword(serverInfo.getVncPassword()) .smp(serverInfo.getSmp()); }
private void checkServer(ServerInfo newServer, ServerInfo createdServer) { assertEquals(newServer.getName(), createdServer.getName()); assertEquals(newServer.getMemory(), createdServer.getMemory()); assertEquals(newServer.getVncPassword(), createdServer.getVncPassword()); assertEquals(newServer.getCpu(), createdServer.getCpu()); assertEquals(newServer.getDrives().size(), createdServer.getDrives().size()); for (int i = 0; i < newServer.getDrives().size(); i++) { checkServerDrive(newServer.getDrives().get(i), createdServer.getDrives().get(i)); } }
/** * Warning: name, cpu, memory & vncPassword should be specified * * @return server with details */ public ServerInfo build() { return new ServerInfo(uuid, name, resourceUri, owner, status, runtime, cpu, cpusInsteadOfCores, drives, enableNuma, hvRelaxed, hvTsc, memory, meta, nics, requirements, tags, vncPassword, smp); } }
@Override public void exec() { List<MonitoredVm> list = new ArrayList<MonitoredVm>(); //Get all servers FluentIterable<ServerInfo> cloudsigmaServers; cloudsigmaServers = connector.listOfServers(); if (cloudsigmaServers != null) { for (ServerInfo o : cloudsigmaServers) { MonitoredVm temp = new MonitoredVm(o.getUuid(), o.getName(), toState(o.getStatus())); list.add(temp); } } ListManager.listManager(list, VMs, coord); }
if (input.getName() != null) { serverObject.addProperty("name", input.getName()); if (input.getCpu() > 0) { serverObject.addProperty("cpu", input.getCpu()); if (input.getMemory() != null) { serverObject.addProperty("mem", input.getMemory().toString()); if (input.getMeta() != null) { serverObject.add("meta", new JsonParser().parse(new Gson().toJson(input.getMeta()))); if (input.getRequirements() != null) { serverObject.add("requirements", new JsonParser().parse(new Gson().toJson(input.getRequirements()))); if (input.getTags() != null) { serverObject.add("tags", new JsonParser().parse(new Gson().toJson(input.getTags()))); if (input.getVncPassword() != null) { serverObject.addProperty("vnc_password", input.getVncPassword()); if (input.getNics() != null) { JsonArray nics = new JsonArray(); for (NIC nic : input.getNics()) { JsonObject nicObject = new JsonObject(); if (input.getDrives() != null) { JsonArray serverDrives = new JsonArray();
@Override public NodeMetadata apply(ServerInfo serverInfo) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(serverInfo.getUuid()); builder.name(serverInfo.getName()); builder.group(groupNamingConventionWithoutPrefix.extractGroup(serverInfo.getName())); builder.location(getOnlyElement(locations.get())); builder.hardware(new HardwareBuilder().ids(serverInfo.getUuid()).processor(new Processor(1, serverInfo.getCpu())) .ram(serverInfo.getMemory().intValue()) .volumes(Iterables.transform(serverInfo.getDrives(), serverDriveToVolume)).build()); builder.tags(readTags(serverInfo)); builder.userMetadata(serverInfo.getMeta()); builder.imageId(extractImageId(serverInfo)); builder.status(serverStatusToNodeStatus.get(serverInfo.getStatus())); builder.publicAddresses(filter(transform(serverInfo.getNics(), nicToAddress), notNull())); // CloudSigma does not provide a way to get the credentials. // Try to return them from the credential store Credentials credentials = credentialStore.get("node#" + serverInfo.getUuid()); if (credentials instanceof LoginCredentials) { builder.credentials(LoginCredentials.class.cast(credentials)); } return builder.build(); }
@Override public void destroyNode(String uuid) { ServerInfo server = api.getServerInfo(uuid); if (ServerStatus.RUNNING == server.getStatus()) { api.stopServer(uuid); waitUntilServerIsStopped(uuid); } deleteTags(server.getTags()); List<String> driveIds = transform(server.getDrives(), new Function<ServerDrive, String>() { @Override public String apply(ServerDrive input) { return input.getDriveUuid(); } }); logger.debug(">> deleting server..."); api.deleteServer(uuid); if (destroyDrives) { logger.debug(">> deleting server drives..."); destroyDrives(driveIds); } }
@Test(dependsOnMethods = {"testEditServer"}) public void testDeleteServer() throws Exception { String uuid = createdServer.getUuid(); api.deleteServer(uuid); assertNull(api.getServerInfo(uuid)); }
private static String extractImageId(ServerInfo serverInfo) { String imageId = serverInfo.getMeta().get("image_id"); if (imageId == null) { ServerDrive serverBootDrive = null; for (ServerDrive serverDrive : serverInfo.getDrives()) { if (serverDrive.getBootOrder() != null && (serverBootDrive == null || serverDrive.getBootOrder() < serverBootDrive.getBootOrder())) { serverBootDrive = serverDrive; } } if (serverBootDrive != null) { imageId = serverBootDrive.getDriveUuid(); } } return imageId; }
public void testConvertServerInfo() { CloudSigma2Api api = EasyMock.createMock(CloudSigma2Api.class); for (ServerDrive drive : input.getDrives()) { DriveInfo mockDrive = new DriveInfo.Builder() .uuid(drive.getDriveUuid())
if (input.getName() != null) { serverObject.addProperty("name", input.getName()); if (input.getCpu() > 0) { serverObject.addProperty("cpu", input.getCpu()); if (input.getMemory() != null) { serverObject.addProperty("mem", input.getMemory().toString()); if (input.getMeta() != null) { serverObject.add("meta", new JsonParser().parse(new Gson().toJson(input.getMeta()))); if (input.getRequirements() != null) { serverObject.add("requirements", new JsonParser().parse(new Gson().toJson(input.getRequirements()))); if (input.getTags() != null) { serverObject.add("tags", new JsonParser().parse(new Gson().toJson(input.getTags()))); if (input.getVncPassword() != null) { serverObject.addProperty("vnc_password", input.getVncPassword()); if (input.getNics() != null) { JsonArray nics = new JsonArray(); for (NIC nic : input.getNics()) { JsonObject nicObject = new JsonObject(); if (input.getDrives() != null) { JsonArray serverDrives = new JsonArray();
@Override public NodeMetadata apply(ServerInfo serverInfo) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(serverInfo.getUuid()); builder.name(serverInfo.getName()); builder.group(groupNamingConventionWithoutPrefix.extractGroup(serverInfo.getName())); builder.location(getOnlyElement(locations.get())); builder.hardware(new HardwareBuilder().ids(serverInfo.getUuid()).processor(new Processor(1, serverInfo.getCpu())) .ram(serverInfo.getMemory().intValue()) .volumes(Iterables.transform(serverInfo.getDrives(), serverDriveToVolume)).build()); builder.tags(readTags(serverInfo)); builder.userMetadata(serverInfo.getMeta()); builder.imageId(extractImageId(serverInfo)); builder.status(serverStatusToNodeStatus.get(serverInfo.getStatus())); builder.publicAddresses(filter(transform(serverInfo.getNics(), nicToAddress), notNull())); // CloudSigma does not provide a way to get the credentials. // Try to return them from the credential store Credentials credentials = credentialStore.get("node#" + serverInfo.getUuid()); if (credentials instanceof LoginCredentials) { builder.credentials(LoginCredentials.class.cast(credentials)); } return builder.build(); }
@Override public void destroyNode(String uuid) { ServerInfo server = api.getServerInfo(uuid); if (ServerStatus.RUNNING == server.getStatus()) { api.stopServer(uuid); waitUntilServerIsStopped(uuid); } deleteTags(server.getTags()); List<String> driveIds = transform(server.getDrives(), new Function<ServerDrive, String>() { @Override public String apply(ServerDrive input) { return input.getDriveUuid(); } }); logger.debug(">> deleting server..."); api.deleteServer(uuid); if (destroyDrives) { logger.debug(">> deleting server drives..."); destroyDrives(driveIds); } }
@Test(dependsOnMethods = {"testCreateServers"}) public void testDeleteServers() throws Exception { ImmutableList.Builder<String> stringListBuilder = ImmutableList.builder(); for (ServerInfo serverInfo : createdServers) { stringListBuilder.add(serverInfo.getUuid()); } ImmutableList<String> uuids = stringListBuilder.build(); api.deleteServers(uuids); // Verify all deleted servers no longer exist FluentIterable<Server> servers = api.listServers().concat(); assertFalse(any(transform(servers, extractUuid()), in(uuids))); }
private static String extractImageId(ServerInfo serverInfo) { String imageId = serverInfo.getMeta().get("image_id"); if (imageId == null) { ServerDrive serverBootDrive = null; for (ServerDrive serverDrive : serverInfo.getDrives()) { if (serverDrive.getBootOrder() != null && (serverBootDrive == null || serverDrive.getBootOrder() < serverBootDrive.getBootOrder())) { serverBootDrive = serverDrive; } } if (serverBootDrive != null) { imageId = serverBootDrive.getDriveUuid(); } } return imageId; }
public static Builder fromServerInfo(ServerInfo serverInfo) { return new Builder() .uuid(serverInfo.getUuid()) .name(serverInfo.getName()) .resourceUri(serverInfo.getResourceUri()) .owner(serverInfo.getOwner()) .status(serverInfo.getStatus()) .runtime(serverInfo.getRuntime()) .cpusInsteadOfCores(serverInfo.isCpusInsteadOfCores()) .drives(serverInfo.getDrives()) .enableNuma(serverInfo.isNumaEnabled()) .hvRelaxed(serverInfo.isHvRelaxed()) .hvTsc(serverInfo.isHvTsc()) .memory(serverInfo.getMemory()) .meta(serverInfo.getMeta()) .nics(serverInfo.getNics()) .requirements(serverInfo.getRequirements()) .tags(serverInfo.getTags()) .vncPassword(serverInfo.getVncPassword()) .smp(serverInfo.getSmp()); }
if (input.getName() != null) { serverObject.addProperty("name", input.getName()); if (input.getCpu() > 0) { serverObject.addProperty("cpu", input.getCpu()); if (input.getMemory() != null) { serverObject.addProperty("mem", input.getMemory().toString()); if (input.getMeta() != null) { serverObject.add("meta", new JsonParser().parse(new Gson().toJson(input.getMeta()))); if (input.getRequirements() != null) { serverObject.add("requirements", new JsonParser().parse(new Gson().toJson(input.getRequirements()))); if (input.getTags() != null) { serverObject.add("tags", new JsonParser().parse(new Gson().toJson(input.getTags()))); if (input.getVncPassword() != null) { serverObject.addProperty("vnc_password", input.getVncPassword()); if (input.getNics() != null) { JsonArray nics = new JsonArray(); for (NIC nic : input.getNics()) { JsonObject nicObject = new JsonObject(); if (input.getDrives() != null) { JsonArray serverDrives = new JsonArray();