diff --git a/tasks/answerfile.yml b/tasks/answerfile.yml new file mode 100644 index 0000000000000000000000000000000000000000..1f4361cc86bdabe4daf651400f6a7ab9b39bda5c --- /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 0000000000000000000000000000000000000000..a2c9c721a17ff302682be48f1751a7f057cd9cbb --- /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 +