From 865dd398b8bc0e37f795c754b7f28660eb853d09 Mon Sep 17 00:00:00 2001 From: Ross Brattain Date: Tue, 5 Sep 2017 18:37:30 -0700 Subject: ansible: add grub.cfg hugepages regexp replace when building the image in chroot we can't run update-grub of grub-mkconfig because both commands probe for root partitions, which doesn't work in the chroot. Instead we manually regexp replace the kernel boot line in /boot/**/grub*.cfg Change-Id: I31fac2a3db4d1d044f11357b1715119066509676 Signed-off-by: Ross Brattain --- .../roles/enable_hugepages_on_boot/tasks/main.yml | 4 +++ .../tasks/manual_modify_grub.yml | 35 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 ansible/roles/enable_hugepages_on_boot/tasks/manual_modify_grub.yml (limited to 'ansible') diff --git a/ansible/roles/enable_hugepages_on_boot/tasks/main.yml b/ansible/roles/enable_hugepages_on_boot/tasks/main.yml index c5c615bb3..29432d2e4 100755 --- a/ansible/roles/enable_hugepages_on_boot/tasks/main.yml +++ b/ansible/roles/enable_hugepages_on_boot/tasks/main.yml @@ -58,3 +58,7 @@ - service: name: procps enabled: yes + +- include: manual_modify_grub.yml + # only tested on Ubuntu, kernel line is probably different on other distros + when: ansible_distribution == "Ubuntu" diff --git a/ansible/roles/enable_hugepages_on_boot/tasks/manual_modify_grub.yml b/ansible/roles/enable_hugepages_on_boot/tasks/manual_modify_grub.yml new file mode 100644 index 000000000..cac10e80e --- /dev/null +++ b/ansible/roles/enable_hugepages_on_boot/tasks/manual_modify_grub.yml @@ -0,0 +1,35 @@ +# 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: added hugepages to grub manually because we can't run update-grub in chroot + replace: + dest: "{{ item.path }}" + # console= should end the line + regexp: '(linux\s+/boot/vmlinuz.*console=\S+$)' + # default_hugepagesz=1G hugepagesz=1G hugepages=8 + 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 }}" + + + + -- cgit 1.2.3-korg