diff --git a/defaults/main.yml b/defaults/main.yml index 93fe5450660552c49b5ba85804f828e7c98386fc..72078abd838ebfe04176a6a4c48df5bf3acbb028 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -2,3 +2,4 @@ # defaults file for dhcp dhcp_mail_alias: root +dhcp_config: diff --git a/tasks/main.yml b/tasks/main.yml index 0ca5564ef8830e566f822f91598169c5ed76703e..3f198b6e9ca42dced9fd53bb7d5b94752bd65860 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -7,6 +7,8 @@ - ansible_os_family in dhcp_service - ansible_os_family in dhcp_user - ansible_os_family in aliases_file + - ansible_os_family in dhcp_conf_file + - dhcp_config is defined - name: APT install apt: @@ -25,6 +27,16 @@ notify: - Update SMTPd database +- name: Copy configuration + copy: + content: '{{ dhcp_config }}' + dest: '{{ dhcp_conf_file[ansible_os_family] }}' + owner: root + group: 0 + mode: 0o0644 + notify: + - Restart ISC DHCP server + - name: Enable service service: name: '{{ dhcp_service[ansible_os_family] }}' diff --git a/tests/playbook.yml b/tests/playbook.yml index 9cba461a61b3e1655e6ad391ef949786963dbc9c..c1b8cc22e0eb1c017e350bd4bf19cb9dc4d5a547 100644 --- a/tests/playbook.yml +++ b/tests/playbook.yml @@ -11,6 +11,7 @@ strategy: free roles: - role: dhcp + dhcp_config: "{{ lookup('template', 'dhcpd.conf.j2') }}" post_tasks: # For testing. - name: APT install when: ansible_pkg_mgr == 'apt' diff --git a/tests/templates/dhcpd.conf.j2 b/tests/templates/dhcpd.conf.j2 new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/vars/main.yml b/vars/main.yml index 81f8915ab2c786e91fcafdaacf81207f7207bf74..4d0b321cc01f83e68afb1edbf80328f7a312ac9e 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -12,3 +12,7 @@ aliases_file: dhcp_user: OpenBSD: _dhcp Debian: dhcp + +dhcp_conf_file: + OpenBSD: /etc/dhcpd.conf + Debian: /etc/dhcp/dhcpd.conf