Forum Discussion
philh_127905
Nimbostratus
You're right, it's a trap !
I don't know if this would work in your solution, but one workaround might be to use the "weighted-least-connections-node" load balancing mode. Then you could create the node with a connection limit and add it to a pool:
!/usr/bin/env ruby
require "rubygems"
require "f5-icontrol"
@ic = F5::IControl.new("10.2.2.29","user","pass", ["LocalLB.Pool","LocalLB.NodeAddress"]).get_interfaces
ipport_def = {"address" => "10.10.10.10", "port" => 80}
connection_limit = 5
pool_name = "test_ic_pool"
Create the node
@ic["LocalLB.NodeAddress"].create([ipport_def['address']],[connection_limit])
Add it as a pool member
@ic["LocalLB.Pool"].add_member([pool_name],[[ipport_def]])
I guess there is the option of writing a weighted least connections (memeber) lb mode in an iRule and disregarding the mode of the actual pool. That way you could dynamically add pool members and not have to worry about this trap.
Hope that helps
Phil
John_Watilo_483
Aug 15, 2013Nimbostratus
Well, it doesn't look we can really do it this way. As far as I can tell, by tying the connection limit to the node itself, this will affect ALL pools that reference the particular node. Definitely not what we want to do.
Thanks again for your suggestion.