bin/update
changeset 585 65bf391fd2f3
parent 584 22b58b938fd0
child 586 a88766722d18
equal deleted inserted replaced
584:22b58b938fd0 585:65bf391fd2f3
    30 
    30 
    31 DATA=settings
    31 DATA=settings
    32 ZONES=zones
    32 ZONES=zones
    33 SERIALS=$DATA
    33 SERIALS=$DATA
    34 
    34 
       
    35 DHCP=dhcp
    35 DHCP_DATA=$DATA/dhcp
    36 DHCP_DATA=$DATA/dhcp
    36 DHCP_HOSTS=dhcp
    37 
       
    38 # global DHCP conf to test
       
    39 DHCPD=/usr/sbin/dhcpd
       
    40 DHCPD_CONF=/etc/dhcp/dhcpd.conf
    37 
    41 
    38 # hg repo to commit
    42 # hg repo to commit
    39 REPO=$DATA
    43 REPO=$DATA
    40 
    44 
    41 ## Settings used in lib
    45 ## Settings used in lib
    90 DOMAIN_BASE=paivola
    94 DOMAIN_BASE=paivola
    91 
    95 
    92 # List of actual domains used; will be linked to $DOMAIN_BASE
    96 # List of actual domains used; will be linked to $DOMAIN_BASE
    93 DOMAINS=(paivola.fi paivola.net paivola.org paivola.info paivola.mobi xn--pivl-load8j.fi)
    97 DOMAINS=(paivola.fi paivola.net paivola.org paivola.info paivola.mobi xn--pivl-load8j.fi)
    94 
    98 
       
    99 # Names of dhcp hosts files
       
   100 DHCP_HOSTS=(paivola veturi verstas)
    95 
   101 
    96 ## Operate!
   102 ## Operate!
    97 # these functions are all defined in lib/update.operations
   103 # these functions are all defined in lib/update.operations
       
   104 
       
   105 # Update $ZONES/$DHCP host-files from $DATA
    98 function run_hosts {
   106 function run_hosts {
    99     ## Hosts
   107     ## Hosts
   100     # test
   108     # test
   101     log "Testing hosts..."
   109     log "Testing hosts..."
   102         #                   data                            args...
   110         #                   data                            args...
   115 
   123 
   116         # XXX: unsupported --forward-zone with pvl.txt
   124         # XXX: unsupported --forward-zone with pvl.txt
   117         # update_hosts    $ZONES/hosts/pvl                    $DATA/pvl.txt      --forward-zone
   125         # update_hosts    $ZONES/hosts/pvl                    $DATA/pvl.txt      --forward-zone
   118         copy_hosts          $ZONES/hosts/pvl                $DATA/pvl.txt
   126         copy_hosts          $ZONES/hosts/pvl                $DATA/pvl.txt
   119 }
   127 }
   120  
   128 
       
   129 # Update $ZONES files
   121 function run_zones {
   130 function run_zones {
   122     ## Includes
   131     ## Includes
   123     log "Copying zone includes..."
   132     log "Copying zone includes..."
   124         #                   view            zone                    base
   133         #                   view            zone                    base
   125         copy_zone           includes        paivola:internal        paivola.zone.internal
   134         copy_zone           includes        paivola:internal        paivola.zone.internal
   177                 check_zone      $view       $zone           $zone
   186                 check_zone      $view       $zone           $zone
   178             done
   187             done
   179         done
   188         done
   180 }
   189 }
   181 
   190 
       
   191 # Update $DHCP files from $DATA/dhcp
       
   192 function run_dhcp {
       
   193     log "Linking DHCP hosts..."
       
   194         for hosts in "${DHCP_HOSTS[@]}"; do
       
   195             #                   hosts               base
       
   196             link_dhcp_hosts     $hosts
       
   197             check_dhcp_hosts    $hosts
       
   198         done
       
   199 
       
   200     log "Testing dhcp..."
       
   201         check_dhcp
       
   202 }
       
   203 
   182 function run_deploy {
   204 function run_deploy {
   183     ## Reload zones
   205     ## Reload zones
   184     log "Reload zones..."
   206     log "Reload zones..."
   185         reload_zones
   207         reload_zones
   186 
   208 
   194     # test tty
   216     # test tty
   195     [ -t 1 ] && IS_TTY=y
   217     [ -t 1 ] && IS_TTY=y
   196     
   218     
   197     parse_args "$@"
   219     parse_args "$@"
   198 
   220 
   199     ## test env
   221     ## Input dirs
   200     [ -d $ROOT/$DATA ] || die "Missing data: $ROOT/$DATA"
   222     [ -d $ROOT/$DATA ] || die "Missing data: $ROOT/$DATA"
   201     ensure_dir  $ZONES
       
   202     
   223     
   203     ## Output dirs
   224     ## Output dirs
       
   225     for dir in $DHCP $ZONES; do
       
   226         ensure_dir  $dir
       
   227     done
       
   228 
   204     for dir in "common" "hosts" "includes" "${VIEWS[@]}"; do
   229     for dir in "common" "hosts" "includes" "${VIEWS[@]}"; do
   205         ensure_dir $ZONES/$dir
   230         ensure_dir  $ZONES/$dir
   206     done
   231     done
   207 
   232 
   208     ## Go
   233     ## Go
   209     run_hosts
   234     run_hosts
   210     run_zones
   235     run_zones
       
   236     run_dhcp
   211     run_deploy
   237     run_deploy
   212 }
   238 }
   213 
   239 
   214 main "$@"
   240 main "$@"