a2551dfef6
Since grub isn't installed by DIB until finalise.d/51 we need to make sure the restrict-memory element happens after that, so it can find and alter the grub configs accordingly. Also make it apply the updated configuration, similar to how nodepool/scripts/restrict_memory.sh does it. Change-Id: I854f3bd1850594811cc8957f7a9263c33dfe6826
38 lines
1.4 KiB
Bash
Executable File
38 lines
1.4 KiB
Bash
Executable File
#!/bin/bash -xe
|
|
# Copyright (C) 2014 Hewlett-Packard Development Company, L.P.
|
|
#
|
|
# 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.
|
|
|
|
# This is done in 50 because the vm element has, at 51, an bunch of code
|
|
# for properly handling grub. All we need to do here is get our values
|
|
# in to the files.
|
|
|
|
set -e
|
|
|
|
# Limit all test slaves to 8GB of memory so that larger flavors with more
|
|
# cpu resources can be used without the risk of becoming dependent on more
|
|
# memory.
|
|
if [ -f /etc/default/grub ] ; then
|
|
sed -i -e 's/^GRUB_TIMEOUT=[0-9]\+/GRUB_TIMEOUT=0/' -e 's/#\?GRUB_CMDLINE_LINUX="/GRUB_CMDLINE_LINUX="mem=8G /g' /etc/default/grub
|
|
if which update-grub &> /dev/null ; then
|
|
update-grub
|
|
else
|
|
# If update-grub isn't available, use grub2-mkconfig directly
|
|
/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
|
|
fi
|
|
elif [ -f /boot/grub/grub.conf ] ; then
|
|
sed -i -e 's/^timeout=[0-9]\+/timeout=0/' -e 's/\(^\s\+kernel.*\)/\1 mem=8G/' /boot/grub/grub.conf
|
|
fi
|