You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.1 KiB
61 lines
2.1 KiB
- 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: 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 }}/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 }}/installer.iso' kiosk.iso"
|
|
register: mkksiso_output
|
|
|
|
- name: Remove installer.iso
|
|
ansible.builtin.file:
|
|
path: "{{ ansible_env.HOME }}/installer.iso"
|
|
state: absent
|
|
|