70 lines
1.6 KiB
YAML

---
- 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