This is a playbook to install an all-in-one beaker server & lab controller. It has been designed to be used with Distributed-CI but it can also be used independently of it.
You can download the role from Github with the following command:
git clone https://github.com/redhat-cip/ansible-playbook-dci-beaker/ cd ansible-playbook-dci-beaker
ansible-galaxy install -r requirements.yml -p roles/
Before applying the role, the following files need some configuration:
inventory: adjust the hostname and user of the machine to use as a beaker server
group_vars/all: adjust the values for admin user and lab setup (DHCP range, systems access)
You can skip Redhat subscription role by setting
role_redhat_subscription to false.
Call Ansible with the following command:
ansible-playbook -i inventory playbook.yml
For Ansible ≤ 2.5.6 users, you will face a problem with the
service_facts module. The solution is to skip the firewall tag:
ansible-playbook -i inventory playbook.yml --skip-tags=firewall
After running the playbook the first time, the credentials for services on the beaker server will be stored in the
credentials/ folder, unless the variables ared hardcoded in
Virtual machines can use the "virsh" power type. As the virtualization support in Beaker is based on libvirt tools, you might need to install additional packages (like libvirt-client). For more information, please refer to Beaker Project official documentation.
It is also possible to configure a virtual BMC to manage virtual machines using the IPMI protocol. For more information, please refer to Virtual BMC official documentation.