--- a/bin/update Mon Mar 19 12:13:04 2012 +0200
+++ b/bin/update Mon Mar 19 12:18:52 2012 +0200
@@ -23,6 +23,7 @@
NAMED_CHECKZONE=/usr/sbin/named-checkzone
HG=hg
+RNDC=/usr/sbin/rndc
## options
IS_TTY=
@@ -40,6 +41,8 @@
COMMIT_FORCE=
COMMIT_MSG=' '
+DEPLOY_SKIP=
+
function help_args {
local prog=$1
@@ -96,6 +99,7 @@
UPDATE_DIFF=y
SERIAL_NOUPDATE=y
COMMIT_SKIP=y
+ DEPLOY_SKIP=y
;;
C) COMMIT_SKIP=y ;;
@@ -432,6 +436,11 @@
fi
}
+# deploy new zone data to bind
+function deploy_zones {
+ cmd $RNDC reload
+}
+
# commit data changes
function hg_modified {
local repo=$1
@@ -487,21 +496,26 @@
parse_args "$@"
+ ## hosts
+ # test
log "Testing hosts..."
check_hosts $DATA/paivola.txt --check-exempt ufc
+ # update
log "Generating host zones..."
update_hosts $ZONES/internal/paivola.zone.hosts $DATA/paivola.txt --forward-zone --forward-txt --forward-mx $FORWARD_MX
update_hosts $ZONES/external/paivola.zone.hosts $DATA/paivola.txt --forward-zone
update_hosts $ZONES/paivola-reverse.zone.hosts $DATA/paivola.txt --reverse-zone $REVERSE_ZONE --reverse-domain $REVERSE_DOMAIN
+ ## zones
+ # parts
log "Copying zone parts..."
update_zone_part paivola auto
update_zone_part paivola services
update_zone_part paivola internal
update_zone_part paivola external
-
+ # serials
if [ $SERIAL_NOUPDATE ]; then
log "Updating serials: skipped"
@@ -512,19 +526,29 @@
update_zone_serial paivola-reverse
fi
-
+ # headers
log "Updating zones headers..."
update_zone paivola-reverse
update_zone_view paivola internal
update_zone_view paivola external
+ # test
log "Testing zones..."
check_zone paivola.fi $ZONES/external/paivola.zone
check_zone paivola.fi $ZONES/external/paivola.zone
check_zone 235.197.194.in-addr.arpa $ZONES/paivola-reverse.zone
- # XXX: deploy
+ ## deploy
+ if [ $DEPLOY_SKIP ]; then
+ log "Deploy zones: skipped"
+ else
+ log "Deploy zones..."
+
+ deploy_zones
+ fi
+
+ ## commit
if [ $COMMIT_SKIP ] && [ ! $COMMIT_FORCE ]; then
log "Commit data: skipped"