update: deploy_zones
authorTero Marttila <terom@paivola.fi>
Mon, 19 Mar 2012 12:18:52 +0200
changeset 27 773c91a7547a
parent 26 d2fdfe98b7b9
child 28 647f6de0d0ac
update: deploy_zones
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"