Improve/fix RFC3442 entries and add tests
- Generate the rfc3442 words using a filter plugin, instead of Jinja
- basic sanity test when running plugin standalone
- Improve testing by creating/binding to a bridge0 interface in
molecule docker container, then verifying that it's running
- Add ntp option
- multiplatform support
Change-Id: I7c2c3081e8919174dd29b3ab2fdd27b4f6eb843a
diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml
index b95c131..13c2065 100644
--- a/molecule/default/converge.yml
+++ b/molecule/default/converge.yml
@@ -6,6 +6,33 @@
- name: Converge
hosts: all
+ vars:
+ dhcpd_interfaces:
+ - bridge0
+ dhcpd_subnets:
+ - subnet: "192.168.0.1/24"
+ range: "192.168.0.128/25"
+ dns_servers:
+ - "192.168.0.1"
+ - "192.168.0.2"
+ dns_search:
+ - "example.com"
+ tftpd_server: "192.168.0.1"
+ hosts:
+ - name: "dns"
+ ip_addr: "192.168.0.2"
+ mac_addr: "a1:b2:c3:d4:e5:f6"
+ - name: "extra_router"
+ ip_addr: "192.168.0.10"
+ mac_addr: "a6:b5:c4:d3:e2:f1"
+ routers:
+ - ip: "192.168.0.1"
+ - ip: "192.168.0.10"
+ rfc3442routes:
+ - 10.0.0.0/8
+ - 172.16.0.0/16
+ - 192.168.10.0/25
+
tasks:
- name: "Include dhcpd"
include_role:
diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml
new file mode 100644
index 0000000..68ec77e
--- /dev/null
+++ b/molecule/default/prepare.yml
@@ -0,0 +1,22 @@
+---
+# dhcpd molecule/default/prepare.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Prepare
+ hosts: all
+
+ tasks:
+ - name: Update apt cache
+ apt:
+ update_cache: true
+
+ - name: Create a bridge to nowhere so dhcpd can start during testing
+ when: "'bridge0' not in ansible_interfaces"
+ command:
+ cmd: "{{ item }}"
+ with_items:
+ - "ip link add bridge0 type bridge"
+ - "ip addr add 192.168.0.5/24 dev bridge0"
+ - "ip link set bridge0 up"
diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml
index 1a4bfdc..aedd158 100644
--- a/molecule/default/verify.yml
+++ b/molecule/default/verify.yml
@@ -6,7 +6,12 @@
- name: Verify
hosts: all
+
tasks:
- - name: example assertion
+
+ - name: Populate service facts
+ service_facts:
+
+ - name: isc-dhcp-server is running
assert:
- that: true
+ that: ansible_facts.services["isc-dhcp-server.service"]["state"] == "running"