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