Forum Discussion

Grayson_149410's avatar
Grayson_149410
Icon for Nimbostratus rankNimbostratus
May 09, 2016

Automating F5 - Python & WebApp

I am tasked with working on creating a web application for our team. We currently use F5 for all load balancing/proxy and Infoblox for IPAM and DNS.

 

I am going to be working on creating a web app, where anyone on our team can log into this web app, select "New" build and then have the APIs bring in IPs for the VIPs and setup DNS.

 

I have seen a lot of different examples on how to do this, but some of it seems dated and messy. Is bigsuds still being updated or is just building this out from scratch better?

 

Just looking for om insight and see if anyone is doing something similar.

 

4 Replies

  • Bigsuds and pycontrol still work, but they were developed for the old SOAP-based iControl API. Since iControlREST is the future of BigIP automation, it might be a better idea to avoid the use of bigsuds and pycontrol.

     

    If you're interested in developing a web-interface, Python back-end is a great choice. Unless you're working with large amounts of data, working with temporary .txt files will suffice. However, if your tool becomes popular in your enterprise, you may have to start storing some stuff in MySQL database to ensure performance. In regards to performance, you should also consider the use of parallelism (Multithreading) so you can work with multiple iControlREST request-response streams at once and avoid serial execution.

     

    I have done similar tools myself but since iControlREST automation projects are my bread and butter right now, I cannot share this stuff. For basic examples, Jason's article is a great starting point

     

     

    (iControlREST + Python)

     

    https://devcentral.f5.com/articles/demystifying-icontrol-rest-part-1-understanding-the-request-uri

     

    Regards,

     

    • Grayson_149410's avatar
      Grayson_149410
      Icon for Nimbostratus rankNimbostratus
      Fair enough and thanks for the information. Right now I am using a virtual Ubuntu box on VMWare Workstation on my computer and using Python and Flask. I imagine I will use that unless you have some better suggestions for doing this. I will also eventually be moving this stuff to a database better than SQL Alchemy.
  • Bigsuds and pycontrol still work, but they were developed for the old SOAP-based iControl API. Since iControlREST is the future of BigIP automation, it might be a better idea to avoid the use of bigsuds and pycontrol.

     

    If you're interested in developing a web-interface, Python back-end is a great choice. Unless you're working with large amounts of data, working with temporary .txt files will suffice. However, if your tool becomes popular in your enterprise, you may have to start storing some stuff in MySQL database to ensure performance. In regards to performance, you should also consider the use of parallelism (Multithreading) so you can work with multiple iControlREST request-response streams at once and avoid serial execution.

     

    I have done similar tools myself but since iControlREST automation projects are my bread and butter right now, I cannot share this stuff. For basic examples, Jason's article is a great starting point

     

     

    (iControlREST + Python)

     

    https://devcentral.f5.com/articles/demystifying-icontrol-rest-part-1-understanding-the-request-uri

     

    Regards,

     

    • Grayson_149410's avatar
      Grayson_149410
      Icon for Nimbostratus rankNimbostratus
      Fair enough and thanks for the information. Right now I am using a virtual Ubuntu box on VMWare Workstation on my computer and using Python and Flask. I imagine I will use that unless you have some better suggestions for doing this. I will also eventually be moving this stuff to a database better than SQL Alchemy.