Mercurial > code > home > repos > infra
comparison dns.py @ 116:6ec849f1a8c9
dhcp_hosts in a real template now
author | drewp@bigasterisk.com |
---|---|
date | Sat, 26 Nov 2022 19:55:38 -0800 |
parents | 5faa7e3aa38f |
children | 51a471fa4d29 |
comparison
equal
deleted
inserted
replaced
115:8012f6095220 | 116:6ec849f1a8c9 |
---|---|
1 import tempfile | |
2 from pyinfra import host | 1 from pyinfra import host |
3 from pyinfra.operations import apt, files, systemd | 2 from pyinfra.operations import apt, files, systemd |
4 | 3 |
5 | 4 |
6 def dnsmasq_instance(net_name, house_iface, dhcp_range, router, dhcp_hosts_filename='/dev/null'): | 5 def dnsmasq_instance(net_name, house_iface, dhcp_range, router, dhcp_hosts_filename='/dev/null'): |
36 | 35 |
37 elif host.name == 'pipe': | 36 elif host.name == 'pipe': |
38 apt.packages(packages=['dnsmasq']) | 37 apt.packages(packages=['dnsmasq']) |
39 systemd.service(service='dnsmasq', enabled=False, running=False) | 38 systemd.service(service='dnsmasq', enabled=False, running=False) |
40 files.directory(path='/opt/dnsmasq') | 39 files.directory(path='/opt/dnsmasq') |
41 dh = tempfile.NamedTemporaryFile() | 40 dnsmasq_instance('10.2', |
42 dh.write(b'''\ | 41 house_iface='eth1', |
43 60:e3:27:04:4a:85,bang,10.2.0.1,24h | 42 dhcp_range='10.2.0.121,10.2.0.200', |
44 ''') | 43 router='10.2.0.3', |
45 dh.flush() | 44 dhcp_hosts_filename='templates/dnsmasq/dhcp_hosts.j2') |
46 dnsmasq_instance('10.2', house_iface='eth1', dhcp_range='10.2.0.20,10.2.0.120', router='10.2.0.3', dhcp_hosts_filename=dh.name) | |
47 | 45 |
48 else: | 46 else: |
49 pass | 47 pass |