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"