private void forceDelete() { try { for (CloudProviderInterface cloudProvider : Config.getCloudProviders()) { if (cloudProvider.isApplicationRunningHere()) { cloudProvider.delete(); break; } } Logger.log(new Throwable(), "DELETE: server deleted"); } catch (Exception e) { new TalesException(new Throwable(), e); } }
private String newServer(HttpServletRequest request, HttpServletResponse response) { try { String requestProvider = request.getParameter("cloud-provider").toLowerCase(); for (CloudProviderInterface cloudProvider : Config.getCloudProviders()) { if (requestProvider.equals(cloudProvider.getId().toLowerCase())) { // new server Logger.log(new Throwable(), "NEW: creating new server in: " + cloudProvider.getId()); String publicDNS = cloudProvider.newServer(request); // waits for tales dashboard to be up Logger.log(new Throwable(), "NEW: waiting for server (" + publicDNS + ") to be up..."); while (true) { if (new Download().urlExists("http://" + publicDNS + ":" + Config.getDashbaordPort())) { break; } Thread.sleep(1000); } Logger.log(new Throwable(), "NEW: finished"); // http response JSONObject json = new JSONObject(); json.put("dns", publicDNS); response.setContentType("application/json"); response.setStatus(HttpServletResponse.SC_OK); response.getWriter().println(json); return publicDNS; } } } catch (Exception e) { new TalesException(new Throwable(), e); } return null; }