aboutsummaryrefslogtreecommitdiffstats
path: root/roles/pxe_server/tasks/main.yml
blob: 9bd7b304d1b4de2c6f422b913ac0744ce23e7ec8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
- name: prepare boot images
  include_tasks: extract_iso.yml
  loop: '{{ pxe_images }}'

- name: create grub directories
  file:
    path: '{{ pxe_root }}/{{ item }}'
    state: directory
  loop:
    - '{{ pxe_grub_prefix }}'
    - kickstart

- name: generate menuentries
  template:
    src: grub/menuentry-{{ image.os }}.cfg.j2
    dest: '{{ pxe_root }}/{{ pxe_grub_prefix }}/{{ image.name }}-{{ image.version }}-{{ image.arch }}.cfg'
  loop: '{{ pxe_images }}'
  loop_control:
    loop_var: image

- name: generate kickstart files
  template:
    src: kickstart/{{ item }}.j2
    dest: '{{ pxe_root }}/kickstart/{{ item }}'
  loop: '{{ pxe_images | selectattr("kickstart", "defined") | map(attribute="kickstart") | flatten | map(attribute="name") | unique }}'

- name: generate kickstart menuentries
  template:
    src: grub/menuentry-{{ image.os }}.cfg.j2
    dest: '{{ pxe_root }}/{{ pxe_grub_prefix }}/{{ image.name }}-{{ image.version }}-{{ image.arch }}-{{ kickstart.name | splitext | first }}.cfg'
  vars:
    image: '{{ item.0 }}'
    kickstart: '{{ item.1 }}'
  loop: '{{ pxe_images | subelements("kickstart", { "skip_missing": true }) }}'

- name: generate grub config
  template:
    src: grub/grub.cfg.j2
    dest: '{{ pxe_root }}/{{ pxe_grub_prefix }}/grub.cfg'