Forum Discussion
Derek_21893
Nimbostratus
Aug 06, 2009Discovery of failover peer using iControl
Hi,
I'd like to be able to discover a failover peer for an active-active or active-standby pair of LTMs using iControl. From what I can tell there is no good way to do this currently.
I can use System.Failover.get_peer_address to get the address of the peer, but if this address is not routable (I'm not sure you can even make it routable) then how else can you discover a usable IP address for the peer?
In my instance the primary LTM is using 192.168.255.1 and the peer is using 192.168.255.2. All I can get is the peer address. I can't even get the "self" address, so even if these IP addresses were unique across an enterprise, there would be no way to correlate the two LTMs together into a redundant pair.
The only way I can think of to figure out if two LTMs are in a failover pair is to compare the VIPs and maybe self-ips to see if the IP addresses match, which is a cludge at best and wouldn't cover all scenarios such as multiple pairs of LTMs which their VIPs are participating in anycast and thus all have the same IP addresses across multiple pairs of LTMs.
Any ideas?
Thanks,
-Derek
- hoolio
Cirrostratus
Hi Derek,class unit_hostnames { sfo-bigip-1 212.1.1.1 sfo-bigip-2 212.1.1.2 }
- samstep
Cirrocumulus
HA pair boxes are typicaly configured for failover using a private VLAN shared only between that pair. By asking one box about its peer address you will only get that private (and in your case non-routable) self IP. - Derek_21893
Nimbostratus
I don't think that will work... - hoolio
Cirrostratus
What won't work? Sam's suggestion seems like it would work. - Derek_21893
Nimbostratus
I'll try that thanks - hoolio
Cirrostratus
Can you clarify what you're trying to do and a little background on why? What you've provided so far isn't very clear. - samstep
Cirrocumulus
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? - L4L7_53191
Nimbostratus
Sam, I'll put another vote in for your approach - I really think this will work well, or at least it'll give you all of the data you need to figure this out programatically.In [20]: self_ips1 = b.Networking_SelfIP.get_list()['return'] In [26]: print self_ips1 ['10.0.0.90', '172.16.1.1', '172.16.1.2'] In [27]: floating_ips1 = b.Networking_SelfIP.get_floating_state(self_ips = self_ips1)['return'] In [28]: combined = dict(zip(self_ips1, floating_ips1)) In [30]: print combined {'172.16.1.2': 'STATE_DISABLED', '10.0.0.90': 'STATE_DISABLED', '172.16.1.1': 'STATE_ENABLED'} ...then build your other data structure, and: In [33]: '172.16.1.1' in combined2.keys() Out[33]: True
- Derek_21893
Nimbostratus
Let me clarify what I'm trying to achieve. - Derek_21893
Nimbostratus
So I've done some more work on this today, and discovered that our enterprise actually has a pair of LTMs without any floating self-ip addresses. They have self-ip addresses assigned to their respective vlans, yet they do not have any floating self-ip addresses assigned. Are there any conceivable designs where this could be a proper configuration? I don't think this particular pair was configured correctly, but it has proven that this case can exist, and that this configuration does appear to work in this scenario. Since the servers do not use the F5 as their default gateway (we have a pair of core routers for that), the only benefit I came up with to having a floating self-ip would be that the connections in progress could be failed over to the standby LTM in case of failure, if connection mirroring was enabled.
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects