From 95af063c35ab8ebb1493ef41aacd1e721064f583 Mon Sep 17 00:00:00 2001 From: "Anderson, Craig (ca846m)" Date: Mon, 1 Mar 2021 22:11:26 -0800 Subject: [PATCH] add mksquashfs config params Allow mksquashfs overrides for thread count and compression algorithm. Apply all rootfs-level overrides uniformly in Makefile. Change-Id: I9dfb9fac63a6efcad42bc73242929e52ff1f9344 --- image-builder/Makefile | 12 ++++++++++-- .../roles/livecdcontent/defaults/main.yaml | 3 +++ .../roles/livecdcontent/tasks/squashfs.yaml | 3 ++- .../osconfig-control-plane-vars.yaml | 13 ++++--------- image-builder/config/rootfs/livecdcontent-vars.yaml | 3 +++ image-builder/config/rootfs/osconfig-vars.yaml | 10 ++++++++++ 6 files changed, 32 insertions(+), 12 deletions(-) create mode 100644 image-builder/config/rootfs/livecdcontent-vars.yaml create mode 100644 image-builder/config/rootfs/osconfig-vars.yaml diff --git a/image-builder/Makefile b/image-builder/Makefile index 9d15a49..71f329e 100644 --- a/image-builder/Makefile +++ b/image-builder/Makefile @@ -51,8 +51,16 @@ images: build generate_iso package_qcow build: set -ex - # Apply any user-defined overrides to multistrap playbook - cp $(WORKDIR)/rootfs/multistrap-vars.yaml assets/playbooks/roles/multistrap/vars/main.yaml + # Apply any user-defined rootfs overrides to playbooks + if [ -f $(WORKDIR)/rootfs/multistrap-vars.yaml ]; then + cp $(WORKDIR)/rootfs/multistrap-vars.yaml assets/playbooks/roles/multistrap/vars/main.yaml + fi + if [ -f $(WORKDIR)/rootfs/osconfig-vars.yaml ]; then + cp $(WORKDIR)/rootfs/osconfig-vars.yaml assets/playbooks/roles/osconfig/vars/main.yaml + fi + if [ -f $(WORKDIR)/rootfs/livecdcontent-vars.yaml ]; then + cp $(WORKDIR)/rootfs/livecdcontent-vars.yaml assets/playbooks/roles/livecdcontent/vars/main.yaml + fi ifneq ($(PROXY), ) sudo -E ./tools/docker_proxy.sh $(PROXY) $(NO_PROXY) export http_proxy=$(PROXY) diff --git a/image-builder/assets/playbooks/roles/livecdcontent/defaults/main.yaml b/image-builder/assets/playbooks/roles/livecdcontent/defaults/main.yaml index 00098ad..020d2d9 100644 --- a/image-builder/assets/playbooks/roles/livecdcontent/defaults/main.yaml +++ b/image-builder/assets/playbooks/roles/livecdcontent/defaults/main.yaml @@ -1,2 +1,5 @@ root_chroot: build root_image: build +# Additional flags for mksquashfs +mksquashfs_compression: lz4 +mksquashfs_threads: "{{ ansible_processor_vcpus }}" diff --git a/image-builder/assets/playbooks/roles/livecdcontent/tasks/squashfs.yaml b/image-builder/assets/playbooks/roles/livecdcontent/tasks/squashfs.yaml index 9dee4e0..02b15e0 100644 --- a/image-builder/assets/playbooks/roles/livecdcontent/tasks/squashfs.yaml +++ b/image-builder/assets/playbooks/roles/livecdcontent/tasks/squashfs.yaml @@ -15,5 +15,6 @@ mksquashfs \ "{{ root_chroot }}" \ "{{ root_image }}/live/filesystem.squashfs" \ - -processors {{ ansible_processor_vcpus }} \ + -processors {{ mksquashfs_threads }} \ + -comp {{ mksquashfs_compression }} \ -e boot diff --git a/image-builder/config/qcow-control-plane/osconfig-control-plane-vars.yaml b/image-builder/config/qcow-control-plane/osconfig-control-plane-vars.yaml index f13d545..44736a3 100644 --- a/image-builder/config/qcow-control-plane/osconfig-control-plane-vars.yaml +++ b/image-builder/config/qcow-control-plane/osconfig-control-plane-vars.yaml @@ -1,10 +1,5 @@ # Custom user-defined overrides to the `osconfig` playbook can be placed here. -# Example, writing an extra file to the OS: -#files: -# - name: /test.sh -# file_content: | -# #!/bin/bash -# echo hello world -# permissions: '0755' -# owner: root -# group: root +# +# You would only use this if you needed to apply some settings uniques to this +# type of image (control-plane or data-plane). Ex: kernel boot params specific +# to workers vs non-worker nodes. diff --git a/image-builder/config/rootfs/livecdcontent-vars.yaml b/image-builder/config/rootfs/livecdcontent-vars.yaml new file mode 100644 index 0000000..3df77af --- /dev/null +++ b/image-builder/config/rootfs/livecdcontent-vars.yaml @@ -0,0 +1,3 @@ +# user-defined overrides for livecdcontent playbook +# +#mksquashfs_threads = 1 diff --git a/image-builder/config/rootfs/osconfig-vars.yaml b/image-builder/config/rootfs/osconfig-vars.yaml new file mode 100644 index 0000000..f13d545 --- /dev/null +++ b/image-builder/config/rootfs/osconfig-vars.yaml @@ -0,0 +1,10 @@ +# Custom user-defined overrides to the `osconfig` playbook can be placed here. +# Example, writing an extra file to the OS: +#files: +# - name: /test.sh +# file_content: | +# #!/bin/bash +# echo hello world +# permissions: '0755' +# owner: root +# group: root