From 4d5862053ef2f99d09507b2e9b702aca1229099a Mon Sep 17 00:00:00 2001 From: Mohit Mehta Date: Mon, 18 Apr 2011 18:00:48 -0700 Subject: * run start-up script vyatta-config-reboot-params very early in boot process This script executes scripts lying in the following directory: /opt/vyatta/bin/sudo-users/check-params-on-reboot.d Scripts in check-params-on-reboot.d are intended for parameters that require a reboot to take effect after they are set/changed. Because of the reboot requirement, underlying value and related config paramter value can become out-of-sync in couple of cases: 1. change parameter value, don't save config, reboot. Underlying value is different than the value in config file. 2. install new image; when new image boots, underlying value is the default Vyatta shipped value not the value in config file. More info: http://bugzilla.vyatta.com/show_bug.cgi?id=6915#c1 This check-in also adds ipv6_disable_blacklist script in check-params-on-reboot.d to fix the above mentioned problem for 'system ipv6 disable' and 'system ipv6 blacklist' --- etc/init.d/vyatta-config-reboot-params | 46 ++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 etc/init.d/vyatta-config-reboot-params (limited to 'etc/init.d') diff --git a/etc/init.d/vyatta-config-reboot-params b/etc/init.d/vyatta-config-reboot-params new file mode 100755 index 00000000..ad724b75 --- /dev/null +++ b/etc/init.d/vyatta-config-reboot-params @@ -0,0 +1,46 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: vyatta-config-reboot-params +# Required-Start: $local_fs +# X-Start-Before: module-init-tools +# Required-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Rectify underlying values for parameters requiring reboot. +# Description: This script runs very early in the boot process so that +# parameters requiring a reboot get set to the same value as +# in the config file. To show how the underlying value can +# be different than the parameter in config file, let's take +# the case of 'firewall conntrack-hash-size' which requires +# a reboot after it is changed to a different value: +# user sets conntrack-hash-size but doesn't save config; then +# on reboot conntrack module loads with a different value of +# conntrack-hash-size than parameter in config file. When +# config file loads at a later stage, underlying value for +# conntrack-hash-size gets set to parameter in config file +# but for that to take affect another reboot is required. +# More information about this is available at: +# http://bugzilla.vyatta.com/show_bug.cgi?id=6915#c1 +# When run, this script executes scripts placed in +# /opt/vyatta/bin/sudo-users/check-params-on-reboot.d where +# scripts for different parameters requiring a reboot should +# be placed. Scripts placed in check-params-on-reboot.d are +# responsible for making sure that the value in the config +# file matches the underlying value of the parameter. All +# scripts placed in check-params-on-reboot.d are passed +# the configuration boot file as an argument. +### END INIT INFO +# + +: ${vyatta_env:=/etc/default/vyatta} +source $vyatta_env + +declare -x BOOTFILE=$vyatta_sysconfdir/config/config.boot + +case "$1" in + start) ;; + stop|restart|force-reload|status) exit 0 ;; + *) echo "Usage: $0 {start|stop|restart|force-reload}" >&2; exit 1 ;; +esac + +run-parts -a $BOOTFILE /opt/vyatta/bin/sudo-users/check-params-on-reboot.d -- cgit v1.2.3