# HG changeset patch # User Tero Marttila # Date 1332152332 -7200 # Node ID 773c91a7547aeacbd0386a0ee3e3a974713477cd # Parent d2fdfe98b7b92ed478274e37c8d210eb6e29a6c7 update: deploy_zones diff -r d2fdfe98b7b9 -r 773c91a7547a bin/update --- 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"