Exemplo n.º 1
0
  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);
    }
  }
Exemplo n.º 2
0
  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;
  }