Forum Discussion
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
Recent Discussions
Related Content
* 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