use of org.openstack4j.model.compute.Server in project camel by apache.
the class ServerProducerTest method createServerWithHeaders.
@Test
public void createServerWithHeaders() throws Exception {
final String expectedFlavorID = UUID.randomUUID().toString();
when(testOSServer.getId()).thenReturn(expectedFlavorID);
msg.setHeader(OpenstackConstants.OPERATION, OpenstackConstants.CREATE);
msg.setHeader(OpenstackConstants.NAME, dummyServer.getName());
msg.setHeader(NovaConstants.FLAVOR_ID, dummyServer.getFlavorRef());
msg.setHeader(NovaConstants.IMAGE_ID, dummyServer.getImageRef());
producer.process(exchange);
final Server created = msg.getBody(Server.class);
checkCreatedServer(dummyServer, created);
}
use of org.openstack4j.model.compute.Server in project camel by apache.
the class ServerProducerTest method createServer.
@Test
public void createServer() throws Exception {
when(endpoint.getOperation()).thenReturn(OpenstackConstants.CREATE);
final String expectedFlavorID = UUID.randomUUID().toString();
when(testOSServer.getId()).thenReturn(expectedFlavorID);
msg.setBody(dummyServer);
producer.process(exchange);
final Server created = msg.getBody(Server.class);
checkCreatedServer(dummyServer, created);
}
use of org.openstack4j.model.compute.Server in project camel by apache.
the class ServerProducer method doCreate.
private void doCreate(Exchange exchange) {
final ServerCreate in = messageToServer(exchange.getIn());
final Server out = os.compute().servers().boot(in);
exchange.getIn().setBody(out);
}
use of org.openstack4j.model.compute.Server in project airavata by apache.
the class OpenstackIntfImpl method addFloatingIP.
@Override
public void addFloatingIP(String serverId) {
try {
Server server = this.getServer(serverId);
// Floating IP to allocate.
FloatingIP floatIp = null;
if (server != null) {
List<? extends FloatingIP> floatIPList = os.compute().floatingIps().list();
// Iterate through the floating ips from the pool present if any.
if (floatIPList.size() > 0) {
for (FloatingIP ip : floatIPList) {
logger.info("Checking if floating ip : " + ip.getFloatingIpAddress() + " is free to use.");
Boolean isFloatingIpUsed = OpenstackIntfUtil.isFloatingIPUsed(ip);
if (isFloatingIpUsed != null && !isFloatingIpUsed) {
floatIp = ip;
logger.info("Floating ip " + ip.getFloatingIpAddress() + " found to be free.");
break;
}
}
}
// If all floating IPs are used, or there are no free floating ips, create new one.
if (floatIp == null) {
floatIp = os.compute().floatingIps().allocateIP(properties.getProperty(Constants.OS_FLOATING_IP_POOL));
logger.info("Created new floating ip " + floatIp.getFloatingIpAddress());
}
if (floatIp != null) {
String ipAddr = floatIp.getFloatingIpAddress();
if (ipAddr != null) {
ActionResponse response = os.compute().floatingIps().addFloatingIP(server, ipAddr);
logger.info(response.isSuccess() + ":" + response.getCode() + ":" + response.getFault() + ":" + response.toString());
if (response.isSuccess()) {
logger.info("Floating IP " + ipAddr + " assigned successfully to server with ID: " + serverId);
} else {
logger.error("Failed to associate Floating IP.");
}
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
// TODO: Check with the team on how to handle exceptions.
logger.error("Failed to associate floating IP to server with ID: " + serverId);
}
}
use of org.openstack4j.model.compute.Server in project airavata by apache.
the class OpenstackIntfImpl method deleteServer.
@Override
public void deleteServer(String serverId) {
try {
Server server = this.getServer(serverId);
// Get Floating IP if there is one associated.
String floatingIpAddr = null;
for (Address novaAddress : server.getAddresses().getAddresses().get(properties.getProperty(Constants.OS_NETWORK_NAME))) {
novaAddress = (NovaAddress) novaAddress;
if (novaAddress.getType().equals(IPType.FLOATING.toString())) {
floatingIpAddr = novaAddress.getAddr();
break;
}
}
if (server != null) {
os.compute().servers().delete(serverId);
// Deallocating Floating IP.
if (floatingIpAddr != null) {
for (FloatingIP floatIp : os.compute().floatingIps().list()) {
if (floatIp.getFloatingIpAddress().equals(floatingIpAddr)) {
os.compute().floatingIps().deallocateIP(floatIp.getId());
}
}
}
logger.info("Server deleted successfully for ID: " + serverId);
}
} catch (Exception ex) {
ex.printStackTrace();
// TODO: Check with the team on how to handle exceptions.
logger.error("Failed to delete server with ID: " + serverId);
}
}
Aggregations