- name: Permit unprivileged access to kvm, vhost-vsock and vhost-net devices
shell: bash
run: |
- sudo sed -i '/kvm/s/0660/0666/g' /usr/lib/tmpfiles.d/static-nodes-permissions.conf
- sudo sed -i '/vhost/s/0660/0666/g' /usr/lib/tmpfiles.d/static-nodes-permissions.conf
+ sudo mkdir -p /etc/tmpfiles.d
+ sudo cp /usr/lib/tmpfiles.d/static-nodes-permissions.conf /etc/tmpfiles.d/
+ sudo sed -i '/kvm/s/0660/0666/g' /etc/tmpfiles.d/static-nodes-permissions.conf
+ sudo sed -i '/vhost/s/0660/0666/g' /etc/tmpfiles.d/static-nodes-permissions.conf
+ sudo tee /etc/udev/rules.d/99-kvm4all.rules <<- EOF
+ KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"
+ KERNEL=="vhost-vsock", GROUP="kvm", MODE="0666", OPTIONS+="static_node=vhost-vsock"
+ KERNEL=="vhost-net", GROUP="kvm", MODE="0666", OPTIONS+="static_node=vhost-net"
+ EOF
+ sudo udevadm control --reload-rules
sudo modprobe kvm
sudo modprobe vhost_vsock
sudo modprobe vhost_net
+ [[ -e /dev/kvm ]] && sudo udevadm trigger --name-match=kvm
+ sudo udevadm trigger --name-match=vhost-vsock
+ sudo udevadm trigger --name-match=vhost-net
[[ -e /dev/kvm ]] && sudo chmod 666 /dev/kvm
sudo chmod 666 /dev/vhost-vsock
sudo chmod 666 /dev/vhost-net