F5 BIG-IP Imperative Collection for Ansible
Important Warning
Do not use Heroku App link for accessing F5 slack channel. It is not owned/maintained/used by F5 anymore. You might be exposing yourself to security issues if you access this link thinking it to be the link to F5 slack channel.
Introduction
This repository is the source for F5 BIG-IP Imperative Collection for Ansible. The architecture of the modules makes inherent use of the BIG-IP REST APIs as well as the tmsh API where required.
This repository is an incubator for Ansible imperative modules. The modules in this repository may be broken due to experimentation or refactoring.
The F5 BIG-IP Modules for Ansible are freely provided to the open source community for automating BIG-IP device configurations.
If you want to download the stable modules, please install latest collection release found on galaxy: F5 Ansible Modules Collection.
Collections Daily Build
We offer a daily build of our most recent collection here. Please use this Collection to test the most recent Ansible module updates between releases.
Installing the Daily Build
ansible-galaxy collection install <collection name> -p ./collections
e.g.
ansible-galaxy collection install f5networks-f5_modules-devel.tar.gz -p ./collections
Note
"-p" is the location in which the collection will be installed. This location should be defined in the path for
ansible to search for collections. An example of this would be adding collections_paths = ./collections
to your ansible.cfg
Running latest devel in EE
We also offer a new method of running the collection inside Ansible's Execution Environment container. The advantage of such approach is that any required package dependencies and minimum supported Python versions are installed in an isolated container which minimizes any environment related issues during runtime. More information on EE can be found here [execenv]. Use the below requirements.yml file when building EE container:
collections:
- name: ansible.netcommon
version: ">=2.0.0"
- name: f5networks.f5_modules
source: https://github.com/F5Networks/f5-ansible-f5modules#ansible_collections/f5networks/f5_modules
type: git
version: devel
Note
When running the bigip_device_certificate module one might see errors related to establishing ssh connection,
one reason behind that could be ansible setting the ssh type to libssh, there are two ways to fix that,
first, set the environemnt variable ANSIBLE_NETWORK_CLI_SSH_TYPE=paramiko
while running the playbook.
The second way is to add ssh_type = paramiko
under section [persistent_connection]
in ansible.cfg
Support
F5 supports the F5 Imperative Collection for Ansible delivered in Ansible Galaxy. Please refer to the F5 Ansible Support Policy for details.
Bugs, Issues
Please file any bugs, questions, or enhancement requests by using Github Issues. For details, see Get Help.
Note
We no longer accept external code submissions.
Documentation
All documentation is available on clouddocs.f5.com. Changelog information available on Changelogs.
Python Version Change
Collection only supports python 3.6 and above, however F5 recommends Python 3.9 and above.
Your ideas
What types of modules do you want created? If you have a use case and can sufficiently describe the behavior you want to see, open an issue and we will hammer out the details.
If you've got the time, consider sending an email that introduces yourself and what you do. We love hearing about how you're using the F5 Modules for Ansible.
Note
We no longer accept external code submissions.
- Wojciech Wypior and the F5 team
Copyright
Copyright 2017-2023 F5 Networks Inc.
License
GPL V3
This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work.
See License.