11

I need to re-ip about 600 servers, which is bad enough by itself, but I've automated the entire process except for one part: F5 configuration.

In all the documentation I can find, there is nothing about changing a node's IP address via the SOAP interface, it seems to be impossible. Most people suggest using sed tricks on exported config files and reimporting them, but that's much too brittle.

I'm considering doing a delete-create-re-add-to-pools dance via SOAP, but that also seems fragile. Is there a better way?

Note: I need to do this on both v10 and v11 of BigIP.

Dennis Kaarsemaker
  • 18,793
  • 2
  • 43
  • 69
  • Python and Expect? (assuming there's a telnet/ssh interface)... – Tom O'Connor Jan 06 '14 at 14:55
  • 1
    There is, and there's tmsh for making changes. But I also didn't find any tmsh function for changing IP addresses. – Dennis Kaarsemaker Jan 06 '14 at 14:57
  • How about Selenium and the web interface? :P – Tom O'Connor Jan 06 '14 at 15:06
  • 1
    Evil :) But the web interface *also* doesn't seem to have that option. – Dennis Kaarsemaker Jan 06 '14 at 15:09
  • 1
    with tmsh/soap/web interface you can add and delete nodes, and edit certain parameters. But wherever I look, editing IP addresses is not possible. – Dennis Kaarsemaker Jan 06 '14 at 17:01
  • What about Burp Suite? I had a similar task once (Change 700 IP cameras bitrate), I solved with the Burp suite. [Hint](http://forum.portswigger.net/thread/156) – Gabriel Talavera Jan 06 '14 at 18:27
  • 1
    Deleting and readding is the way to go. First you have a node, which is an IP. Then you have a service which is an IP:Port combo. Finally you assign that service to a vserver.. changing the IP and 'doing the right thing' all the way through the configuration would involve some mind-reading. This would be far more fragile than delete/readd. The IP is the important part of the node configuration, the name is just for human use. –  Jan 06 '14 at 18:36

2 Answers2

5

So, deleting and re-adding it is. And of course it's different in v11 than it is in v10. I've created a script that uses the F5 SOAP API and the python 'suds' library to do this. It will delete/recreate nodes and add them to the pools they were in. The pool ratio is also remembered, but no other setting is.

Dennis Kaarsemaker
  • 18,793
  • 2
  • 43
  • 69
1

The best way to do this is to log in to the command line of the F5 and directly edit the /config/bigip.conf file as root using vim. Once edited, you apply the configuration using the command "tmsh load sys config partitions all". Unfortunaltey, the F5 does not support editing, so using the CLI and editing the config files by hand is the only way.

James Shewey
  • 182
  • 14
  • 1
    This sounded like an excellent way to resolve the issue - but didn't work for me on a BIG-IP running 13.0.0 in AWS. On running "tmsh load sys config partitions all" the system complained that "0107003c:3: Invalid pool member modification. An IP address change from (172.22.2.20) to (172.22.2.21) is not supported." I guess I'm going to need to create a new node. :-/ – aid Aug 10 '17 at 08:40