File tree Expand file tree Collapse file tree 2 files changed +46
-0
lines changed Expand file tree Collapse file tree 2 files changed +46
-0
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ # Custom playbook to reset Boot Loader Specification (BLS) entries to resolve
3
+ # an issue with GRUB defaulting to an old kernel. This is adapted from a Bash
4
+ # script in diskimage-builder:
5
+ # https://opendev.org/openstack/diskimage-builder/src/branch/master/diskimage_builder/elements/rhel/post-install.d/03-reset-bls-entries
6
+
7
+ - name : Reset BLS entries
8
+ hosts : overcloud
9
+ become : true
10
+ tags :
11
+ - reset-bls-entries
12
+ tasks :
13
+ - name : Get machine ID
14
+ command : cat /etc/machine-id
15
+ register : machine_id
16
+ check_mode : false
17
+
18
+ - name : Find entries with wrong machine ID
19
+ ansible.builtin.find :
20
+ paths : /boot/loader/entries
21
+ patterns : " *.conf"
22
+ register : bls_entries
23
+ check_mode : false
24
+
25
+ # We set force to false to avoid replacing an existing BLS entry with the
26
+ # correct machine ID.
27
+ - name : Rename entries with wrong machine ID
28
+ copy :
29
+ src : " /boot/loader/entries/{{ item }}"
30
+ dest : " /boot/loader/entries/{{ item | ansible.builtin.regex_replace('^[a-f0-9]*', machine_id.stdout) }}"
31
+ force : false
32
+ remote_src : true
33
+ with_items : " {{ bls_entries.files | map(attribute='path') | reject('search', machine_id.stdout) | map('basename') }}"
34
+
35
+ - name : Remove entries with wrong machine ID
36
+ file :
37
+ path : " /boot/loader/entries/{{ item }}"
38
+ state : absent
39
+ with_items : " {{ bls_entries.files | map(attribute='path') | reject('search', machine_id.stdout) | map('basename') }}"
Original file line number Diff line number Diff line change
1
+ ---
2
+ fixes :
3
+ - |
4
+ Add a new ``reset-bls-entries.yml`` custom playbook which will rename
5
+ existing Boot Loader Specification (BLS) entries using the current machine
6
+ ID for each host. This should fix an issue with Grub not selecting the most
7
+ recent kernel during boot.
You can’t perform that action at this time.
0 commit comments