- name: "Including any user-defined vars" include_vars: file: main.yaml name: user-vars - name: "Append any user-defined repos to multistrap list" set_fact: repos: "{{ repos + repos_append }}" when: repos_append is defined - name: "Append any user-defined pkgs to be installed from default Ubuntu mirrors" set_fact: ubuntu_packages: "{{ ubuntu_packages + ubuntu_packages_append }}" when: ubuntu_packages_append is defined - name: "ensuring directory {{ rootfs_root }} exists for rootfs" file: path: "{{ rootfs_root }}" state: directory mode: '0755' - name: "create temporary directory for multistrap config" tempfile: state: directory suffix: multistrap register: multistrap_tempdir - name: "write out multistrap config" template: src: multistrap.conf.j2 dest: "{{ multistrap_tempdir.path }}/multistrap.conf" validate: multistrap --simulate -f %s - name: "install required apt keys manually" include_tasks: apt-key-install.yaml loop: "{{ repos }}" # kdump-tools does not install properly in multistrap environment. This fix allows kdump-tools # installation to succeed. - name: "kdump-tools fix - create directory" shell: | set -e mkdir -p "{{ rootfs_root }}/etc/kernel/postinst.d" - name: "kdump-tools fix - deploy build script" template: src: kdump-tools.j2 dest: "{{ rootfs_root }}/etc/kernel/postinst.d/kdump-tools" mode: '0755' # kdump-tools deb package will overwrite script without write protection enabled - name: "kdump-tools fix - lock build script" shell: | set -e chattr +i "{{ rootfs_root }}/etc/kernel/postinst.d/kdump-tools" - name: "Running multistrap" shell: cmd: "multistrap -f {{ multistrap_tempdir.path }}/multistrap.conf" - name: "Set systemd NIC naming" template: src: 99-default.link.j2 dest: "{{ rootfs_root }}/etc/systemd/network/99-default.link" mode: '0644' - name: "Lock sources.list to prevent conflict and duplicates with multistrap repo list" shell: | set -e if [ -f {{ rootfs_root }}/etc/apt/sources.list ] && [ ! -h {{ rootfs_root }}/etc/apt/sources.list ]; then rm {{ rootfs_root }}/etc/apt/sources.list ln -s /dev/null {{ rootfs_root }}/etc/apt/sources.list fi