--- - name: Install lxc tools apt: name: - lxc - debootstrap - xz-utils - name: python-lxc is installed (Debian <= 10) apt: name: python-lxc state: present when: ansible_python_version is version('3', '<') - name: python3-lxc is installed (Debian >= 10) apt: name: python3-lxc state: present when: ansible_python_version is version('3', '>=') - name: Install additional packages (Debian >= 10) apt: name: - apparmor - lxc-templates when: ansible_distribution_major_version is version('10', '>=') - name: Copy LXC default containers configuration template: src: default.conf dest: /etc/lxc/ - name: Check if root has subuids command: grep '^root:100000:10000$' /etc/subuid failed_when: false changed_when: false register: root_subuids when: lxc_unprivilegied_containers | bool - name: Add subuid and subgid ranges to root command: usermod -v 100000-199999 -w 100000-109999 root when: - lxc_unprivilegied_containers | bool - root_subuids.rc != 0 - name: Check if /var has not mount options nodev or noexec shell: findmnt | grep -E "/var[^/]" | grep -e nodev -e noexec register: check_var changed_when: false failed_when: "check_var.rc == 0" - name: Create containers include: create-container.yml vars: name: "{{ item.name }}" release: "{{ item.release }}" loop: "{{ lxc_containers }}"