bin/update
author Tero Marttila <terom@paivola.fi>
Fri, 10 May 2013 00:05:25 +0300
changeset 603 b58236f9ea7b
parent 602 87c5570a205f
child 605 26a307558602
permissions -rwxr-xr-x
process-zone: support AAAA/ip6.arpa for --reverse-zone, as well as implicit record names
525
aeb106b9487c update: update zonefiles
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     1
#!/bin/bash
aeb106b9487c update: update zonefiles
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     2
# vim: set ft=sh :
aeb106b9487c update: update zonefiles
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     3
aeb106b9487c update: update zonefiles
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     4
set -ue
aeb106b9487c update: update zonefiles
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     5
575
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
     6
# resolve $0 -> bin/update
551
647f6de0d0ac update: implement -d for $ROOT
Tero Marttila <terom@paivola.fi>
parents: 550
diff changeset
     7
self=$0
647f6de0d0ac update: implement -d for $ROOT
Tero Marttila <terom@paivola.fi>
parents: 550
diff changeset
     8
while [ -L $self ]; do
554
2b7aad3466c6 update: log_warn, -q; ensure_dir; link_zone paivola-reverse; indent error exit
Tero Marttila <terom@paivola.fi>
parents: 553
diff changeset
     9
    tgt=$(readlink $self)
2b7aad3466c6 update: log_warn, -q; ensure_dir; link_zone paivola-reverse; indent error exit
Tero Marttila <terom@paivola.fi>
parents: 553
diff changeset
    10
2b7aad3466c6 update: log_warn, -q; ensure_dir; link_zone paivola-reverse; indent error exit
Tero Marttila <terom@paivola.fi>
parents: 553
diff changeset
    11
    if [ "${tgt:0:1}" == "/" ]; then
2b7aad3466c6 update: log_warn, -q; ensure_dir; link_zone paivola-reverse; indent error exit
Tero Marttila <terom@paivola.fi>
parents: 553
diff changeset
    12
        self=$tgt
2b7aad3466c6 update: log_warn, -q; ensure_dir; link_zone paivola-reverse; indent error exit
Tero Marttila <terom@paivola.fi>
parents: 553
diff changeset
    13
    else
2b7aad3466c6 update: log_warn, -q; ensure_dir; link_zone paivola-reverse; indent error exit
Tero Marttila <terom@paivola.fi>
parents: 553
diff changeset
    14
        self=$(dirname $self)/$tgt
2b7aad3466c6 update: log_warn, -q; ensure_dir; link_zone paivola-reverse; indent error exit
Tero Marttila <terom@paivola.fi>
parents: 553
diff changeset
    15
    fi
551
647f6de0d0ac update: implement -d for $ROOT
Tero Marttila <terom@paivola.fi>
parents: 550
diff changeset
    16
done
647f6de0d0ac update: implement -d for $ROOT
Tero Marttila <terom@paivola.fi>
parents: 550
diff changeset
    17
600
b0c0e3e80c39 update: move zones/serials/dhcp to ./var; requires update -FR and bind/dhcpd config update
Tero Marttila <terom@paivola.fi>
parents: 599
diff changeset
    18
# root dir
b0c0e3e80c39 update: move zones/serials/dhcp to ./var; requires update -FR and bind/dhcpd config update
Tero Marttila <terom@paivola.fi>
parents: 599
diff changeset
    19
ROOT=$(dirname $(dirname $self))
525
aeb106b9487c update: update zonefiles
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    20
600
b0c0e3e80c39 update: move zones/serials/dhcp to ./var; requires update -FR and bind/dhcpd config update
Tero Marttila <terom@paivola.fi>
parents: 599
diff changeset
    21
BIN=$ROOT/bin
b0c0e3e80c39 update: move zones/serials/dhcp to ./var; requires update -FR and bind/dhcpd config update
Tero Marttila <terom@paivola.fi>
parents: 599
diff changeset
    22
LIB=$ROOT/lib
b0c0e3e80c39 update: move zones/serials/dhcp to ./var; requires update -FR and bind/dhcpd config update
Tero Marttila <terom@paivola.fi>
parents: 599
diff changeset
    23
