As many of you are aware, Red Hat Virtualization (RHV) provides ways to access its functionality via REST APIs or SDKs (Python, Java, Ruby), and recently Ansible has also joined this growing list.
Red Hat Virtualization 4.1 and later now includes support for the Ansible automation tool. Ansible can be used to configure systems, deploy software, and perform rolling updates. Ansible provides modules that allow you to
automate RHV post-installation tasks such as data center setup and configuration, managing users, or virtual machine operations. For more information about Ansible, see the Ansible documentation.
RHV also includes a number of Ansible roles that will help you configure and manage various parts of the RHV infrastructure. Ansible roles provide a method of modularizing Ansible code into smaller, reusable files that can be shared with other users.
Ansible is installed with Red Hat Virtualization Manager, and the roles and its accompanying documentation and examples can be installed separately. Documentation is available to help you get started using Ansible with the Ansible roles in RHV. See Automating Configuration Tasks using Ansible.
Note: Ansible Tower is a graphically enabled framework accessible through a web interface and REST APIs for Ansible. If you want support for Ansible Tower, then you must have an Ansible Tower license, which is not part of the Red Hat Virtualization subscription.
There are a multiple reasons to choose Ansible if you need an automation tool for RHV:
- It’s easier to learn than existing SDKs or Rest APIs.
I can vouch for this point; even with my limited programming knowledge, I found it easier to use and get started than existing tools. And even if you are someone that will use it on an ad-hoc basis, it’s simple enough that you come back later and use it with minimum fuss.
- Integration with other Ansible modules.
You only need to look at the list of Ansible modules to see how it can help you integrate or interact with other products.
- Lightweight and scalable.
Ansible is agentless and simply requires an SSH connection with the target systems. Ansible requires Python which is widely used in Linux distros.
- Automatically installed with RHVM 4.1 and later.
Ansible is automatically installed with Red Hat Virtualization Manager 4.1+, but it can also be installed on a separate machine using the RHV repositories. Alternatively, view the Ansible installation instructions for more information.
- Ansible Roles are available to help configure and manage various parts of the RHV infrastructure.
Red Hat provides multiple roles in the ovirt-ansible-roles package that can be used to manage various parts of the RHV infrastructure, which makes using Ansible even easier.
I encourage you to try RHV and Ansible if you have the proper RHV version. If you are not a RHV customer, feel free to download and install the 60-day evaluation version and start trying out some simple playbooks and roles for yourself.