Add the ability to pick preseed based on MAC address

Change-Id: Idfa5085389d227c8f96fec42f94b069424085ba5
diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml
index e8c2494..7796764 100644
--- a/molecule/default/molecule.yml
+++ b/molecule/default/molecule.yml
@@ -27,5 +27,11 @@
         ansible_python_interpreter: /usr/bin/python3
       ubuntu-18.04-priv:
         ansible_python_interpreter: /usr/bin/python3
+    group_vars:
+      all:
+        pxeboot_hosts:
+          - {domain: 'example.com', hostname: 'server1', serial: 'abc123'}
+          - {domain: 'example.com', hostname: 'server2', serial: 'def456', iface: 'eno2'}
+          - {domain: 'example.com', hostname: 'server3', mac_address: '01:23:45:ab:cd:ef'}
 verifier:
   name: ansible
diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml
index 387f291..00ea0fe 100644
--- a/molecule/default/prepare.yml
+++ b/molecule/default/prepare.yml
@@ -8,8 +8,18 @@
 - name: Prepare for pxeboot role
   hosts: all
 
+  vars:
+    acme_username: "www-data"  # make independent of the acme role
+    vhosts:
+      - name: "boot.example.com"
+        default_server: true
+        autoindex: true
+
   pre_tasks:
 
     - name: update apt cache
       apt:
         update_cache: true
+
+  roles:
+    - nginx
diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml
index 6a9563e..56f747d 100644
--- a/molecule/default/verify.yml
+++ b/molecule/default/verify.yml
@@ -7,6 +7,23 @@
 - name: Verify
   hosts: all
   tasks:
-  - name: example assertion
-    assert:
-      that: true
+
+    - name: Check that preseed files are available (Serial)
+      uri:
+        url: "http://127.0.0.1/ubuntu1804/{{ item['serial'] }}_preseed.cfg"
+        status_code: 200
+        return_content: true
+      register: ps_serial
+      failed_when: "item['hostname'] not in ps_serial.content"
+      with_items: "{{ pxeboot_hosts }}"
+      when: "'serial' in item and item.serial"
+
+    - name: Check for preseed files (MAC)
+      uri:
+        url: "http://127.0.0.1/ubuntu1804/{{ item['mac_address'] }}_preseed.cfg"
+        status_code: 200
+        return_content: true
+      register: ps_mac
+      failed_when: "item['hostname'] not in ps_mac.content"
+      with_items: "{{ pxeboot_hosts }}"
+      when: "'mac_address' in item and item.mac_address"