summaryrefslogtreecommitdiff
path: root/roles/create-pxe-archive/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/create-pxe-archive/tasks/main.yml')
-rw-r--r--roles/create-pxe-archive/tasks/main.yml46
1 files changed, 46 insertions, 0 deletions
diff --git a/roles/create-pxe-archive/tasks/main.yml b/roles/create-pxe-archive/tasks/main.yml
new file mode 100644
index 0000000..147dd45
--- /dev/null
+++ b/roles/create-pxe-archive/tasks/main.yml
@@ -0,0 +1,46 @@
+# Create an archive with files, required for PXE
+- name: Create directory for PXE files
+ become: true
+ file:
+ path: "/tmp/vyos-pxe-{{ vyos_version }}{{ ci_tag | default() }}"
+ state: directory
+ when:
+ - pxe is defined
+ - pxe == "true"
+
+- name: Save files required for PXE boot
+ become: true
+ copy:
+ src: "{{ vyos_write_root }}/boot/{{ vyos_version }}/{{ item }}"
+ dest: "/tmp/vyos-pxe-{{ vyos_version }}{{ ci_tag | default() }}/{{ item }}"
+ with_items:
+ - initrd.img
+ - vmlinuz
+ when:
+ - pxe is defined
+ - pxe == "true"
+
+# We need to skip boot directory (it contain too much unneeded items) and cc_vyos.py (optionally - may conflict with User-Data handler)
+- name: Create new squashfs image
+ become: true
+ command: "mksquashfs {{ vyos_install_root }} /tmp/vyos-pxe-{{ vyos_version }}{{ ci_tag | default() }}/filesystem.squashfs -comp gzip -no-progress -Xcompression-level 9 -e {{ vyos_install_root }}/boot"
+ when:
+ - pxe is defined
+ - pxe == "true"
+
+- name: Add the /boot directory
+ become: true
+ command: "mksquashfs {{ vyos_read_root }}/boot /tmp/vyos-pxe-{{ vyos_version }}{{ ci_tag | default() }}/filesystem.squashfs -keep-as-directory -comp gzip -no-progress -Xcompression-level 9"
+ when:
+ - pxe is defined
+ - pxe == "true"
+
+- name: Create an archive with files for PXE
+ become: true
+ archive:
+ path: "/tmp/vyos-pxe-{{ vyos_version }}{{ ci_tag | default() }}"
+ format: gz
+ dest: "/tmp/vyos-pxe-{{ vyos_version }}{{ ci_tag | default() }}.tgz"
+ when:
+ - pxe is defined
+ - pxe == "true"