In order to interact with the F5 via Python the best option available is bigsuds. This is a Python module that allows you to interact with the F5 API iControl via a set of Python classes.
Typically you will normally find all the methods you need to interact with your F5 without issues. However, there are times that you may be unable to find the required method in order to obtain the information you require. This is were the get_instance method comes into play. get_instance allows you to return the configuration as a string.
Within this article we will provide the steps to obtain the network failover configuration as there is no direct method for obtaining this configuration via iControl in v10.2.4.
Import/Build Connection
First of all we import the bigsuds module and also build a connection to our F5.
>>> import bigsuds >>> import pprint >>> b = bigsuds.BIGIP(hostname = '10.1.1.10',username = "admin", password = "#####")
Classes
We next perform a look up through our classes to confirm the class we are interested in. Add the nessacary strings to the filter key to filter the results.
>>> pprint.pprint([x['name'] for x in b.Management.ChangeControl.get_class_info(filter="")]) ['Local Traffic / Profiles / profile_mblb', 'Local Traffic / Profiles / profile_ntlm', 'System / dns', 'System / httpd', 'System / logrotate', 'System / ntp', 'System / password_policy', 'System / sshd', 'System / remote_users', 'System / syslog', 'System / ltm', ....
Instances
Once we have our class we next to obtain the instances for the class.
>>> b.Management.ChangeControl.get_instance_info(classes=[{"name":"System / failover","transact ion_id":0}]) [[{'name': 'System / failover / failover', 'transaction_id': 55485}]]
Get Config
Now that we have our instance. We can pass this to the F5 so that the configuration is returned.
>>> b.Management.ChangeControl.get_instance(instance_names=["System / failover / failover"],ins tance_format="FORMAT_SHELL") [{'info': {'name': 'System / failover / failover', 'transaction_id': 55485}, 'data': 'failover {\n network failover enable\n peer mgmt addr 8.8.8.8\n redundant enable\n standby link down time 0\n unit 2\n unicast peer FAILOVER {\n dest addr 8.8.8.8\n port 1 026\n source addr 8.8.8.7\n }\n}', 'format': 'FORMAT_SHELL'}]
- How to Configure a BIND Server on Ubuntu - March 15, 2018
- What is a BGP Confederation? - March 6, 2018
- Cisco – What is BGP ORF (Outbound Route Filtering)? - March 5, 2018
Want to become an F5 Loadbalancers expert?
Here is our hand-picked selection of the best courses you can find online:
F5 BIG-IP 101 Certification Exam – Complete Course
F5 BIG-IP 201 Certification Exam – Complete Course
and our recommended certification practice exams:
AlphaPrep Practice Tests - Free Trial