project-config/nodepool/scripts/restrict_memory.sh
Ian Wienand e2bf99eb12 Use full path to grub2-mkconfig
Current centos7 builds on hpcloud are failing calling grub2-mkconfig;
from the logs:

 + sudo grub2-mkconfig -o /boot/grub2/grub.cfg
 sudo: grub2-mkconfig: command not found

To be completely honest, I'm having a hard time explaining why this
works with rackspace images, but not hpcloud ones.  I can not
replicate this in my own setup, even using the same hpcloud images.
Possibly it's something to do with the nodepool host environment when
it starts the script on the remote host?  Without access to a failing
host I'm clutching at straws...

Change-Id: I9d9f759fac1a96cc785354ae5aa44398c908704d
2014-10-29 16:06:17 +11:00

35 lines
1.3 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.
# 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
sudo 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
sudo update-grub
else
# If update-grub isn't available, use grub2-mkconfig directly
sudo /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
fi
elif [ -f /boot/grub/grub.conf ] ; then
sudo sed -i -e 's/^timeout=[0-9]\+/timeout=0/' -e 's/\(^\s\+kernel.*\)/\1 mem=8G/' /boot/grub/grub.conf
fi
sync
sleep 5