blob: 6fa0c1d25711ac38c386ee66dc230c4cb43c4c1e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# Copyright (c) 2017 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
- name: find boot grub.cfg
find:
paths: /boot
file_type: file
patterns: 'grub*.cfg'
recurse: yes
register: grub_files
- name: check if hugepages are already enabled
command: "grep -o 'default_hugepagesz=' {{ item.path }}"
register: hugepage_enabled
ignore_errors: True
with_items: "{{ grub_files.files }}"
- name: add hugepages to grub manually because we can't run update-grub in chroot
replace:
dest: "{{ item.path }}"
regexp: '(linux\s+/boot/vmlinuz.*$)'
replace: '\1 default_hugepagesz={{ huge_pagesize_short[huge_pagesize_mb] }} hugepagesz={{ huge_pagesize_short[huge_pagesize_mb] }} hugepages={{ num_hugepages }}'
with_items: "{{ grub_files.files }}"
# we suppose consistent /boot/grub/grub.cfg files
when: hugepage_enabled['results'][0].stdout == ""
|