ltm rule command LB serverΒΆ

iRule(1)		      BIG-IP TMSH Manual		      iRule(1)



LB::server
       Returns information about the currently selected server.

SYNOPSIS
       LB::server ('name' | 'pool' | 'route_domain' |
			   'addr' | 'port' | 'priority' |
			   'ratio' | 'weight' | 'ripeness')?

DESCRIPTION
       This command allows you to query for information about the member
       selected after a load balancing decision has been made.

       If no server was selected (all servers down), this command with either
       no arguments or the "name" argument will return the pool name
       only--useful for determining the default pool applied to a virtual
       server. If the node command is called prior to this command a null
       string is returned as the node command overrides any prior pool
       selection logic.

       LB::server [name | pool | route_domain | addr | port | priority | ratio
       | weight | ripeness]

RETURN VALUE
       LB::server
	   returns a Tcl list with pool, pool member address and port. If no
       server was selected yet or all servers are down, returns default pool
       name only.

       LB::server name
	   returns a Tcl list with pool, pool member address and port. If no
       server was selected yet or all servers are down, returns default pool
       name only.

       LB::server pool
	   Returns the pool of the currently selected member. If no server was
       selected yet or all servers are down, returns default pool name.

       LB::server addr
	   Returns the IP address of the currently selected pool member. If no
       server was selected yet or all servers are down, returns null.

       LB::server port
	   Returns the port of the currently selected pool member. If no
       server was selected yet or all servers are down, returns null.

       LB::server priority
	   Returns the priority of the currently selected pool member. If no
       server was selected yet or all servers are down, returns null. If
       priority is not configured for the pool member, the default priority
       value of 1 is returned.

       LB::server ratio
	   Returns the ratio value of the currently selected pool member. If
       no server was selected yet or all servers are down, returns null. If
       ratio is not configured for the pool member, the default ratio value of
       1 is returned.

       LB::server route_domainAX
	   Returns the route domain ID of the currently selected pool member.
       If no server was selected yet or all servers are down, returns null.
       Also returns null if the route domain is 0 (default).

       LB::server weight
	   Returns the weighting of the currently selected pool member. If no
       server was selected yet or all servers are down, returns null.

       LB::server ripeness
	   Returns the ripeness information of the currently selected pool
       member. If no server was selected yet or all servers are down, returns
       null.

VALID DURING
       ANY_EVENT

EXAMPLES
	when LB_SELECTED {
	    # Once pool member has been selected check if it's 10.0.0.25
	    if { [IP::addr [LB::server addr] equals 10.0.0.25] } {

		# Reselect a new pool member within the pool
		LB::reselect

		# Retry the request to the new pool member
		HTTP::retry
	    }
	}

	Do something if all servers are down in the default pool:

	when HTTP_REQUEST {
	    # Check if the default pool has less than one active member
	    if { [active_members [LB::server pool]] < 1 } {
		[do something]
	    }
	}

	Get the default pool of the VIP's name before it could have been changed by an iRule, HTTP class or other method:

	when CLIENT_ACCEPTED {
	    # Save the name of the VIP's default pool
	    set default_pool [LB::server pool]
	}

HINTS
SEE ALSO
       Sample Code:

	   L
	   L
	   L
	   L
	   L
	   L
	   L
	   L
	   L