VAR=$ROOT/var
575
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    24
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    25
## Data paths
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    26
# absolute path to data files; can be changed using -d
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    27
ROOT=$(pwd)
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    28
544
81cd07bc5f76 update: commit
Tero Marttila <terom@paivola.fi>
parents: 542
diff changeset
    29
DATA=settings
600
b0c0e3e80c39 update: move zones/serials/dhcp to ./var; requires update -FR and bind/dhcpd config update
Tero Marttila <terom@paivola.fi>
parents: 599
diff changeset
    30
ZONES=$VAR/zones
b0c0e3e80c39 update: move zones/serials/dhcp to ./var; requires update -FR and bind/dhcpd config update
Tero Marttila <terom@paivola.fi>
parents: 599
diff changeset
    31
SERIALS=$VAR/serials
575
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    32
600
b0c0e3e80c39 update: move zones/serials/dhcp to ./var; requires update -FR and bind/dhcpd config update
Tero Marttila <terom@paivola.fi>
parents: 599
diff changeset
    33
DHCP=$VAR/dhcp
584
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
    34
DHCP_DATA=$DATA/dhcp
585
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
    35
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
    36
# global DHCP conf to test
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
    37
DHCPD=/usr/sbin/dhcpd
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
    38
DHCPD_CONF=/etc/dhcp/dhcpd.conf
589
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
    39
DHCPD_INIT=/etc/init.d/isc-dhcp-server
584
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
    40
575
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    41
# hg repo to commit
572
755503f6fa93 update: move REPO back to $DATA
Tero Marttila <terom@paivola.fi>
parents: 571
diff changeset
    42
REPO=$DATA
525
aeb106b9487c update: update zonefiles
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    43
575
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    44
## Settings used in lib
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    45
# Hide files under repo in commit diff output..
573
fdb9e03e423d update: hide .serial changes in hg_diff
Tero Marttila <terom@paivola.fi>
parents: 572
diff changeset
    46
REPO_HIDE='*.serial'
fdb9e03e423d update: hide .serial changes in hg_diff
Tero Marttila <terom@paivola.fi>
parents: 572
diff changeset
    47
594
e0576a968171 update: hosts/dhcp files are actually utf-8 now
Tero Marttila <terom@paivola.fi>
parents: 593
diff changeset
    48
# data input charsets; arguments to ./bin/... python scripts
e0576a968171 update: hosts/dhcp files are actually utf-8 now
Tero Marttila <terom@paivola.fi>
parents: 593
diff changeset
    49
HOSTS_FILE_ARGS='--input-charset utf-8'
e0576a968171 update: hosts/dhcp files are actually utf-8 now
Tero Marttila <terom@paivola.fi>
parents: 593
diff changeset
    50
DHCP_FILE_ARGS='--input-charset utf-8'
525
aeb106b9487c update: update zonefiles
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    51
575
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    52
# External bins
533
26e789db3f72 update: named-checkzone
Tero Marttila <terom@paivola.fi>
parents: 532
diff changeset
    53
NAMED_CHECKZONE=/usr/sbin/named-checkzone
581
6292cb597954 update: hg trust root
Tero Marttila <terom@paivola.fi>
parents: 577
diff changeset
    54
554
2b7aad3466c6 update: log_warn, -q; ensure_dir; link_zone paivola-reverse; indent error exit
Tero Marttila <terom@paivola.fi>
parents: 553
diff changeset
    55
HG=/usr/bin/hg
581
6292cb597954 update: hg trust root
Tero Marttila <terom@paivola.fi>
parents: 577
diff changeset
    56
HG_ARGS=(--config trusted.users=root)
6292cb597954 update: hg trust root
Tero Marttila <terom@paivola.fi>
parents: 577
diff changeset
    57
550
773c91a7547a update: deploy_zones
Tero Marttila <terom@paivola.fi>
parents: 549
diff changeset
    58
RNDC=/usr/sbin/rndc
575
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    59
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    60
# Path to rndc key, must be readable to run..
569
3613e93e4fd7 update: rndc: fail if no read perms on $RNDC_KEY
Tero Marttila <terom@paivola.fi>
parents: 568
diff changeset
    61
RNDC_KEY=/etc/bind/rndc.key
533
26e789db3f72 update: named-checkzone
Tero Marttila <terom@paivola.fi>
parents: 532
diff changeset
    62
