bin/update
changeset 550 773c91a7547a
parent 549 d2fdfe98b7b9
child 551 647f6de0d0ac
equal deleted inserted replaced
549:d2fdfe98b7b9 550:773c91a7547a
    21 REVERSE_DOMAIN=paivola.fi
    21 REVERSE_DOMAIN=paivola.fi
    22 
    22 
    23 
    23 
    24 NAMED_CHECKZONE=/usr/sbin/named-checkzone
    24 NAMED_CHECKZONE=/usr/sbin/named-checkzone
    25 HG=hg
    25 HG=hg
       
    26 RNDC=/usr/sbin/rndc
    26 
    27 
    27 ## options
    28 ## options
    28 IS_TTY=
    29 IS_TTY=
    29 
    30 
    30 LOG=y
    31 LOG=y
    37 UPDATE_DIFF=
    38 UPDATE_DIFF=
    38 SERIAL_NOUPDATE=
    39 SERIAL_NOUPDATE=
    39 COMMIT_SKIP=
    40 COMMIT_SKIP=
    40 COMMIT_FORCE=
    41 COMMIT_FORCE=
    41 COMMIT_MSG=' '
    42 COMMIT_MSG=' '
       
    43 
       
    44 DEPLOY_SKIP=
    42 
    45 
    43 function help_args {
    46 function help_args {
    44     local prog=$1
    47     local prog=$1
    45 
    48 
    46     cat <<END
    49     cat <<END
    94                 UPDATE_NOOP=y 
    97                 UPDATE_NOOP=y 
    95                 # implies -Sp
    98                 # implies -Sp
    96                 UPDATE_DIFF=y
    99                 UPDATE_DIFF=y
    97                 SERIAL_NOUPDATE=y
   100                 SERIAL_NOUPDATE=y
    98                 COMMIT_SKIP=y
   101                 COMMIT_SKIP=y
       
   102                 DEPLOY_SKIP=y
    99                 ;;
   103                 ;;
   100 
   104 
   101             C)  COMMIT_SKIP=y ;;
   105             C)  COMMIT_SKIP=y ;;
   102             c)  COMMIT_FORCE=y ;;
   106             c)  COMMIT_FORCE=y ;;
   103             m)  COMMIT_MSG="$OPTARG" ;;
   107             m)  COMMIT_MSG="$OPTARG" ;;
   430         
   434         
   431         exit 1
   435         exit 1
   432     fi
   436     fi
   433 }
   437 }
   434 
   438 
       
   439 # deploy new zone data to bind
       
   440 function deploy_zones {
       
   441     cmd $RNDC reload
       
   442 }
       
   443 
   435 # commit data changes
   444 # commit data changes
   436 function hg_modified {
   445 function hg_modified {
   437     local repo=$1
   446     local repo=$1
   438 
   447 
   439     $HG -R $repo id | grep -q '+'
   448     $HG -R $repo id | grep -q '+'
   485     # test tty
   494     # test tty
   486     [ -t 1 ] && IS_TTY=y
   495     [ -t 1 ] && IS_TTY=y
   487 
   496 
   488     parse_args "$@"
   497     parse_args "$@"
   489 
   498 
       
   499     ## hosts
       
   500     # test
   490     log "Testing hosts..."
   501     log "Testing hosts..."
   491         check_hosts     $DATA/paivola.txt --check-exempt ufc
   502         check_hosts     $DATA/paivola.txt --check-exempt ufc
   492 
   503 
       
   504     # update
   493     log "Generating host zones..."
   505     log "Generating host zones..."
   494         update_hosts    $ZONES/internal/paivola.zone.hosts  $DATA/paivola.txt --forward-zone --forward-txt --forward-mx $FORWARD_MX
   506         update_hosts    $ZONES/internal/paivola.zone.hosts  $DATA/paivola.txt --forward-zone --forward-txt --forward-mx $FORWARD_MX
   495         update_hosts    $ZONES/external/paivola.zone.hosts  $DATA/paivola.txt --forward-zone
   507         update_hosts    $ZONES/external/paivola.zone.hosts  $DATA/paivola.txt --forward-zone
   496         update_hosts    $ZONES/paivola-reverse.zone.hosts   $DATA/paivola.txt --reverse-zone $REVERSE_ZONE --reverse-domain $REVERSE_DOMAIN
   508         update_hosts    $ZONES/paivola-reverse.zone.hosts   $DATA/paivola.txt --reverse-zone $REVERSE_ZONE --reverse-domain $REVERSE_DOMAIN
   497 
   509 
       
   510     ## zones
       
   511     # parts
   498     log "Copying zone parts..."
   512     log "Copying zone parts..."
   499         update_zone_part    paivola         auto
   513         update_zone_part    paivola         auto
   500         update_zone_part    paivola         services
   514         update_zone_part    paivola         services
   501         update_zone_part    paivola         internal
   515         update_zone_part    paivola         internal
   502         update_zone_part    paivola         external
   516         update_zone_part    paivola         external
   503 
   517 
   504 
   518     # serials
   505     if [ $SERIAL_NOUPDATE ]; then
   519     if [ $SERIAL_NOUPDATE ]; then
   506         log "Updating serials: skipped"
   520         log "Updating serials: skipped"
   507 
   521 
   508     else
   522     else
   509         log "Updating serials..."
   523         log "Updating serials..."
   510 
   524 
   511         update_zone_serial  paivola
   525         update_zone_serial  paivola
   512         update_zone_serial  paivola-reverse
   526         update_zone_serial  paivola-reverse
   513     fi
   527     fi
   514 
   528 
   515 
   529     # headers
   516     log "Updating zones headers..."
   530     log "Updating zones headers..."
   517         update_zone         paivola-reverse
   531         update_zone         paivola-reverse
   518         update_zone_view    paivola             internal
   532         update_zone_view    paivola             internal
   519         update_zone_view    paivola             external
   533         update_zone_view    paivola             external
   520 
   534 
       
   535     # test
   521     log "Testing zones..."
   536     log "Testing zones..."
   522         check_zone          paivola.fi                  $ZONES/external/paivola.zone
   537         check_zone          paivola.fi                  $ZONES/external/paivola.zone
   523         check_zone          paivola.fi                  $ZONES/external/paivola.zone
   538         check_zone          paivola.fi                  $ZONES/external/paivola.zone
   524         check_zone          235.197.194.in-addr.arpa    $ZONES/paivola-reverse.zone
   539         check_zone          235.197.194.in-addr.arpa    $ZONES/paivola-reverse.zone
   525 
   540 
   526     # XXX: deploy
   541     ## deploy
   527 
   542     if [ $DEPLOY_SKIP ]; then
       
   543         log "Deploy zones: skipped"
       
   544 
       
   545     else
       
   546         log "Deploy zones..."
       
   547 
       
   548         deploy_zones
       
   549     fi
       
   550 
       
   551     ## commit
   528     if [ $COMMIT_SKIP ] && [ ! $COMMIT_FORCE ]; then
   552     if [ $COMMIT_SKIP ] && [ ! $COMMIT_FORCE ]; then
   529         log "Commit data: skipped"
   553         log "Commit data: skipped"
   530 
   554 
   531     else
   555     else
   532         log "Commit data..."
   556         log "Commit data..."