- name: Create kickstart hosts: all vars_files: ../config.yaml tasks: - name : Remove existing kiosk.ks ansible.builtin.file: path: "{{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/kiosk.ks" state: absent - name : Remove existing kiosk.ios ansible.builtin.file: path: "{{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/kiosk.ios" state: absent - name: Copy fresh kiosk.ks ansible.builtin.copy: src: "{{ playbook_dir }}/../../imagebuilder/kiosk.ks" dest: "{{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/kiosk.ks" mode: '0755' - name: Set repo adress ansible.builtin.lineinfile: path: "{{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/kiosk.ks" regexp: '--url=http://__MYIP__/repo' line: 'ostreesetup --nogpg --osname=rhel --remote=edge --url=http://{{ ansible_default_ipv4.address }} --ref=rhel/9/x86_64/edge-kiosk' backrefs: true - name: Set MICROSHIFT_PULL_SECRET ansible.builtin.lineinfile: path: "{{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/kiosk.ks" regexp: '__MICROSHIFT_PULL_SECRET__' line: "{{ MICROSHIFT_PULL_SECRET }}" - name: Install lorax & pykickstart packages become: true ansible.builtin.dnf: state: present name: - lorax - pykickstart - name: Validate kiosk.ks using ksvalidator ansible.builtin.command: cmd: "ksvalidator {{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/kiosk.ks" register: ksvalidator_output ignore_errors: yes - name: Output error message if ksvalidator fails ansible.builtin.debug: msg: "{{ ksvalidator_output.stderr_lines }}" when: ksvalidator_output is failed - name: Remove existing kiosk.ios ansible.builtin.file: path: "/{{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/kiosk.iso" state: absent - name: Create new kiosk.ios file ansible.builtin.command: cmd: "mkksiso -r 'inst.ks' --ks {{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/kiosk.ks '{{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/installer.iso' {{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/kiosk.iso" register: mkksiso_output - name: Remove installer.iso ansible.builtin.file: path: "{{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/installer.iso" state: absent