575
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    63
## Library includes
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    64
# Command-line argument handling
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    65
source $LIB/update.args
530
f4457348faa0 update: function update { ... }, color logging, update_serial
Tero Marttila <terom@paivola.fi>
parents: 525
diff changeset
    66
575
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    67
# Logging
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    68
source $LIB/update.logging
559
3208cd6540dc update: restructure zones/, manage .pvl
Tero Marttila <terom@paivola.fi>
parents: 555
diff changeset
    69
575
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    70
# Utility functions
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    71
source $LIB/update.utils
536
7d02a07e0354 update: check_hosts
Tero Marttila <terom@paivola.fi>
parents: 533
diff changeset
    72
575
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    73
# Dependency-based updates
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    74
source $LIB/update.updates
533
26e789db3f72 update: named-checkzone
Tero Marttila <terom@paivola.fi>
parents: 532
diff changeset
    75
577
b474e2e6f54e update: docdoc
Tero Marttila <terom@paivola.fi>
parents: 575
diff changeset
    76
# Operations; the functions called from run()
575
b68b8615c512 update: split out code into lib/update.foo
Tero Marttila <terom@paivola.fi>
parents: 574
diff changeset
    77
source $LIB/update.operations
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    78
589
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
    79
## Flags
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
    80
# set by do_reload_zone if zone data has actually been reloaded
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
    81
RELOAD_ZONES=
544
81cd07bc5f76 update: commit
Tero Marttila <terom@paivola.fi>
parents: 542
diff changeset
    82
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    83
## Site settings, used as arguments to scripts
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    84
# MX record to generate in hosts --forward-zone
598
a5186c5de712 drop --forward-mx from paivola zone; our mailserver isn't set up to handle mail for hosts
Tero Marttila <terom@paivola.fi>
parents: 596
diff changeset
    85
FORWARD_MX=mx0
530
f4457348faa0 update: function update { ... }, color logging, update_serial
Tero Marttila <terom@paivola.fi>
parents: 525
diff changeset
    86
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    87
# IP network to generate reverse records for in --reverse-zone
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    88
REVERSE_ZONE=194.197.235
561
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
    89
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    90
# Origin domain to generate reverse records for in --reverse-zone
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    91
REVERSE_DOMAIN=paivola.fi
551
647f6de0d0ac update: implement -d for $ROOT
Tero Marttila <terom@paivola.fi>
parents: 550
diff changeset
    92
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    93
# Views used
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    94
VIEWS=(internal external)
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    95
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    96
# Base domain zone for domains
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    97
DOMAIN_BASE=paivola
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    98
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
    99
# List of actual domains used; will be linked to $DOMAIN_BASE
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   100
DOMAINS=(paivola.fi paivola.net paivola.org paivola.info paivola.mobi xn--pivl-load8j.fi)
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   101
592
88a7683efc54 update: list_files to copy all DHCP_CONFS..
Tero Marttila <terom@paivola.fi>
parents: 589
diff changeset
   102
# Names of dhcp conf file names
88a7683efc54 update: list_files to copy all DHCP_CONFS..
Tero Marttila <terom@paivola.fi>
parents: 589
diff changeset
   103
DHCP_CONFS=( $(list_files $DHCP_DATA *.conf) )
577
b474e2e6f54e update: docdoc
Tero Marttila <terom@paivola.fi>
parents: 575
diff changeset
   104
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   105
## Operate!
577
b474e2e6f54e update: docdoc
Tero Marttila <terom@paivola.fi>
parents: 575
diff changeset
   106
# these functions are all defined in lib/update.operations
585
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   107
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   108
# Update $ZONES/$DHCP host-files from $DATA
584
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
   109
