Home > Servers > Systems Management > White Papers > Dell PowerEdge: Getting Started with Redfish Ansible Modules > Overview
Ansible is an open-source-provisioning, configuration-management, and application-deployment tool that enables IaC. Red Hat acquired Ansible in October 2015.
Ansible is popular for two primary reasons:
Both attributes make it easy to deploy and get started with Ansible.
In Ansible terminology, a list of tasks or scripts is called a playbook. A playbook describes the target end state of the configuration of the IT component being managed by Ansible. Playbooks are written in YAML and offer a repeatable, reusable, and simple configuration-management and multi-machine deployment system. Ansible does not use an internal database to store the content of the playbooks, making it easy to back them up. Most organizations store their playbooks within their version control tool.
Ansible is an extensible framework where the open-source community and vendors can create modules, also known as task plug-ins or library plug-ins. The plug-ins are reusable, stand-alone scripts that can be used by the Ansible API or by Ansible Playbooks. Modules are focused on offering functionalities for a specific configuration element. For instance, Ansible supports a user module, which allows playbooks to manage user configuration needs, such as changing passwords, creating users, changing a user’s group ownership, or even automatically generating SSH keys for the user.
Modules pertaining to the same component can be aggregated in a collection. Dell Technologies offers various collections for each of its products, such as PowerEdge, PowerMax, PowerFlex, and so on. Ansible collections are available on the Ansible Galaxy website: https://galaxy.ansible.com. The Dell Technologies collections are available at https://galaxy.ansible.com/dellemc.
You can deploy Ansible in multiple ways, depending on your needs. In the following sections, we review a few of the most popular installation approaches. Later, we deploy Ansible as a Python package. This method offers the benefit of not requiring the installation of specific software, which makes it a great option for those who want to test Ansible. It is installed in the same way as any Python package, using the Python package installer, pip.
Note: This paper assumes some level of familiarity with Python and pip.