I have numerous empty pools on my LTM and trying to remove them. When I attempt to delete them I get an error stating they are referenced by an Irule. But I also have many irules and the message does not show which Irule is using the pool. Is there an easier way other than searching through a text output of the config to determine which Irule is using the now empty pool? Maybe a script ?
Hello, all LTM configuration is saved as text-config in bigip.conf file.
My suggestion would be logging into the bash command line interface and issue the following command:
cat -n /config/bigip.conf | grep pool_name
the -n option will number the config line(s).
EDIT -- this command will also show you LTM pool object configuration as "ltm pool /Common/pool_name" , ignore this line and focus on iRule/TCL statements.
You should then look for the first "ltm rule <name>" statement in previous configuration lines.
The following command might do it .. I'm filtering the 100 config lines before your match and then displaying only "ltm rule" or "pool_name" statements.
cat -n /config/bigip.conf | grep pool_name -B 100 | egrep 'pool_name|ltm rule'
Of course this might show other irule names (look for the matches immediately before pool_name statements) , or no irule at all if pool statement is set after 100+ irule lines