use new var/dhcp/hosts layout with update_dhcp_conf dns-new
authorTero Marttila <terom@paivola.fi>
Thu, 19 Dec 2013 18:55:53 +0200
branchdns-new
changeset 91 acb2fb235eb2
parent 90 5b33ccac38ad
child 92 639a5093039b
use new var/dhcp/hosts layout with update_dhcp_conf
bin/update
lib/update.operations
--- a/bin/update	Thu Dec 19 03:08:19 2013 +0200
+++ b/bin/update	Thu Dec 19 18:55:53 2013 +0200
@@ -55,7 +55,7 @@
 
     log "Updating DHCP hosts..."
     for hosts in $(list_files etc/hosts); do
-        update_hosts_dhcp       "var/dhcp/$hosts.conf"              \
+        update_hosts_dhcp       "var/dhcp/hosts/$hosts.conf"        \
             "etc/hosts/$hosts"
     done
 
@@ -73,14 +73,19 @@
 
     log "Updating zone serials..."
     for zone in $(list_files etc/zones); do
-        update_serial       "var/serials/$zone"             "etc/zones/$zone" \
-            $(zone_includes var/include-cache/$zone etc/zones/$zone var/zones/)
+        update_serial       "var/serials/$zone"             \
+            "etc/zones/$zone" $(zone_includes var/include-cache/$zone etc/zones/$zone var/zones/)
     done
 
     log "Updating zones..."
     for zone in $(list_files etc/zones); do
         update_zone         "var/zones/$zone"               "etc/zones/$zone"       "var/serials/$zone"
     done
+
+    log "Updating DHCP confs..."
+    for conf in $(list_files etc/dhcp); do
+        update_dhcp_conf    "var/dhcp/$conf"                "etc/dhcp/$conf"
+    done
     
     ## Check
     log "Testing zones..."
@@ -88,7 +93,7 @@
         check_zone          "var/zones/$zone"       $zone
     done
 
-    log "Testing dhcp hosts..."
+    log "Testing DHCP confs..."
     for conf in var/dhcp/*.conf; do
         check_dhcp          $conf
     done
@@ -114,11 +119,13 @@
     done
     
     ## Output dirs
-    for dir in var var/dhcp var/zones var/serials var/include-cache; do
+    ensure_dir      var
+    for dir in var/dhcp var/zones var/serials var/include-cache; do
         ensure_dir  $dir
     done
-    
-    # sub-$ZONES
+    for dir in var/dhcp/hosts; do
+        ensure_dir  $dir
+    done
     for dir in var/zones/includes var/zones/hosts var/zones/reverse-hosts; do
         ensure_dir  $dir
     done
--- a/lib/update.operations	Thu Dec 19 03:08:19 2013 +0200
+++ b/lib/update.operations	Thu Dec 19 18:55:53 2013 +0200
@@ -185,6 +185,21 @@
     fi
 }
 
+## Generate dhcp confs from source using pvl.dhcp-conf:
+function update_dhcp_conf {
+    local out="$1"
+    local src="$2"
+
+    if check_update "$out" "$src"; then
+        log_update "Generating $out <- $src..."
+            
+        do_update "$out" $OPT/bin/pvl.dhcp-conf "$src" \
+            --include-path=$SRV/var/dhcp
+    else
+        log_skip "Generating $out <- $src: not changed"
+    fi
+}
+
 ## Test hosts zone for validity using pvl.hosts-check:
 #
 #   check_hosts     .../hosts