Ansible Overview
Ansible is a tool to automate servers configuration management. It is produced by Red Hat and its is open source software released under the terms of the GNU GPL.
It is entirely possible to use Ansible to automate MariaDB deployments and configuration. This page contains generic information for MariaDB users who want to learn, or evaluate, Ansible.
Design Principles
Ansible allows us to write playbooks that describe how our servers should be configured. Playbooks are lists of tasks.
Tasks are usually declarative. You don't explain how to do something, you declare what should be done.
Playbooks are idempotent. When you apply a playbook, tasks are only run if necessary.
Here is a task example:
- name: Install Perl package: name: perl state: present
"Install Perl" is just a description that will appear on screen when the task is applied. Then we use the package
module to declare that a package called "perl" should be installed. When we apply the playbook, if Perl is already installed nothing happens. Otherwise, Ansible installs it.
When we apply a playbook, the last information that appears on the screen is a recap like the following:
PLAY RECAP *************************************************************************************************** mariadb-01 : ok=6 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
This means that six tasks were already applied (so no action was taken), and two tasks were applied.