function run_hosts {
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   110
    ## Hosts
550
773c91a7547a update: deploy_zones
Tero Marttila <terom@paivola.fi>
parents: 549
diff changeset
   111
    # test
536
7d02a07e0354 update: check_hosts
Tero Marttila <terom@paivola.fi>
parents: 533
diff changeset
   112
    log "Testing hosts..."
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   113
        #                   data                            args...
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   114
        check_hosts         $DATA/paivola.txt               --check-exempt ufc
530
f4457348faa0 update: function update { ... }, color logging, update_serial
Tero Marttila <terom@paivola.fi>
parents: 525
diff changeset
   115
550
773c91a7547a update: deploy_zones
Tero Marttila <terom@paivola.fi>
parents: 549
diff changeset
   116
    # update
530
f4457348faa0 update: function update { ... }, color logging, update_serial
Tero Marttila <terom@paivola.fi>
parents: 525
diff changeset
   117
    log "Generating host zones..."
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   118
        #                   hosts                           data                args...
598
a5186c5de712 drop --forward-mx from paivola zone; our mailserver isn't set up to handle mail for hosts
Tero Marttila <terom@paivola.fi>
parents: 596
diff changeset
   119
        update_hosts        $ZONES/hosts/paivola:internal   $DATA/paivola.txt   --forward-zone --forward-txt
561
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   120
        update_hosts        $ZONES/hosts/paivola:external   $DATA/paivola.txt   --forward-zone
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   121
        update_hosts        $ZONES/hosts/194.197.235        $DATA/paivola.txt   --reverse-zone $REVERSE_ZONE --reverse-domain $REVERSE_DOMAIN
559
3208cd6540dc update: restructure zones/, manage .pvl
Tero Marttila <terom@paivola.fi>
parents: 555
diff changeset
   122
3208cd6540dc update: restructure zones/, manage .pvl
Tero Marttila <terom@paivola.fi>
parents: 555
diff changeset
   123
        
561
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   124
        update_hosts        $ZONES/hosts/10                 $DATA/pvl.txt       --reverse-zone 10 --reverse-domain pvl -q
602
87c5570a205f update: configure test.pvl zones
terom
parents: 600
diff changeset
   125
        update_hosts        $ZONES/hosts/10.0               $DATA/test.pvl.txt 	--reverse-zone 10.0 --reverse-domain test.pvl -q
603
b58236f9ea7b process-zone: support AAAA/ip6.arpa for --reverse-zone, as well as implicit record names
Tero Marttila <terom@paivola.fi>
parents: 602
diff changeset
   126
        update_hosts        $ZONES/hosts/fdc4:4cef:395a     $DATA/test.pvl.txt 	--reverse-zone fdc4:4cef:395a --reverse-domain test.pvl -q
561
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   127
        update_hosts        $ZONES/hosts/192.168            $DATA/pvl.txt       --reverse-zone 192.168 --reverse-domain pvl -q
559
3208cd6540dc update: restructure zones/, manage .pvl
Tero Marttila <terom@paivola.fi>
parents: 555
diff changeset
   128
561
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   129
        # XXX: unsupported --forward-zone with pvl.txt
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   130
        # update_hosts    $ZONES/hosts/pvl                    $DATA/pvl.txt      --forward-zone
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   131
        copy_hosts          $ZONES/hosts/pvl                $DATA/pvl.txt
602
87c5570a205f update: configure test.pvl zones
terom
parents: 600
diff changeset
   132
        copy_hosts          $ZONES/hosts/test.pvl           $DATA/test.pvl.txt
584
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
   133
}
585
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   134
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   135
# Update $ZONES files
584
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
   136
