Forum Discussion

F5_Dev_83066's avatar
F5_Dev_83066
Icon for Nimbostratus rankNimbostratus
May 07, 2012

Dynamic Pool members from FQDN and monitoring during TTL.

I am trying to write an irule, to dynamically add members to pool by resolving FQDN names as we don’t have list of Ip addresses and Ips can be changed in future but not the FQDN. For DNS redundancy I can use VIP in my script but wondering if TTL value returned by DNS for a record is high and that record (node) fails during lifetime of TTL the connections to service will fail.

 

Here is summary of possible solution I am aiming for, would appreciate if you can help me with a solution and code.

 

1. Resolve FQDN and get list of IP by using RESOLV::lookup funtion.

 

2. If list is empty then log a message.

 

3. If list is not empty either add the up members to a pool and pool monitor check the availability of members. Or monitor it by script and assign to node.

 

4. If members were added to pool then automatic house-keeping (remove non-responding one after 1 day) of pool members will be required.

 

 

Thx in advance.
  • Hi,

     

     

    You can use RESOLV::lookup in an iRule to resolve the hostname to IP address(es). But you can't modify the BIG-IP configuration from an iRule. If you wanted to do this you could use a shell script and write the change to the pool using tmsh. You could run the script from cron or using an external monitor.

     

     

    There's a related enhancement request to support name based load balancing using DNS so that TMM would do this for you. You could open a case with F5 Support to add your request to it. If you do, reference BZ353855.

     

     

    Aaron