Forum Discussion

Nazir_52641's avatar
Sep 14, 2018

F5 automation using pure iControl REST API and Ansible - Series: Introduction

Introduction :

 

There are many articles covering F5 and ansible integration using F5 ansible modules. But no articles/details on using Ansible with pure iControl REST API. May be it was intended to use bigip ansible modules with Ansible. This series will be helpful where there is no solution available with existing F5 ansible modules to configure a specific object. There are pros and cons of using direct F5 ansible modules.

 

Pros :

 

1) No need to understand iControl REST API structure

 

2) Easy to use api with specific parameters to create a specific object

 

Cons :

 

1) For some modules there is limited functionality based on what is available in any specific Module 2) F5 password has to be put in each and every tasks 3) To create a specific object depends on F5 modules availablity

 

Note: This series is intended for administrator who should have some hands on coding experience or atleast know the coding concepts

 

Purpose :

 

The intended goal of this series is to make the ansible code generic enough that object creation is data driven and not code driven. Change the input data and the ansible scripts should take care of configuring only the required objects.

 

Details :

 

Admininstrator should have basic knowledge of below to start with

 

1) Ansible

 

    a) Installation         
    b) Running playbook         
    c) Ansible Tasks and Roles         
    d) Ansible variables and scope         
    e) Ansible Inventory         
    f) Ansible uri module

2) iControl REST API

 

     a) Understandings of iControl REST API
     b) How to retrieve objects using GET
     c) How to create/update object using POST/PUT
     d) How to navigate through REST APIs

References:

 

1) Install Ansible and F5 dependendies
   https://clouddocs.f5.com/products/orchestration/ansible/devel/usage/getting_started.html
2) Run your first BIG-IP playbook with F5 ansible modules
   https://clouddocs.f5.com/products/orchestration/ansible/devel/usage/playbook_tutorial.html
   https://clouddocs.f5.com/products/orchestration/ansible/devel/usage/connection-local-or-delegate-to.html
3) Understanding variables and Inventory in Ansibles
   https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html
   https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html       
4) Understanding of uri module
   https://docs.ansible.com/ansible/latest/modules/uri_module.htmluri-module

5) Understanding of iControl REST API       
   iControl REST Home page contains all the required links to understand iControl REST in details. No need to go over the code samples presenented in the series
   https://devcentral.f5.com/wiki/iControlREST.HomePage.ashx

   iControl REST API Guide for 12.0.0
   https://devcentral.f5.com/d/the-user-guide-for-the-icontrol-rest-interface-in-big-ip-version-120

   iControl API Reference properties of each object with which parameter is mandatory and which is optional 
   https://devcentral.f5.com/wiki/iControlREST.APIRef_tm_ltm.ashx

4) Integrations of F5 and ansible 
   This articles covers the link to all articles including how to install ansible and how to start using ansible with existing simple modules
   https://devcentral.f5.com/articles/automate-big-ip-in-customer-environments-using-ansible-27601

5) On demand F5 related videos in Ansible

   a) https://www.ansible.com/resources/webinars-training/automating-f5-big-ip-using-ansible
   b) https://www.ansible.com/resources/webinars-training/fast-application-deployment-custer-use-case-with-ansible-f5-big-ip
   c) https://www.ansible.com/resources/webinars-training/wwt-building-a-f5-solution-with-ansible-tower
   d) https://www.ansible.com/resources/webinars-training/tackling-big-ip-blue-green-deployments-in-private-cloud-f5
No RepliesBe the first to reply