function run_zones {
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   137
    ## Includes
561
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   138
    log "Copying zone includes..."
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   139
        #                   view            zone                    base
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   140
        copy_zone           includes        paivola:internal        paivola.zone.internal
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   141
        copy_zone           includes        paivola:external        paivola.zone.external
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   142
        copy_zone           includes        paivola.auto            paivola.zone.auto
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   143
        copy_zone           includes        paivola.services        paivola.zone.services
599
7da14a2549f7 update: add paivola.aux include
Tero Marttila <terom@paivola.fi>
parents: 598
diff changeset
   144
        copy_zone           includes        paivola.aux             paivola.zone.aux
525
aeb106b9487c update: update zonefiles
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   145
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   146
    ## Serials
565
ef5bcc4145de debug with func_caller; update_serial deps
Tero Marttila <terom@paivola.fi>
parents: 564
diff changeset
   147
    log "Updating serials..."
541
826103fe3c8c update: abspath; fixup serials log; indent log_cmd
Tero Marttila <terom@paivola.fi>
parents: 540
diff changeset
   148
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   149
        #                   zone            deps...
568
3d6bf3864d8a update: tidy up run update_serials
Tero Marttila <terom@paivola.fi>
parents: 567
diff changeset
   150
        #   includes...
3d6bf3864d8a update: tidy up run update_serials
Tero Marttila <terom@paivola.fi>
parents: 567
diff changeset
   151
        update_serial       pvl             $ZONES/hosts/pvl            $DATA/pvl.zone
602
87c5570a205f update: configure test.pvl zones
terom
parents: 600
diff changeset
   152
        update_serial       test.pvl        $ZONES/hosts/test.pvl       $DATA/test.pvl.zone
568
3d6bf3864d8a update: tidy up run update_serials
Tero Marttila <terom@paivola.fi>
parents: 567
diff changeset
   153
        update_serial       10              $ZONES/hosts/10             $DATA/10.zone
602
87c5570a205f update: configure test.pvl zones
terom
parents: 600
diff changeset
   154
        update_serial       10.0            $ZONES/hosts/10.0           $DATA/10.0.zone
87c5570a205f update: configure test.pvl zones
terom
parents: 600
diff changeset
   155
        update_serial       fdc4:4cef:395a  $ZONES/hosts/fdc4:4cef:395a $DATA/fdc4:4cef:395a.zone
568
3d6bf3864d8a update: tidy up run update_serials
Tero Marttila <terom@paivola.fi>
parents: 567
diff changeset
   156
        update_serial       192.168         $ZONES/hosts/192.168        $DATA/192.168.zone
559
3208cd6540dc update: restructure zones/, manage .pvl
Tero Marttila <terom@paivola.fi>
parents: 555
diff changeset
   157
568
3d6bf3864d8a update: tidy up run update_serials
Tero Marttila <terom@paivola.fi>
parents: 567
diff changeset
   158
        update_serial       paivola         $ZONES/hosts/paivola:*      $DATA/paivola.zone          \
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   159
            $ZONES/includes/paivola:*       \
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   160
            $ZONES/includes/paivola.*
565
ef5bcc4145de debug with func_caller; update_serial deps
Tero Marttila <terom@paivola.fi>
parents: 564
diff changeset
   161
568
3d6bf3864d8a update: tidy up run update_serials
Tero Marttila <terom@paivola.fi>
parents: 567
diff changeset
   162
        update_serial       194.197.235     $ZONES/hosts/194.197.235    $DATA/194.197.235.zone          
536
7d02a07e0354 update: check_hosts
Tero Marttila <terom@paivola.fi>
parents: 533
diff changeset
   163
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   164
    ## Zones
561
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   165
    log "Updating zones..."
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   166
        #                   view        zone            base
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   167
        update_zone         internal    pvl
602
87c5570a205f update: configure test.pvl zones
terom
parents: 600
diff changeset
   168
        update_zone         internal    test.pvl
533
26e789db3f72 update: named-checkzone
Tero Marttila <terom@paivola.fi>
parents: 532
diff changeset
   169
561
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   170
        update_zone         internal    10
602
87c5570a205f update: configure test.pvl zones
terom
parents: 600
diff changeset
   171
        update_zone         internal    10.0
87c5570a205f update: configure test.pvl zones
terom
parents: 600
diff changeset
   172
        update_zone         internal    fdc4:4cef:395a
561
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   173
        update_zone         internal    192.168
559
3208cd6540dc update: restructure zones/, manage .pvl
Tero Marttila <terom@paivola.fi>
parents: 555
diff changeset
   174
561
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   175
        update_zone         common      194.197.235
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   176
        link_zone           internal    194.197.235
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   177
        link_zone           external    194.197.235
559
3208cd6540dc update: restructure zones/, manage .pvl
Tero Marttila <terom@paivola.fi>
parents: 555
diff changeset
   178
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   179
    ## Test
533
26e789db3f72 update: named-checkzone
Tero Marttila <terom@paivola.fi>
parents: 532
diff changeset
   180
    log "Testing zones..."
561
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   181
        #                   view        zone            origin
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   182
        check_zone          internal    10              10.in-addr.arpa
602
87c5570a205f update: configure test.pvl zones
terom
parents: 600
diff changeset
   183
        check_zone          internal    10.0            0.10.in-addr.arpa
87c5570a205f update: configure test.pvl zones
terom
parents: 600
diff changeset
   184
        check_zone          internal    fdc4:4cef:395a	a.5.9.3.f.e.c.4.4.c.d.f.ip6.arpa
87c5570a205f update: configure test.pvl zones
terom
parents: 600
diff changeset
   185
	
561
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   186
        check_zone          internal    192.168         192.168.in-addr.arpa
39799fc994e9 update: unify [check/copy/update/link]_[hosts/zone/serial]
Tero Marttila <terom@paivola.fi>
parents: 560
diff changeset
   187
        check_zone          common      194.197.235     235.197.194.in-addr.arpa
533
26e789db3f72 update: named-checkzone
Tero Marttila <terom@paivola.fi>
parents: 532
diff changeset
   188
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   189
    ## Domains...
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   190
    log "Linking domains..."
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   191
        for view in "${VIEWS[@]}"; do
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   192
            for zone in "${DOMAINS[@]}"; do
596
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   193
                # choose input .zone to use
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   194
                base=$(choose_zone $zone $DOMAIN_BASE)
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   195
                
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   196
                if [ $base != $DOMAIN_BASE ]; then
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   197
                    # serial
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   198
                    # XXX: not all zones use all these includes?
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   199
                    update_serial   $base       $DATA/$base.zone    \
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   200
                        $ZONES/hosts/paivola:*                      \
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   201
                        $ZONES/includes/paivola:*                   \
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   202
                        $ZONES/includes/paivola.*
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   203
                fi
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   204
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   205
                # link
596
dcb432cfeacc update: generate all domain-zones using update_zone from either settings/paivola.*.zone or settings/paivola.zone instead of linking them all to paivola; different domains may now use their own zones if required
Tero Marttila <terom@paivola.fi>
parents: 594
diff changeset
   206
                update_zone     $view       $zone           $base
553
1a8bc67b1eb7 update: link_zones for paivola.*.zone -> paivola.zone
Tero Marttila <terom@paivola.fi>
parents: 552
diff changeset
   207
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   208
                # test
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   209
                check_zone      $view       $zone           $zone
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   210
            done
553
1a8bc67b1eb7 update: link_zones for paivola.*.zone -> paivola.zone
Tero Marttila <terom@paivola.fi>
parents: 552
diff changeset
   211
        done
584
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
   212
}
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   213
585
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   214
# Update $DHCP files from $DATA/dhcp
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   215
function run_dhcp {
592
88a7683efc54 update: list_files to copy all DHCP_CONFS..
Tero Marttila <terom@paivola.fi>
parents: 589
diff changeset
   216
    log_debug "DHCP_CONFS: ${DHCP_CONFS[*]}"
88a7683efc54 update: list_files to copy all DHCP_CONFS..
Tero Marttila <terom@paivola.fi>
parents: 589
diff changeset
   217
587
620f4594a09d update: copy_generic; use copy_dhcp_conf to get diffs
Tero Marttila <terom@paivola.fi>
parents: 586
diff changeset
   218
    log "Copying DHCP configs..."
586
a88766722d18 update: rename dhcp hosts -> dhcp conf, makes more sense; check input files before linking
Tero Marttila <terom@paivola.fi>
parents: 585
diff changeset
   219
        for conf in "${DHCP_CONFS[@]}"; do
593
68b67c7f2dd1 disable check_dhcp_conf check before copying; doesn't work because of includes
Tero Marttila <terom@paivola.fi>
parents: 592
diff changeset
   220
            # XXX: ei toimi, koska conf:it riippuu toisistaan include:ien takia
68b67c7f2dd1 disable check_dhcp_conf check before copying; doesn't work because of includes
Tero Marttila <terom@paivola.fi>
parents: 592
diff changeset
   221
            # check_dhcp_conf     $conf
68b67c7f2dd1 disable check_dhcp_conf check before copying; doesn't work because of includes
Tero Marttila <terom@paivola.fi>
parents: 592
diff changeset
   222
586
a88766722d18 update: rename dhcp hosts -> dhcp conf, makes more sense; check input files before linking
Tero Marttila <terom@paivola.fi>
parents: 585
diff changeset
   223
            #                   conf               base
587
620f4594a09d update: copy_generic; use copy_dhcp_conf to get diffs
Tero Marttila <terom@paivola.fi>
parents: 586
diff changeset
   224
            copy_dhcp_conf      $conf
585
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   225
        done
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   226
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   227
    log "Testing dhcp..."
593
68b67c7f2dd1 disable check_dhcp_conf check before copying; doesn't work because of includes
Tero Marttila <terom@paivola.fi>
parents: 592
diff changeset
   228
        # checks the whole dhcpd.conf, with all includes..
585
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   229
        check_dhcp
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   230
}
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   231
589
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   232
# Runs DHCP checks, once DNS hosts have been updated
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   233
function run_dhcp_check {
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   234
    log "Testing dhcp hosts..."
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   235
        for conf in "${DHCP_CONFS[@]}"; do
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   236
            check_dhcp_hosts    $DHCP/$conf.conf
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   237
        done
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   238
}
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   239
584
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
   240
