Catching up with current successes
This commit is contained in:
55
roles/Node/tasks/main.yml
Normal file
55
roles/Node/tasks/main.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
- name: Generate VM service files from inventory
|
||||
delegate_to: localhost
|
||||
register: systemd_files
|
||||
run_once: true
|
||||
command: "python3 ../bin/generate-systemd-vms.py {{ inventory_file }}"
|
||||
|
||||
- name: Install virtualization packages
|
||||
become: yes
|
||||
package:
|
||||
name:
|
||||
- edk2-ovmf
|
||||
- qemu-headless
|
||||
- ddrescue
|
||||
state: present
|
||||
|
||||
- name: Copy VM definitions
|
||||
become: yes
|
||||
register: vmdefs
|
||||
copy:
|
||||
src: vm-definitions/
|
||||
dest: /usr/lib/systemd/system
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Reload systemd daemon
|
||||
become: yes
|
||||
when: vmdefs.changed
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
|
||||
- name: QEMU Bridge Config
|
||||
become: yes
|
||||
copy:
|
||||
src: bridge.conf
|
||||
dest: /etc/qemu/bridge.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: System bridge interface
|
||||
become: yes
|
||||
register: br0
|
||||
copy:
|
||||
src: br0
|
||||
dest: /etc/netctl/br0
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Enable bridge
|
||||
become: yes
|
||||
when: br0.changed
|
||||
command: "/bin/bash -l -c 'netctl enable br0 && netctl restart br0'"
|
14
roles/Node/templates/vm.service.j2
Normal file
14
roles/Node/templates/vm.service.j2
Normal file
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=AniNIX/{{ inventory_hostname }}
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/sbin/qemu-system-x86_64 -name AniNIX/{{ inventory_hostname }} -machine type=pc,accel=kvm -bios /usr/share/edk2-ovmf/x64/OVMF.fd -cpu host -smp {{ cores }} {{ disks }} -net nic,macaddr={{ mac }},model=virtio -net bridge,br={{ bridge }} -vga std -nographic -vnc :{{ vnc }} -m size={{ memory }}G -device virtio-rng-pci
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
KillMode=process
|
||||
Restart=always
|
||||
User=root
|
||||
Group=root
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Reference in New Issue
Block a user