Ansible to apply hardware provisioning.
Full documentation on readthedocs.
Source code on Repository.
Hardware provisioning for razor.
- To install and execute:
ansible-galaxy install rngkll.krazor ansible localhost -m include_role -a name=rngkll.krazor -K
- Passing variables:
ansible localhost -m include_role -a name=rngkll.krazor -K \ -e "upgrade: false"
- To include the role on a playbook:
- hosts: servers roles: - {role: rngkll.krazor}
- To include the role as dependency on another role:
dependencies: - role: rngkll.krazor upgrade: true
- To use the role from tasks:
- name: Execute role task. import_role: name: rngkll.krazor vars: upgrade: true
- To run tests:
cd krazor chmod +x testme.sh ./testme.shOn some tests you may need to use sudo to succeed.
The following variables are supported:
Boolean variable that defines if a system full upgrade is performed or not.
If set to true a full system upgrade is executed.
This variable is set to true by default.
# Including from terminal. ansible localhost -m include_role -a name=rngkll.krazor -K -e \ "upgrade=false" # Including on a playbook. - hosts: servers roles: - role: rngkll.krazor upgrade: false # To a playbook from terminal. ansible-playbook -i tests/inventory tests/test-playbook.yml -K -e \ "upgrade=false"
Absolute file path or URL to a .yml file that contains all or some of the variables supported by this role.
It is recommended to use a .yml or .yaml extension for the configuration file.
This variable is empty by default.
# Using file path. ansible localhost -m include_role -a name=rngkll.krazor -K -e \ "configuration=/home/username/my-config.yml" # Using URL. ansible localhost -m include_role -a name=rngkll.krazor -K -e \ "configuration=https://my-url/my-config.yml"
To see how to write a configuration file see the YAML file format section.
When passing configuration files to this role as parameters, it’s recommended to add a .yml or .yaml extension to the each file.
It is also recommended to add three dashes at the top of each file:
---
You can include in the file the variables required for your tasks:
--- upgrade: - true
If you want this role to load list of items from files and URLs you can set the expand variable to true:
--- upgrade: /home/username/my-config.yml expand: true
If the expand variable is false, any file path or URL found will be treated like plain text.
If you want to run the tests, you will also need:
MIT. See the LICENSE file for more details.
The full project structure is shown below:
The project data flow is shown below:
Jaquerespeis.