virt/tasks/main.yml
2023-11-12 11:04:09 +01:00

65 lines
1.8 KiB
YAML

---
# tasks file for vmserver
- name: install composant
pacman:
state: present # not required. choices: absent;latest;present. Desired state of the package.
name:
- libvirt
- bridge-utils
- dmidecode
- dnsmasq
- ovmf
# To create virtual machines
become: yes
notify: Enable and start libvirt services
- name: Add user to libvirt group
user:
name: '{{ user.name }}'
groups: libvirt
append: True
become: yes
- name: Enable libvirt hostname resolution
replace:
path: /etc/nsswitch.conf
regexp: '^hosts:\s+files\s+(?!libvirt)'
replace: 'hosts: files libvirt '
become: yes
- name: apply qemu.conf
template:
dest: /etc/libvirt/qemu.conf # required. Location to render the template to on the remote machine.
src: qemu.conf.j2 # required. Path of a Jinja2 formatted template on the Ansible controller. This can be a relative or absolute path.
become: yes
- debug:
msg: '{{ ansible_default_ipv4.type }}'
- name: set bridge template
template:
dest: /etc/netctl/bridge # required. Location to render the template to on the remote machine.
src: bridge.j2 # required. Path of a Jinja2 formatted template on the Ansible controller. This can be a relative or absolute path.
when: ansible_default_ipv4.type == "ether" and "wlp2s0" not in ansible_interfaces
become: yes
notify: bridge_enable
- name: add libvirt to nsswitch hosts
ansible.builtin.lineinfile:
dest: '/etc/nsswitch.conf'
regexp: '^hosts:'
line: 'hosts: files libvirt libvirt_guest mymachines myhostname resolve [!UNAVAIL=return] dns'
state: present
create: true
become: true
- name: enable bridge
systemd:
name: netctl@bridge.service
enabled: true
become: yes
- name: disable dhcpcd
systemd:
name: dhcpcd # required. Name of the service.
enabled: false
become: yes