Quick start with EuroTower
- we configure the connection with a virtual machine, cloud etc.
- in the Credentials section, we also configure access to code management systems from where the playbook collections will be downloaded.
- we name the inventory, create a group and hosts that we want to manage.
- the project describes which jobs will be performed. Here we provide the paths to specific playbooks or a specific repository with the collection.
4. (Job) Templates
- the template combines all necessary settings to create an instance of a specific task (credential + inventory + project).
- particular tasks can be run individually or scheduled to run over time.
Glossary of terms for Ansible®/EuroTower
Credentials contain the credentials needed when running tasks on the machines we manage. Credentials are also used to import project content from code management systems (e.g. Git, Github / GitLab Personal Access Token).
Inventories (Ansible®, EuroTower)
Inventory is a collection of groups and hosts on which tasks can run. The inventory image in the EuroTower interface is a friendly representation of Ansible's® inventory file.
Playbook (Ansible®, EuroTower)
Playbooks are files in which the Ansible® code is saved. They are written in YAML format. Playbooks are one of the core features of Ansible® and come with organized lists of tasks that can be run multiple times in the correct order. Playbooks can contain both variables and tasks.
Modules are task units that Ansible® sends to remote machines. Modules are run by
/usr/bin/ansible-playbook (where multiple jobs use many different modules in combination). Modules can be implemented in any language, e.g. Perl, Bash or Ruby. Each module returns a JSON form. An important advantage of modules is that when they are executed on remote machines, the module files are deleted.
Roles provide a structure for fully independent or interdependent collections of variables, tasks, files, templates, and modules.
In Ansible® , the role is the main mechanism for splitting the playbook into multiple files. This simplifies the writing of complex playbooks, makes them easier to reuse and allows the administrator to logically break the playbook into reusable components. Each role is basically limited to a specific function or desired result along with all necessary steps to ensure that result in the role itself or in other roles listed as dependencies. It is not possible to perform a role directly because roles are elements of playbooks. There is no explicit assignment to which host a specific role will be applied. For this purpose, the top-level playbook is used. It acts as a bridge that connects the inventory hosts and the roles that should apply to them.
The project describes source code containing playbooks that can be run. The project can point to a Git repository (also Subversion®, Mercurial, and Red Hat® Insights). Playbooks can also be managed by placing them manually in the appropriate directory on the EuroTower server.
(Job) Template (EuroTower)
A job template is a definition and a set of parameters for running a job. The template aggregates all settings (credential, inventory, project, verbosity, etc.), specifies the job type (‘run’ or ‘check’) and creates an instance of a specific job, along with the ability to schedule execution at a specific time or periodically.
The templates are helpful for running the same job multiple times and using the content of the Ansible® playbook when collaborating with different teams.
It is a single job instance that contains a set of settings and details created with the job templates. There can be multiple jobs created with the same template but with different settings (e.g. run/check).
Collection (Ansible®, EuroTower)
Collections are the content distribution format for Ansible®. Collections can include items such as playbooks, roles, modules, and plugins. Modules that are moved from the basic Asible repository to the collection also have their documentation migrated to the collection. Collections can be installed and used via Ansible® Galaxy.
Ansible® Galaxy (Ansible®, EuroTower)
Ansible® Galaxy is a website offering a free catalog of community-provided and ready-to-use collections. The Galaxy home page is https://galaxy.ansible.com/.