equal
deleted
inserted
replaced
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 "$@" |