--- a/lib/update.args Tue Mar 20 14:35:38 2012 +0200
+++ b/lib/update.args Tue Mar 20 14:40:14 2012 +0200
@@ -29,7 +29,8 @@
COMMIT_FORCE=
COMMIT_MSG=' '
-DEPLOY_SKIP=
+DEPLOY_NOOP=
+DEPLOY_FORCE=
## Output command-line argument help.
function help_args {
@@ -59,6 +60,10 @@
-C do not commit changes
-c commit changes
-m MSG commit message
+
+Deploy:
+ -R do not reload zones
+ -r force reload zones
END
}
@@ -66,7 +71,7 @@
function parse_args {
OPTIND=1
- while getopts 'hd:qvDVpFSsnCcm:' opt "$@"; do
+ while getopts 'hd:qvDVpFSsnCcm:Rr' opt "$@"; do
case $opt in
h)
help_args $0
@@ -102,12 +107,15 @@
UPDATE_DIFF=y
SERIAL_NOUPDATE=y
COMMIT_SKIP=y
- DEPLOY_SKIP=y
+ DEPLOY_NOOP=y
;;
C) COMMIT_SKIP=y ;;
c) COMMIT_FORCE=y ;;
m) COMMIT_MSG="$OPTARG" ;;
+
+ R) DEPLOY_NOOP=y ;;
+ r) DEPLOY_FORCE=y ;;
?)
die
--- a/lib/update.operations Tue Mar 20 14:35:38 2012 +0200
+++ b/lib/update.operations Tue Mar 20 14:40:14 2012 +0200
@@ -217,6 +217,13 @@
fi
}
+# Run rndc reload
+function do_reload {
+ # run
+ indent " rndc: " \
+ $RNDC reload
+}
+
## Load update zonefiles into bind:
#
# deploy_zones
@@ -225,18 +232,24 @@
function deploy_zones {
local msg="Reload zones"
- if [ $DEPLOY_SKIP ]; then
- log_skip "$msg: skipped"
+ if [ $DEPLOY_FORCE ]; then
+ log_force "$msg..."
+
+ do_reload
+
+ elif [ $DEPLOY_NOOP ]; then
+ log_noop "$msg: skipped"
elif [ ! -r $RNDC_KEY ]; then
log_error " $msg: rndc: permission denied: $RNDC_KEY"
+ return 1
+
else
log_update "$msg..."
# run
- indent " rndc: " \
- $RNDC reload
+ do_reload
fi
}
## Commit changes in $DATA to version control: