Search in sources :

Example 11 with LoadBalancer

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

the class UpdateNodes method main.

/**
    * To get a username and API key see http://www.jclouds.org/documentation/quickstart/rackspace/
    * 
    * The first argument (args[0]) must be your username
    * The second argument (args[1]) must be your API key
    */
public static void main(String[] args) {
    UpdateNodes updateNodes = new UpdateNodes();
    try {
        updateNodes.init(args);
        LoadBalancer loadBalancer = updateNodes.getLoadBalancer();
        Set<Node> nodes = updateNodes.getNodes(loadBalancer);
        updateNodes.updateNodesInLoadBalancer(nodes, loadBalancer);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        updateNodes.close();
    }
}
Also used : Node(org.jclouds.rackspace.cloudloadbalancers.v1.domain.Node) UpdateNode(org.jclouds.rackspace.cloudloadbalancers.v1.domain.UpdateNode) LoadBalancer(org.jclouds.rackspace.cloudloadbalancers.v1.domain.LoadBalancer) TimeoutException(java.util.concurrent.TimeoutException)

Example 12 with LoadBalancer

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

the class AddNodes method main.

/**
    * To get a username and API key see http://www.jclouds.org/documentation/quickstart/rackspace/
    * 
    * The first argument (args[0]) must be your username
    * The second argument (args[1]) must be your API key
    */
public static void main(String[] args) {
    AddNodes addNodes = new AddNodes();
    try {
        addNodes.init(args);
        LoadBalancer loadBalancer = addNodes.getLoadBalancer();
        Set<AddNode> addNodeSet = addNodes.createAddNodes();
        addNodes.addNodesToLoadBalancer(addNodeSet, loadBalancer);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        addNodes.close();
    }
}
Also used : LoadBalancer(org.jclouds.rackspace.cloudloadbalancers.v1.domain.LoadBalancer) AddNode(org.jclouds.rackspace.cloudloadbalancers.v1.domain.AddNode) TimeoutException(java.util.concurrent.TimeoutException)

Example 13 with LoadBalancer

use of org.jclouds.rackspace.cloudloadbalancers.v1.domain.LoadBalancer 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 14 with LoadBalancer

use of org.jclouds.rackspace.cloudloadbalancers.v1.domain.LoadBalancer 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)11 LoadBalancer (org.jclouds.rackspace.cloudloadbalancers.v1.domain.LoadBalancer)8 Node (org.jclouds.rackspace.cloudloadbalancers.v1.domain.Node)6 NodeApi (org.jclouds.rackspace.cloudloadbalancers.v1.features.NodeApi)5 UpdateNode (org.jclouds.rackspace.cloudloadbalancers.v1.domain.UpdateNode)3 AddNode (org.jclouds.rackspace.cloudloadbalancers.v1.domain.AddNode)2 CreateLoadBalancer (org.jclouds.rackspace.cloudloadbalancers.v1.domain.CreateLoadBalancer)2 UpdateLoadBalancer (org.jclouds.rackspace.cloudloadbalancers.v1.domain.UpdateLoadBalancer)2 LoadBalancerApi (org.jclouds.rackspace.cloudloadbalancers.v1.features.LoadBalancerApi)1