buluma.testing
Ansible role testing
Ping Ping Testing
| GitHub | Version | Issues | Pull Requests | Downloads |
|---|---|---|---|---|
Example Playbook
This example is taken from molecule/default/converge.yml and is tested on each push, pull request and release.
---
- name: Converge
hosts: all
become: yes
gather_facts: yes
roles:
# - role: buluma.systemd
# # - name: buluma.python_pip
# - role: buluma.sysctl
- role: buluma.testing
facts:
- key: datacenter
value: Nairobi
- key: availability_zone
value: west
The machine needs to be prepared. In CI this is done using molecule/default/prepare.yml:
---
- name: Prepare
hosts: all
become: yes
gather_facts: no
vars:
python_pip_executable: pip3
python_pip_update: yes
default_unit_state: "stopped"
default_unit_type: "service"
default_unit_enabled: "yes"
default_systemd_backup_files: true
roles:
- name: buluma.bootstrap
Also see a full explanation and example on how to use these roles.
Role Variables
The default values for the variables are set in defaults/main.yml:
---
# defaults file for ansible-role-testing
# Do you want to wait for the host to be available?
sudo_wait_for_host: no
# The number of seconds you want to wait during connection test before failing.
sudo_timeout: 3
powertools_repo_path: "/etc/yum.repos.d/{{ _powertools_repo_file[ansible_distribution] }}"
forensics_command_list:
- "journalctl -xe"
- "ps -ef"
- "lsof"
- "systemctl status"
- "netstat -an"
- "netstat -tulpen"
# A directory where collected data can be stored locally.
forensics_local_storage_path: /tmp/forensics
# A list of directories to collect all files from.
forensics_directory_list:
- "/var/log"
- "/tmp"
- "/var/tmp"
- "/var/spool/cron"
- "/var/spool/anacron"
- "/etc/cron.d"
- "/etc/cron.daily"
- "/etc/cron.hourly"
- "/etc/cron.monthly"
- "/etc/cron.weekly"
- "/var/spool/at"
# A list of files to collect.
forensics_file_list:
- "/etc/passwd"
- "/etc/group"
- "/etc/shadow"
# A list of directories and patterns to collect.
forensics_specific_file_list:
- path: "/root"
pattern: ".authorized_keys"
- path: "/root"
pattern: ".bash_history"
- path: "/root"
pattern: ".history"
- path: "/home"
pattern: ".authorized_keys"
- path: "/home"
pattern: ".bash_history"
- path: "/home"
pattern: ".history"
Requirements
- pip packages listed in requirements.txt.
State of used roles
The following roles are used to prepare a system. You can prepare your system in another way.
| Requirement | GitHub | Version |
|---|---|---|
| buluma.bootstrap | ||
| buluma.buildtools | ||
| buluma.core_dependencies | ||
| buluma.systemd | ||
| buluma.python_pip | ||
| buluma.sysctl |
Context
This role is a part of many compatible roles. Have a look at the documentation of these roles for further information.
Here is an overview of related roles:

Compatibility
This role has been tested on these container images:
| container | tags |
|---|---|
| Fedora | all |
The minimum version of Ansible required is 2.12, tests have been done to:
- The previous version.
- The current version.
- The development version.
If you find issues, please register them in GitHub
Changelog
License
Author Information
ansible-galaxy install buluma.testing