Forum Discussion
samstep
Aug 07, 2009Cirrocumulus
Derek, so you don't know the management IP addresses of all your BIG-IP boxes? How are you planning to do the discovery of any F5 devices?
For example by scanning your network for iControl responses on port 443 you can discover all your BIG-IP devices and store their SelfIPs in your application, then query all of them (since you have discovered them and know all their IPs) for their Failover status (ACTIVE/STANDBY) and then just do the Floating IP match to tie the HA pair together.
If you ask each box "tell me your peer IP address" you will get the only IP address which is known to that box - which could be a non-routable one, so you won't be able to match that with anything. I think this is what you are trying to do and this is your current problem.
So DO NOT ask each box for its failover peer IP address as this information is useless to you.
Instead ask each box: "give me your floating IP address and your failover status" using iControl. Whichever Standby box replies with the same Floating IP as previously seen Floating IP for an ACTIVE box is its peer.
If management IP addresses of all your boxes are not known to your application or you don't want to discover all the boxes for some reason then the above solution will not work.
If you want to connect to just one F5 box and figure out the routable IP of its failover peer then it is not possible. The only other workaround is if you have Connection Mirroring configured and one of the Connection Mirror IP addresses(primary or secondary) is routable. In this case you can ask each box - "give me your connection mirroring peer IP addresses". These are "StateMirror.PeerIpaddr" or "StateMirror.Secondary.PeerIpaddr" BIG DB variables.
Hope this helps,
Sam