2020-06-03 16:03:30 +02:00
# [grub](#grub)
2020-05-18 13:51:01 +02:00
Configure grub on your system.
2021-01-18 09:58:46 +01:00
|GitHub|GitLab|Quality|Downloads|Version|
|------|------|-------|---------|-------|
|[](https://github.com/robertdebock/ansible-role-grub/actions)|[](https://gitlab.com/robertdebock/ansible-role-grub)|[](https://galaxy.ansible.com/robertdebock/grub)|[](https://galaxy.ansible.com/robertdebock/grub)|[](https://github.com/robertdebock/ansible-role-grub/releases/)|
2020-05-18 13:51:01 +02:00
2020-06-03 16:03:30 +02:00
## [Example Playbook](#example-playbook)
2020-05-18 13:51:01 +02:00
2021-09-06 16:37:41 +02:00
This example is taken from `molecule/default/converge.yml` and is tested on each push, pull request and release.
2020-05-18 13:51:01 +02:00
```yaml
---
- name: Converge
hosts: all
become: yes
gather_facts: yes
roles:
- role: robertdebock.grub
grub_options:
- option: cgroup_enable
value: memory
2020-06-22 19:36:30 +02:00
- option: systemd.unified_cgroup_hierarchy
value: 0
2020-05-18 13:51:01 +02:00
```
2021-09-15 10:44:50 +02:00
The machine needs to be prepared. In CI this is done using `molecule/default/prepare.yml` :
2020-05-18 13:51:01 +02:00
```yaml
---
- name: prepare
hosts: all
become: yes
gather_facts: no
roles:
- role: robertdebock.bootstrap
tasks:
2020-05-19 10:38:25 +02:00
- name: make /etc/default
2021-03-31 09:26:58 +02:00
ansible.builtin.file:
2020-05-19 10:38:25 +02:00
path: /etc/default
state: directory
2020-09-22 20:46:40 +02:00
mode: "0755"
2021-10-11 17:15:02 +02:00
2020-05-18 13:51:01 +02:00
- name: place bogus /etc/default/grub
2021-03-31 09:26:58 +02:00
ansible.builtin.copy:
2020-05-18 13:51:01 +02:00
content: 'GRUB_CMDLINE_LINUX="a=1"'
dest: /etc/default/grub
2020-09-22 20:46:40 +02:00
mode: "0664"
2020-05-18 13:51:01 +02:00
```
Also see a [full explanation and example ](https://robertdebock.nl/how-to-use-these-roles.html ) on how to use these roles.
2020-06-03 16:03:30 +02:00
## [Role Variables](#role-variables)
2020-05-18 13:51:01 +02:00
2021-09-15 10:44:50 +02:00
The default values for the variables are set in `defaults/main.yml` :
2020-05-18 13:51:01 +02:00
```yaml
---
# defaults file for grub
grub_timeout: 5
2020-08-23 15:22:37 +02:00
grub_recordfail_timeout: "{{ grub_timeout }}"
2020-05-18 13:51:01 +02:00
# Add options here, for example:
# grub_options:
# - option: cgroup_enable
# value: memory
```
2020-06-03 16:03:30 +02:00
## [Requirements](#requirements)
2020-05-18 13:51:01 +02:00
2020-12-11 14:08:16 +01:00
- pip packages listed in [requirements.txt ](https://github.com/robertdebock/ansible-role-grub/blob/master/requirements.txt ).
2020-05-18 13:51:01 +02:00
2021-09-15 10:44:50 +02:00
## [Status of used roles](#status-of-requirements)
2020-05-18 13:51:01 +02:00
2021-09-15 10:44:50 +02:00
The following roles are used to prepare a system. You can prepare your system in another way.
2020-12-11 14:08:16 +01:00
2021-01-18 09:58:46 +01:00
| Requirement | GitHub | GitLab |
2020-11-06 08:35:09 +01:00
|-------------|--------|--------|
2021-03-28 12:50:56 +02:00
|[robertdebock.bootstrap](https://galaxy.ansible.com/robertdebock/bootstrap)|[](https://github.com/robertdebock/ansible-role-bootstrap/actions)|[](https://gitlab.com/robertdebock/ansible-role-bootstrap)|
2020-05-18 13:51:01 +02:00
2020-06-03 16:03:30 +02:00
## [Context](#context)
2020-05-18 13:51:01 +02:00
This role is a part of many compatible roles. Have a look at [the documentation of these roles ](https://robertdebock.nl/ ) for further information.
Here is an overview of related roles:
2021-01-12 10:41:22 +01:00

2020-05-18 13:51:01 +02:00
2020-06-03 16:03:30 +02:00
## [Compatibility](#compatibility)
2020-05-18 13:51:01 +02:00
2020-05-31 05:52:05 +02:00
This role has been tested on these [container images ](https://hub.docker.com/u/robertdebock ):
2020-05-18 13:51:01 +02:00
|container|tags|
|---------|----|
2020-07-23 07:31:49 +02:00
|alpine|all|
2021-07-05 17:18:39 +02:00
|el|8|
2021-09-15 10:44:50 +02:00
|debian|all|
2020-10-27 21:37:42 +01:00
|fedora|all|
2020-07-23 07:31:49 +02:00
|opensuse|all|
2021-09-15 10:44:50 +02:00
|ubuntu|all|
2020-05-18 13:51:01 +02:00
2021-01-18 09:58:46 +01:00
The minimum version of Ansible required is 2.10, tests have been done to:
2020-05-18 13:51:01 +02:00
2020-10-01 16:36:49 +02:00
- The previous version.
2020-05-18 13:51:01 +02:00
- The current version.
- The development version.
If you find issues, please register them in [GitHub ](https://github.com/robertdebock/ansible-role-grub/issues )
2020-06-03 16:03:30 +02:00
## [License](#license)
2020-05-18 13:51:01 +02:00
Apache-2.0
2020-06-03 16:03:30 +02:00
## [Author Information](#author-information)
2020-05-18 13:51:01 +02:00
[Robert de Bock ](https://robertdebock.nl/ )
Please consider [sponsoring me ](https://github.com/sponsors/robertdebock ).