author | Tero Marttila <tero.marttila@aalto.fi> |
Fri, 27 Feb 2015 17:03:15 +0200 | |
changeset 644 | c51eb0151fec |
parent 488 | 502ee5fcf91c |
child 669 | 83e9bff09a0b |
permissions | -rwxr-xr-x |
271
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
1 |
#!/usr/bin/env python |
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
2 |
|
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
3 |
import logging; log = logging.getLogger('pvl.hosts-dhcp') |
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
4 |
import optparse |
479
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
455
diff
changeset
|
5 |
import pvl.args |
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
455
diff
changeset
|
6 |
import pvl.hosts |
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
455
diff
changeset
|
7 |
import pvl.hosts.dhcp |
271
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
8 |
|
479
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
455
diff
changeset
|
9 |
def main (argv): |
271
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
10 |
""" |
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
11 |
Generate DHCP host configs from host definitions. |
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
12 |
""" |
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
13 |
|
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
14 |
parser = optparse.OptionParser(main.__doc__) |
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
15 |
parser.add_option_group(pvl.args.parser(parser)) |
479
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
455
diff
changeset
|
16 |
parser.add_option_group(pvl.hosts.config.optparser(parser)) |
271
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
17 |
|
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
18 |
# input |
479
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
455
diff
changeset
|
19 |
options, args = pvl.args.parse(parser, argv) |
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
455
diff
changeset
|
20 |
|
271
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
21 |
hosts = pvl.hosts.apply(options, args) |
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
22 |
|
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
23 |
# process |
482
41622bb9b95c
pvl.hosts-dhcp: expect and log HostError
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
24 |
try: |
488
502ee5fcf91c
pvl.hosts.dhcp: drop unused options
Tero Marttila <tero.marttila@aalto.fi>
parents:
482
diff
changeset
|
25 |
for line in pvl.hosts.dhcp.apply_hosts_dhcp(hosts): |
482
41622bb9b95c
pvl.hosts-dhcp: expect and log HostError
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
26 |
print line |
41622bb9b95c
pvl.hosts-dhcp: expect and log HostError
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
27 |
except pvl.hosts.HostError as error: |
41622bb9b95c
pvl.hosts-dhcp: expect and log HostError
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
28 |
log.error("%s", error) |
41622bb9b95c
pvl.hosts-dhcp: expect and log HostError
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
29 |
return 3 |
271
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
30 |
|
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
31 |
if __name__ == '__main__': |
4dfa1a939153
pvl.hosts-dhcp: generate dhcp hosts conf
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
32 |
pvl.args.main(main) |