This repository contains the Ansible playbook, configuration, and customization for the OpenAFS Buildbot Coordinator. OpenAFS Buildbot hosting is generously provided by MIT.
The afsbotcfg.yml
playbook updates the buildbot coordinator. This
playbook imports the buildbot_master
role from the OpenAFS Buildbot
Collection to install and configure the buildbot coordinator.
The buildbot configuration is located in the YAML files under the inventory
directory. User and worker passwords are encrypted with ansible-vault
. The
buildbot master.cfg
file is generated by Ansible from the master.cfg.j2
template file.
Buildbot customization code is located in the src/afsbotcfg
directory. The
playbook creates the afsbotcfg
Python package from these source files and
installs the afsbotcfg
package on the buildbot.
Development and local testing is supported with Ansible Molecule. You will need a virtualization provider supported by Molecule (such as Vagrant) to run the Molecule tests. SSH to the buildbot nor the vault key are required to run the Molecule tests (except for the master-with-vault scenario).
- GNU Make
- Python 3.9+
- python-virtualenv package
- Ansible Collection
openafs_contrib.buildbot
Before running the playbook, create a Python virtualenv
and install the required Ansible and Molecule package versions in the
virtualenv. The setup
make target is provided to create the virtual
environment and install Ansible and Molecule packages in it. The buildbot is
not installed on the controller, and so buildbot packages are not need on your
local machine.
$ make setup [AFSBOTCFG_PYTHON=<path-to-python3>]
See Environment variables to specify local
configuration before running make setup
.
If you made any changes, run make test
to do a local lint check and Molecule
test before running the playbook.
$ make test
Run make ping
to check ssh connectivity with the buildbot.
$ make ping
Run make buildbot
to run the Ansible playbook.
$ make buildbot