Beaker¶
The Beaker (bkr) provider manages a single resource, bkr_server.
bkr_server¶
Beaker instances are provisioned using this resource.
The ansible modules for beaker are written and bundled as part of LinchPin.
Topology Schema¶
Within Linchpin, the bkr_server resource_definition has more options than what are shown in the examples above. For each bkr_server role definition, the following options are available.
| Parameter | required | type | ansible value | default |
|---|---|---|---|---|
| role | true | string | N/A | |
| whiteboard | false | string | whiteboard | Provisioned by LinchPin |
| job_group | false | string | job_group | |
| cancel_message | false | string | cancel_message | |
| max_attempts | false | string | max_attempts | |
| attempt_wait_time | false | integer | attempt_wait_time | |
| recipesets | false | string | recipesets | see table below |
recipesets¶
Because recipesets is how beaker requests systems, it’s a large part of what the topology schema includes. There are several ways to request systems. This table describes the available recipesets options.
| Parameter | required | type | sub-field layout options | ||
|---|---|---|---|---|---|
| distro | false | string | N/A | ||
| family | false | string | N/A | ||
| tags | false | list | list of strings | ||
| name | false | string | N/A | ||
| arch | false | string | N/A | ||
| variant | false | string | N/A | ||
| bkr_data | false | string | N/A | ||
| method | false | string | N/A | ||
| count | false | string | N/A | ||
| ids | false | list | N/A | ||
| taskparam | false | list | list of strings | ||
| keyvalue | false | list | list of strings | ||
| hostrequires | false | list | param | required | type |
| tag | true | string | |||
| op | false | string | |||
| value | false | int / string | |||
| type | false | string | |||
| dict | force | false | string | ||
| dict | rawxml | false | string | ||
| reserve_duration | false | int | N/A | ||
| repos | false | list | dict baseurl | ||
| install | false | list | list of strings | ||
Additional Dependencies¶
The beaker resource group requires several additional dependencies. The following must be installed.
- beaker-client>=23.3
It is also recommended to install the python bindings for kerberos.
- python-krbV
For a Fedora 26 machine, the dependencies could be installed using dnf.
$ sudo dnf install python-krbV
$ wget https://beaker-project.org/yum/beaker-server-Fedora.repo
$ sudo mv beaker-server-Fedora.repo /etc/yum.repos.d/
$ sudo dnf install beaker-client
Alternatively, with pip, possibly within a virtual environment.
$ pip install linchpin[beaker]
Credentials Management¶
Beaker provides several ways to authenticate. LinchPin supports these methods.
- Kerberos
- OAuth2
Note
LinchPin doesn’t support the username/password authentication mechanism. It’s also not recommended by the Beaker Project, except for initial setup.