files = { '/etc/dhcp/dhcpd.conf': { 'content_type': 'mako', 'context': { 'dhcp_config': node.metadata['dhcpd'], }, 'needs': { 'pkg_apt:isc-dhcp-server' }, 'triggers': { 'svc_systemd:isc-dhcp-server:restart', }, }, '/etc/default/isc-dhcp-server': { 'content_type': 'mako', 'context': { # Set by our own metadata reactor. Guaranteed to exist. 'listen_interfaces': node.metadata['dhcpd']['listen_interfaces'], }, 'needs': { 'pkg_apt:isc-dhcp-server' }, 'triggers': { 'svc_systemd:isc-dhcp-server:restart', }, }, } actions = { # needed for dhcp-lease-list 'dhcpd_download_oui.txt': { 'command': 'wget http://standards-oui.ieee.org/oui.txt -O /usr/local/etc/oui.txt', 'unless': 'test -f /usr/local/etc/oui.txt', }, } svc_systemd = { 'isc-dhcp-server': { 'needs': { 'pkg_apt:isc-dhcp-server', 'file:/etc/dhcp/dhcpd.conf', 'file:/etc/default/isc-dhcp-server', }, }, }