function run_deploy {
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
   241
    ## Reload zones
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
   242
    log "Reload zones..."
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
   243
        reload_zones
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   244
589
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   245
    ## DHCP
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   246
    run_dhcp_check
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   247
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   248
    log "Reload dhcp..."
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   249
        reload_dhcp
482d06935d96 update: cmd_test; check_dhcp_hosts after do_reload_zones; reload_dhcp
Tero Marttila <terom@paivola.fi>
parents: 587
diff changeset
   250
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   251
    ## Commit
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   252
    log "Commit data..."
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   253
        commit_data
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   254
}
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   255
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   256
## Main entry point
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   257
function main {
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   258
    # test tty
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   259
    [ -t 1 ] && IS_TTY=y
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   260
    
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   261
    parse_args "$@"
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   262
585
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   263
    ## Input dirs
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   264
    [ -d $ROOT/$DATA ] || die "Missing data: $ROOT/$DATA"
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   265
    
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   266
    ## Output dirs
600
b0c0e3e80c39 update: move zones/serials/dhcp to ./var; requires update -FR and bind/dhcpd config update
Tero Marttila <terom@paivola.fi>
parents: 599
diff changeset
   267
    for dir in $VAR $DHCP $ZONES $SERIALS; do
585
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   268
        ensure_dir  $dir
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   269
    done
600
b0c0e3e80c39 update: move zones/serials/dhcp to ./var; requires update -FR and bind/dhcpd config update
Tero Marttila <terom@paivola.fi>
parents: 599
diff changeset
   270
    
b0c0e3e80c39 update: move zones/serials/dhcp to ./var; requires update -FR and bind/dhcpd config update
Tero Marttila <terom@paivola.fi>
parents: 599
diff changeset
   271
    # sub-$ZONES
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   272
    for dir in "common" "hosts" "includes" "${VIEWS[@]}"; do
585
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   273
        ensure_dir  $ZONES/$dir
553
1a8bc67b1eb7 update: link_zones for paivola.*.zone -> paivola.zone
Tero Marttila <terom@paivola.fi>
parents: 552
diff changeset
   274
    done
1a8bc67b1eb7 update: link_zones for paivola.*.zone -> paivola.zone
Tero Marttila <terom@paivola.fi>
parents: 552
diff changeset
   275
567
8f49e2f51c0d update: cleanup, docs
Tero Marttila <terom@paivola.fi>
parents: 566
diff changeset
   276
    ## Go
584
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
   277
    run_hosts
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
   278
    run_zones
585
65bf391fd2f3 update: link + check dhcpd hosts from settings/dhcp/... -> dhcp/...
Tero Marttila <terom@paivola.fi>
parents: 584
diff changeset
   279
    run_dhcp
584
22b58b938fd0 update: rename deploy_zones -> reload_zones; move related do_* from lib/update.updates -> lib/update.operations where they belong
Tero Marttila <terom@paivola.fi>
parents: 581
diff changeset
   280
    run_deploy
525
aeb106b9487c update: update zonefiles
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   281
}
aeb106b9487c update: update zonefiles
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   282
530
f4457348faa0 update: function update { ... }, color logging, update_serial
Tero Marttila <terom@paivola.fi>
parents: 525
diff changeset
   283
main "$@"