rockylinux-ostree-config/bootserver/roles/mosibi.pxe/tasks/iso.yml
Richard Arends 00e6636813 First
2022-06-06 12:11:09 +02:00

77 lines
2.0 KiB
YAML

---
- name: Create directories to store and mount ISO images
ansible.builtin.file:
path: "{{ item }}"
state: directory
mode: '0755'
loop:
- "{{ iso_dest_directory }}"
- "{{ iso_mount_directory }}"
tags:
- iso
- name: Download ISO images
ansible.builtin.get_url:
url: "{{ item['url'] }}"
dest: "{{ iso_dest_directory }}/{{ _filename }}"
mode: 0644
vars:
_filename: "{{ item['url'] | urlsplit('path') | basename }}"
loop: "{{ iso_images }}"
loop_control:
label: "{{ item['description'] }}"
register: _isos_downloaded
tags:
- iso
- name: Mount ISO images read-only
ansible.posix.mount:
path: "{{ iso_mount_directory }}/{{ _iso['item']['name'] }}"
src: "{{ _iso['dest'] }}"
fstype: iso9660
opts: loop,noauto
state: mounted
loop: "{{ _isos_downloaded['results'] }}"
loop_control:
label: "{{ _iso['item']['description'] }}"
loop_var: _iso
tags:
- iso
- name: Create TFTP directories
file:
path: /var/lib/tftpboot/{{ _iso['item']['name'] }}
state: directory
mode: 0755
loop: "{{ _isos_downloaded['results'] }}"
loop_control:
label: "{{ _iso['item']['description'] }}"
loop_var: _iso
tags:
- iso
- name: Copy bootable kernel images for all OSs
synchronize:
src: "{{ iso_mount_directory }}/{{ _iso['item']['name'] }}/images/pxeboot/vmlinuz"
dest: "/var/lib/tftpboot/{{ _iso['item']['name'] }}/vmlinuz"
delegate_to: "{{ inventory_hostname }}"
loop: "{{ _isos_downloaded['results'] }}"
loop_control:
label: "{{ _iso['item']['description'] }}"
loop_var: _iso
tags:
- iso
- name: Copy initrd images for all OSs
synchronize:
src: "{{ iso_mount_directory }}/{{ _iso['item']['name'] }}/images/pxeboot/initrd.img"
dest: "/var/lib/tftpboot/{{ _iso['item']['name'] }}/initrd.img"
delegate_to: "{{ inventory_hostname }}"
loop: "{{ _isos_downloaded['results'] }}"
loop_control:
label: "{{ _iso['item']['description'] }}"
loop_var: _iso
tags:
- iso