ansible-ffibk/include/loctevm-provide-iso.inc.yml

128 lines
4.5 KiB
YAML

---
- name: retrieve install iso
get_url:
checksum: "sha1:23dde0f195170d9fbe99547f9df75838acc95b5e"
dest: "{{ vm_path }}/debian-8.6.0-amd64-i386-netinst.iso"
force: no
url: "http://ftp.de.debian.org/debian-cd/8.6.0/multi-arch/iso-cd/debian-8.6.0-amd64-i386-netinst.iso"
delegate_to: 127.0.0.1 # local action
register: download
- name: assert existance of seeded iso
stat: path={{ vm_path }}/debian-8.6.0-amd64-i386-{{ inventory_hostname }}.iso
get_checksum=False get_md5=False mime=False
delegate_to: 127.0.0.1 # local action
register: seeded
- block:
- name: clear leftover tmp files
file: path={{ vm_path }}/{{ lri_item }} state=absent
with_items:
- amdtxt.cfg
- isolinux.cfg
loop_control:
loop_var: lri_item
delegate_to: 127.0.0.1 # local action
- name: manual intervention 1 - extract configs
debug:
msg: |
*******************************
*
* MANUAL ACTION NEEDED (step 1)
* -----------------------------
* Please start isomaster debian-8.6.0-amd64-i386-netinst.iso
* in the host-directory {{ vm_path }}
* (WITHOUT stopping this playbook!)
* and extract the files amdtxt.cfg and isolinux.cfg
* from the iso-directory /isolinux
* to the host-directory {{ vm_path }} .
*
*******************************
delegate_to: 127.0.0.1 # local action
- name: wait for extraction of {{ vm_path }}/amdtxt.cfg
wait_for: path={{ vm_path }}/amdtxt.cfg state=present timeout=900
delegate_to: 127.0.0.1 # local action
- name: patch {{ vm_path }}/amdtxt.cfg
lineinfile:
dest: "{{ vm_path }}/amdtxt.cfg"
line: " append vga=788 initrd=/install.amd/initrd.gz auto=true preseed/file=/cdrom/preseed.cfg --- quiet"
regexp: "append vga=788 initrd"
state: present
delegate_to: 127.0.0.1 # local action
- name: wait for extraction of {{ vm_path }}/isolinux.cfg
wait_for: path={{ vm_path }}/isolinux.cfg state=present timeout=900
delegate_to: 127.0.0.1 # local action
- name: patch {{ vm_path }}/isolinux.cfg
lineinfile:
dest: "{{ vm_path }}/isolinux.cfg"
line: "default amd64-install"
regexp: "^default "
state: present
delegate_to: 127.0.0.1 # local action
- name: construct {{ vm_path }}/preseed.cfg
template:
dest: "{{ vm_path }}/preseed.cfg"
src: templates/preseed.cfg
delegate_to: 127.0.0.1 # local action
- name: manual intervention 1 - (re)install configs
debug:
msg: |
*******************************
*
* MANUAL ACTION NEEDED (step 2)
* -----------------------------
* Please replace the files amdtxt.cfg and isolinux.cfg
* in the iso-directory /isolinux
* with the now patched files from host-directory {{ vm_path }} .
* Likewise copy preseed.cfg from the host-directory {{ vm_path }}
* to the iso-directory / .
* Finally save-as this patched iso file
* to debian-8.6.0-amd64-i386-{{ inventory_hostname }}.iso
* in the host-directory {{ vm_path }} .
*
*******************************
delegate_to: 127.0.0.1 # local action
- name: wait for emergence of {{ vm_path }}/debian-8.6.0-amd64-i386-{{ inventory_hostname }}.iso
wait_for: path={{ vm_path }}/debian-8.6.0-amd64-i386-{{ inventory_hostname }}.iso
state=present timeout=900
delegate_to: 127.0.0.1 # local action
- name: allow some time for big file to be written
pause: seconds=5
delegate_to: 127.0.0.1 # local action
- name: correct access rights of iso file
file: mode=0644 path={{ vm_path }}/debian-8.6.0-amd64-i386-{{ inventory_hostname }}.iso state=file
delegate_to: 127.0.0.1 # local action
when: download.changed or not seeded.stat.exists
# block end
#- name: regenerate seeded copy when downloaded file changed
# copy:
# src: "{{ vm_path }}/debian-8.6.0-amd64-i386-netinst.iso"
# dest: "{{ vm_path }}/debian-8.6.0-amd64-i386-seeded.iso"
# force: yes
# remote_src: True # though remote equals local ...
# when: download.changed
# delegate_to: 127.0.0.1 # local action
# register: chngcopy
#- name: make seeded copy when absent
# copy:
# src: "{{ vm_path }}/debian-8.6.0-amd64-i386-netinst.iso"
# dest: "{{ vm_path }}/debian-8.6.0-amd64-i386-seeded.iso"
# force: no
# remote_src: True # though remote equals local ...
# delegate_to: 127.0.0.1 # local action
# register: primcopy