diff options
author | Ross Brattain <ross.b.brattain@intel.com> | 2017-09-05 18:37:30 -0700 |
---|---|---|
committer | Ross Brattain <ross.b.brattain@intel.com> | 2017-09-20 22:47:05 +0000 |
commit | 3c777566882949ee6ef1b12905abdb3cc13a68dd (patch) | |
tree | 55eb860a01bfe2bd536891b8e3761453f0e500ea | |
parent | 5525e551cfecc9ac653778f3f498502b6922f2a8 (diff) |
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 <ross.b.brattain@intel.com>
-rwxr-xr-x | ansible/roles/enable_hugepages_on_boot/tasks/main.yml | 4 | ||||
-rw-r--r-- | ansible/roles/enable_hugepages_on_boot/tasks/manual_modify_grub.yml | 35 |
2 files changed, 39 insertions, 0 deletions
diff --git a/ansible/roles/enable_hugepages_on_boot/tasks/main.yml b/ansible/roles/enable_hugepages_on_boot/tasks/main.yml index 6e7657a39..14316d2d9 100755 --- a/ansible/roles/enable_hugepages_on_boot/tasks/main.yml +++ b/ansible/roles/enable_hugepages_on_boot/tasks/main.yml @@ -53,3 +53,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 }}" + + + + |