From 36710cc29cd936f8769d5644afc21ce60f02b7e0 Mon Sep 17 00:00:00 2001
From: Adar Nimrod <nimrod@shore.co.il>
Date: Sat, 17 Dec 2016 16:35:41 +0200
Subject: [PATCH] - Added config handling.

---
 defaults/main.yml             |  1 +
 tasks/main.yml                | 12 ++++++++++++
 tests/playbook.yml            |  1 +
 tests/templates/dhcpd.conf.j2 |  0
 vars/main.yml                 |  4 ++++
 5 files changed, 18 insertions(+)
 create mode 100644 tests/templates/dhcpd.conf.j2

diff --git a/defaults/main.yml b/defaults/main.yml
index 93fe545..72078ab 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 0ca5564..3f198b6 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 9cba461..c1b8cc2 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 0000000..e69de29
diff --git a/vars/main.yml b/vars/main.yml
index 81f8915..4d0b321 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
-- 
GitLab