Refactoring the MySQL role

Our existing MySQL role installs and configures only the server. More often than not, all we need to do is just install the MySQL client package and not the server. We don't have the ability to selectively do so.

Note

The scenario:

We have been tasked to refactor the MySQL role and make it conditionally install the MySQL server based on a variable value. By default, it should just install MySQL client packages.

Boolean variables could be useful to set up an an on/off switch. We will add a variable and set its default value to false. This time, we will create a multilevel variable or a nested hash.

Multilevel variable dictionaries

So far, we have been naming variables as mysql_bind, mysql_port, and so on and using an underscore ...

Get Ansible Playbook Essentials now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.