Search in sources :

Example 1 with CreateLoadBalancer

use of org.jclouds.rackspace.cloudloadbalancers.v1.domain.CreateLoadBalancer in project legacy-jclouds-examples by jclouds.

the class CreateLoadBalancerWithExistingServers method createLoadBalancer.

/**
    * If you try to visit the IPv4 address of the Load Balancer itself, you will see a "Service Unavailable" message 
    * because the nodes from the createNodeRequests() don't really exist.
    * 
    * To see an example of creating Cloud Servers and a Load Balancer at the same time see 
    * CreateLoadBalancerWithNewServers.  
    * @throws TimeoutException 
    */
private void createLoadBalancer(Set<AddNode> addNodes) throws TimeoutException {
    System.out.println("Create Cloud Load Balancer");
    CreateLoadBalancer createLB = CreateLoadBalancer.builder().name(Constants.NAME).protocol("HTTP").port(80).algorithm(LoadBalancer.Algorithm.WEIGHTED_LEAST_CONNECTIONS).nodes(addNodes).virtualIPType(VirtualIP.Type.PUBLIC).build();
    LoadBalancer loadBalancer = lbApi.create(createLB);
    // /jclouds-example/rackspace/src/main/java/org/jclouds/examples/rackspace/Logging.java
    if (!LoadBalancerPredicates.awaitAvailable(lbApi).apply(loadBalancer)) {
        throw new TimeoutException("Timeout on loadBalancer: " + loadBalancer);
    }
    System.out.println("  " + loadBalancer);
    System.out.println("  Go to http://" + getVirtualIPv4(loadBalancer.getVirtualIPs()));
}
Also used : CreateLoadBalancer(org.jclouds.rackspace.cloudloadbalancers.v1.domain.CreateLoadBalancer) CreateLoadBalancer(org.jclouds.rackspace.cloudloadbalancers.v1.domain.CreateLoadBalancer) LoadBalancer(org.jclouds.rackspace.cloudloadbalancers.v1.domain.LoadBalancer) TimeoutException(java.util.concurrent.TimeoutException)

Example 2 with CreateLoadBalancer

use of org.jclouds.rackspace.cloudloadbalancers.v1.domain.CreateLoadBalancer in project legacy-jclouds-examples by jclouds.

the class CreateLoadBalancerWithNewServers method createLoadBalancer.

/**
    * Create a Load Balancer that randomly distributes requests to its nodes. Normally you will want to use a
    * different algorithm for your Load Balancers (see LoadBalancer.Algorithm) but random nicely demonstrates
    * how requests are sent to diffent nodes when you reload the "Go to" URL printed out in the terminal.   
    * 
    * To see an example of creating a Load Balancer with existing Cloud Servers see  
    * CreateLoadBalancerWithExistingServers.
    */
private void createLoadBalancer(Set<AddNode> addNodes) throws TimeoutException {
    System.out.println("Create Cloud Load Balancer");
    CreateLoadBalancer createLB = CreateLoadBalancer.builder().name(Constants.NAME).protocol("HTTP").port(80).algorithm(LoadBalancer.Algorithm.RANDOM).nodes(addNodes).virtualIPType(VirtualIP.Type.PUBLIC).build();
    LoadBalancer loadBalancer = lbApi.create(createLB);
    // /jclouds-example/rackspace/src/main/java/org/jclouds/examples/rackspace/Logging.java
    if (!LoadBalancerPredicates.awaitAvailable(lbApi).apply(loadBalancer)) {
        throw new TimeoutException("Timeout on loadBalancer: " + loadBalancer);
    }
    System.out.println("  " + loadBalancer);
    System.out.println("  Go to http://" + getVirtualIPv4(loadBalancer.getVirtualIPs()));
}
Also used : CreateLoadBalancer(org.jclouds.rackspace.cloudloadbalancers.v1.domain.CreateLoadBalancer) CreateLoadBalancer(org.jclouds.rackspace.cloudloadbalancers.v1.domain.CreateLoadBalancer) LoadBalancer(org.jclouds.rackspace.cloudloadbalancers.v1.domain.LoadBalancer) TimeoutException(java.util.concurrent.TimeoutException)

Aggregations

TimeoutException (java.util.concurrent.TimeoutException)2 CreateLoadBalancer (org.jclouds.rackspace.cloudloadbalancers.v1.domain.CreateLoadBalancer)2 LoadBalancer (org.jclouds.rackspace.cloudloadbalancers.v1.domain.LoadBalancer)2