The
ITCMLocalLB::Node::set_availability() with
AVAILABILITY_DOWN and
AVAILABILITY_UP is an admin function used to control whether traffic gets routed to the nodes. This is set either in the GUI, CLI or iControl. It is independent on the current traffic characteristics or performance of the node.
By calling
ITCMLocalLB::Node::get_availability() you can determine the current state of the node with regards to load balancing decisions. These values are determined from a combination of routing and monitor reporting.
The following Availability states can be returned (these are documented in the SDK):
AVAILABILITY_UNCHECKED 0 The node has not been checked for availability.
AVAILABILITY_DOWN 1 The node is not available.
AVAILABILITY_UP 2 The node is available.
AVAILABILITY_CHECKING 3 The node is currently being checked for availability.
AVAILABILITY_FORCED_DOWN 4 The node has been forced down manually.
AVAILABILITY_ADDR_DOWN 5 The node address for a node server is down.
AVAILABILITY_UNKNOWN 6 An unknown, undecipherable state has been received for the node.
AVAILABILITY_MAINT 7 Maintenance mode.
AVAILABILITY_ENABLED 8 The node is enabled.
AVAILABILITY_DISABLED 9 The node is disabled.
AVAILABILITY_ADDR_DISABLED 10 The node address is disabled.
AVAILABILITY_PORT_DISABLED 11 The node service is disabled.
So, to specifically answer your questions:
Q: If traffic is heavy on a specific node, does the node state go to AVAILABILITY_DOWN?
No. If the node is reachable from our traffic load balancing, the state will be AVAILABILITY_UP. If the bandwidth exceeds the capability of the node and BIG-IP has no more nodes in the pool to load balance to, then the connections will be queued up and then eventually if that queue becomes too large the connections will be dropped.
Q: If the node is available for load balancing, can I say that the node status is good? Otherwise if the node is not available, can I say the node status is bad?
Yes. If the states are STATE_ENABLED and AVAILABILITY_UP, then the node is in good shape. Otherwise traffic will not be routed to it.
Q: With AVAILABILITY_DOWN and AVAILABILITY_UP, can I display node status as bad and good?
Again, it is a combination of AVAILIBILITY_UP and STATE_ENABLED.
Hope this helps...
-Joe