Initial commit

This commit is contained in:
Tyler Hale 2025-02-21 17:14:35 -07:00
commit a3d3482a8a
Signed by: Tyler
GPG key ID: C7CC4B910D88EF96
9 changed files with 386 additions and 0 deletions

View file

@ -0,0 +1,33 @@
---
# file: roles/kvm/defaults/main.yml
kvm_manager_accounts:
- "{{ ansible_user }}"
kvm_management_group: "libvirt"
kvm_services:
- virtqemud.socket
- virtqemud-ro.socket
- virtqemud-admin.socket
- virtnetworkd.socket
- virtnetworkd-ro.socket
- virtnetworkd-admin.socket
- virtnodedevd.socket
- virtnodedevd-ro.socket
- virtnodedevd-admin.socket
- virtnwfilterd.socket
- virtnwfilterd-ro.socket
- virtnwfilterd-admin.socket
- virtsecretd.socket
- virtsecretd-ro.socket
- virtsecretd-admin.socket
- virtstoraged.socket
- virtstoraged-ro.socket
- virtstoraged-admin.socket
- virtinterfaced.socket
- virtinterfaced-ro.socket
- virtinterfaced-admin.socket
kvm_tuned: true
kvm_cockpit: false

View file

@ -0,0 +1,2 @@
---
# file: roles/kvm/handlers/main.yml

73
roles/kvm/tasks/main.yml Normal file
View file

@ -0,0 +1,73 @@
---
# file: roles/kvm/tasks/main.yml
- name: Ensure management group exists
group:
name: "{{ kvm_management_group }}"
state: present
- name: Add manager users to management group
user:
name: "{{ item }}"
groups: "{{ kvm_management_group }}"
append: yes
when: kvm_manager_accounts is defined
loop: "{{ kvm_manager_accounts }}"
- name: Install packages
package:
name:
- qemu-kvm
- libvirt
- virt-install
- virt-viewer
state: latest
- name: "Start and enable kvm services"
service:
name: "{{ item }}"
state: started
enabled: yes
loop: "{{ kvm_services }}"
- name: Install tuned
package:
name: tuned
state: latest
when: kvm_tuned
- name: Start and enable tuned service
service:
name: tuned
state: started
enabled: yes
when: kvm_tuned
- name: Check tuned profile
shell: "tuned-adm active"
args:
executable: /bin/bash
register: tuned_profile
when: kvm_tuned
changed_when: false
- name: Set tuned profile
shell: "tuned-adm profile virtual-host"
args:
executable: /bin/bash
when: tuned_profile.stdout is not search("virtual-host")
- name: Install cockpit package
package:
name:
- cockpit
- cockpit-machines
state: latest
when: kvm_cockpit
- name: Start and enable cockpit service
service:
name: cockpit.socket
state: started
enabled: yes
when: kvm_cockpit