62 lines
1.4 KiB
YAML
62 lines
1.4 KiB
YAML
|
---
|
||
|
|
||
|
- name: check if at least one subnet is defined
|
||
|
assert:
|
||
|
that:
|
||
|
- dhcpd_subnets | length > 0
|
||
|
fail_msg: "No subnet defined"
|
||
|
|
||
|
- name: include special distribution-dependent variables
|
||
|
include_vars: "{{ ansible_os_family }}.yml"
|
||
|
|
||
|
- name: install dhcpd with dependencies
|
||
|
package:
|
||
|
name: "{{ item }}"
|
||
|
state: present
|
||
|
with_items:
|
||
|
- "{{ dhcpd_package_names }}"
|
||
|
|
||
|
- name: create dhcpd config
|
||
|
template:
|
||
|
src: "dhcpd.conf.j2"
|
||
|
dest: "{{ dhcpd_main_config }}"
|
||
|
owner: "{{ dhcpd_unix_user }}"
|
||
|
group: "{{ dhcpd_unix_group }}"
|
||
|
mode: 0644
|
||
|
|
||
|
- name: cleanup cache files
|
||
|
block:
|
||
|
- name: check if cache dir exists
|
||
|
stat:
|
||
|
path: "{{ dhcpd_cache_directory }}"
|
||
|
register: cache_stats
|
||
|
- name: remove cache dir
|
||
|
file:
|
||
|
path: "{{ dhcpd_cache_directory }}"
|
||
|
state: absent
|
||
|
when: cache_stats.stat.exists
|
||
|
- name: create cache dir
|
||
|
file:
|
||
|
path: "{{ dhcpd_cache_directory }}"
|
||
|
owner: "{{ dhcpd_unix_user }}"
|
||
|
group: "{{ dhcpd_unix_group }}"
|
||
|
mode: 0755
|
||
|
state: directory
|
||
|
- name: create cache files
|
||
|
file:
|
||
|
path: "{{ dhcpd_cache_directory }}/{{ item }}"
|
||
|
owner: "{{ dhcpd_unix_user }}"
|
||
|
group: "{{ dhcpd_unix_group }}"
|
||
|
mode: 0644
|
||
|
state: touch
|
||
|
with_items:
|
||
|
- dhcpd.leases
|
||
|
notify: restart dhcpd
|
||
|
|
||
|
- name: start and enable dhcpd
|
||
|
systemd:
|
||
|
name: "{{ item }}"
|
||
|
state: started
|
||
|
enabled: yes
|
||
|
with_items:
|
||
|
- "{{ dhcpd_service_name }}"
|