Add removal of grub boot timeouts back in
When we removed the restrict memory grub stuff because hpcloud was no longer in use we also removed the configuration updates that set the grub timeout to 0. This can save many seconds per instance boot purely waiting for grub to timeout and continue booting the host. Change-Id: I2d79ec4ebd55f927d868e06c8f00cf50f34f3b92
This commit is contained in:
parent
290916fed8
commit
90bc24b54f
39
nodepool/elements/nodepool-base/finalise.d/99-fix-grub-timeout
Executable file
39
nodepool/elements/nodepool-base/finalise.d/99-fix-grub-timeout
Executable file
@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
# 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.
|
||||
|
||||
# dib-lint: disable=setu setpipefail
|
||||
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
|
||||
set -x
|
||||
fi
|
||||
set -e
|
||||
|
||||
# Set grub timeout to zero to save boot time.
|
||||
if [ -f /etc/default/grub ] ; then
|
||||
sed -i -e 's/^GRUB_TIMEOUT=[0-9]\+/GRUB_TIMEOUT=0/' /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/' /boot/grub/grub.conf
|
||||
fi
|
31
nodepool/scripts/fix_grub_timeout.sh
Executable file
31
nodepool/scripts/fix_grub_timeout.sh
Executable file
@ -0,0 +1,31 @@
|
||||
#!/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.
|
||||
|
||||
# Set the grub timeout to 0.
|
||||
if [ -f /etc/default/grub ] ; then
|
||||
sudo sed -i -e 's/^GRUB_TIMEOUT=[0-9]\+/GRUB_TIMEOUT=0/' \
|
||||
/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/' \
|
||||
/boot/grub/grub.conf
|
||||
fi
|
@ -23,3 +23,5 @@ export THIN='false'
|
||||
export ALL_MYSQL_PRIVS='true'
|
||||
|
||||
./prepare_node.sh "$HOSTNAME"
|
||||
|
||||
./fix_grub_timeout.sh
|
||||
|
@ -40,3 +40,5 @@ sudo chown -R jenkins:jenkins $TEMPEST_DIR/preseed-streams
|
||||
|
||||
# Delete the venv after the script is called
|
||||
sudo rm -rf /opt/git/subunit2sql-env
|
||||
|
||||
./fix_grub_timeout.sh
|
||||
|
@ -24,3 +24,5 @@ export THIN='true'
|
||||
./prepare_node.sh "$HOSTNAME"
|
||||
sudo -u jenkins -i /opt/nodepool-scripts/prepare_devstack_virt_preview.sh \
|
||||
"$HOSTNAME"
|
||||
|
||||
./fix_grub_timeout.sh
|
||||
|
Loading…
x
Reference in New Issue
Block a user