Skip to content

F5Networks/f5-ansible

Repository files navigation

F5 BIG-IP Imperative Collection for Ansible

Build Status Shippable Status

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.

Releases

No releases published

Packages

No packages published

Languages