From 603ba5dec7a419d0a1c0367d9aa015e3fbabd699 Mon Sep 17 00:00:00 2001
From: "Pietsch, Martin" <martin.pietsch@tu-dresden.de>
Date: Fri, 4 Oct 2019 19:00:04 +0200
Subject: [PATCH] added answerfile tasks

---
 tasks/answerfile.yml    |  5 +++++
 templates/answerfile.j2 | 22 ++++++++++++++++++++++
 2 files changed, 27 insertions(+)
 create mode 100644 tasks/answerfile.yml
 create mode 100644 templates/answerfile.j2

diff --git a/tasks/answerfile.yml b/tasks/answerfile.yml
new file mode 100644
index 0000000..1f4361c
--- /dev/null
+++ b/tasks/answerfile.yml
@@ -0,0 +1,5 @@
+
+- name: create answerfile for "{{ inventory_hostname }}"
+  template:
+    src: answerfile.j2
+    dest: "{{ system_answerfile_path }}"
diff --git a/templates/answerfile.j2 b/templates/answerfile.j2
new file mode 100644
index 0000000..a2c9c72
--- /dev/null
+++ b/templates/answerfile.j2
@@ -0,0 +1,22 @@
+{% set hostobj = hostvars[hostname] %}
+export DISTRIBUTION="{{ hostobj.os.distribution }}"
+export RELEASE="{{ hostobj.os.release }}"
+export ARCH="{{ hostobj.os.architecture }}"
+export MIRROR="{{ system_local_mirror | default(system_home_mirror | default("")) }}"
+
+{% set disks = [] %}
+{% for disk in hostobj.disks %}
+{%   do disks.append('"%s"' | format(disk.device)) %}
+{{   'export DISK_%s_SCHEME="%s"' | format(disk.device | upper, disk.scheme | upper) }}
+{%   if 'partitions' in disk %}
+{{     'declare -a DISK_%s_PARTITIONS = ()' | format(disk.device | upper) }}
+{%     for part in disk.partitions %}
+{{       'DISK_%s_PARTITIONS += ("%s:%s:%s:%s:%s:%s:%s")' | format(disk.device | upper, part.size, part.fs, part.mountpoint | default(""), part.mountoptions | default("defaults"), part.dump | default("0"), part.pass | default("0"), part.format | default("true")) }}
+{%     endfor %}
+{{   'export DISK_%s_PARTITIONS' | format(disk.device | upper) }}
+{%   endif %}
+{% endfor %}
+
+declare -a DISK_DEVICES = ({{ disks | join(" ") }})
+export DISK_DEVICES
+
-- 
GitLab