--- - name: Install prerequisites apt: name: - apt-transport-https - ca-certificates - gnupg - lsb-release - dkms - build-essential state: present update_cache: yes - name: Disable KVM modules if present block: - name: Check if kvm modules are loaded shell: | lsmod | grep -E 'kvm_intel|kvm_amd|kvm' || true register: kvm_modules changed_when: false - name: Blacklist KVM modules copy: dest: /etc/modprobe.d/disable-kvm.conf content: | # Disabled for VirtualBox compatibility blacklist kvm blacklist kvm_intel blacklist kvm_amd when: kvm_modules.stdout != "" - name: Remove loaded KVM modules immediately shell: | rmmod kvm_intel || true rmmod kvm_amd || true rmmod kvm || true when: kvm_modules.stdout != "" ignore_errors: yes - name: Add VirtualBox repository GPG key ansible.builtin.apt_key: url: "{{ virtualbox_repo_key_url }}" state: present - name: Add VirtualBox apt repository ansible.builtin.apt_repository: repo: "{{ virtualbox_repo_url }}" state: present filename: "virtualbox" - name: Update apt cache apt: update_cache: yes - name: Install VirtualBox apt: name: "{{ virtualbox_package }}" state: present - name: Ensure vboxdrv is loaded command: /sbin/vboxconfig register: vboxconfig changed_when: "'done' in vboxconfig.stdout" - name: Add user to vboxusers group user: name: "{{ ansible_user }}" groups: vboxusers append: yes