Pull correct tasks definitions from v1.0.0

This commit is contained in:
Eric Meehan 2025-07-31 10:00:20 -04:00
parent ee1dd815e9
commit 237e337430
11 changed files with 53 additions and 27 deletions

View File

@ -1,3 +1,4 @@
name: alpha-worker-13 name: alpha-worker-13
vcpu: vcpu:
placement: static
value: 2 value: 2

View File

@ -1,3 +1,4 @@
name: alpha-worker-14 name: alpha-worker-14
vcpu: vcpu:
placement: static
value: 2 value: 2

View File

@ -1,3 +1,4 @@
name: alpha-worker-15 name: alpha-worker-15
vcpu: vcpu:
placement: static
value: 2 value: 2

View File

@ -1,3 +1,4 @@
name: alpha-worker-16 name: alpha-worker-16
vcpu: vcpu:
placement: static
value: 2 value: 2

View File

@ -1,3 +1,4 @@
name: alpha-worker-17 name: alpha-worker-17
vcpu: vcpu:
placement: static
value: 2 value: 2

1
host_vars/evm.yaml Normal file
View File

@ -0,0 +1 @@
name: evm

View File

@ -13,4 +13,5 @@ libvirt_guests:
- alpha-worker-15 - alpha-worker-15
- alpha-worker-16 - alpha-worker-16
- alpha-worker-17 - alpha-worker-17
- evm
nfs_exports: ["/data *(rw,sync,no_root_squash)"] nfs_exports: ["/data *(rw,sync,no_root_squash)"]

View File

@ -15,6 +15,9 @@ all:
vms: vms:
children: children:
user:
hosts:
evm:
clusters: clusters:
children: children:
control_planes: control_planes:

View File

@ -55,9 +55,19 @@
line: 'net.ipv6.conf.all.forwarding = 1' line: 'net.ipv6.conf.all.forwarding = 1'
state: present state: present
- name: Copy interfaces template
template:
src: interfaces.j2
dest: /etc/network/interfaces
- name: Reload sysctl configuration - name: Reload sysctl configuration
command: sysctl --system command: sysctl --system
- name: Reload network service
service:
name: networking
state: restarted
- name: Define libvirt networks - name: Define libvirt networks
community.libvirt.virt_net: community.libvirt.virt_net:
name: "{{ item.name }}" name: "{{ item.name }}"
@ -77,51 +87,50 @@
autostart: true autostart: true
loop: "{{ libvirt_networks }}" loop: "{{ libvirt_networks }}"
- name: Ensure that a network is active (needs to be defined and built first) - name: Download base image
community.libvirt.virt_net:
state: active
name: "{{ item.name }}"
loop: "{{ libvirt_networks }}"
- name: Download base image for guests
get_url: get_url:
url: https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2 url: https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2
dest: /var/lib/libvirt/images/debian-12-generic-amd64.qcow2
force: true
- name: Copy base image
copy:
src: /var/lib/libvirt/images/debian-12-generic-amd64.qcow2
remote_src: true
dest: "/var/lib/libvirt/images/{{ item }}.qcow2" dest: "/var/lib/libvirt/images/{{ item }}.qcow2"
force: true force: true
loop: "{{ libvirt_guests }}" loop: "{{ libvirt_guests }}"
- name: Create cloud-config directory for guests - name: Resize images
command: "qemu-img resize -f qcow2 /var/lib/libvirt/images/{{ item }}.qcow2 16G"
loop: "{{ libvirt_guests }}"
- name: Create cloud-config directory
file: file:
path: "/var/lib/libvirt/configs/{{ item }}" path: "/tmp/{{ item }}"
state: directory state: directory
loop: "{{ libvirt_guests }}" loop: "{{ libvirt_guests }}"
- name: Copy cloud-config templates for guests - name: Copy cloud-config user-data template
template: template:
src: user-data.j2 src: user-data.j2
dest: "/var/lib/libvirt/configs/{{ domain.name }}/user-data" dest: "/tmp/{{ domain.name }}/user-data"
force: true force: true
loop: "{{ libvirt_guests }}" loop: "{{ libvirt_guests }}"
vars: vars:
domain: "{{ hostvars[item] }}" domain: "{{ hostvars[item] }}"
- name: Copy cloud-config templates for guests - name: Copy cloud-config meta-data template
template: template:
src: meta-data.j2 src: meta-data.j2
dest: "/var/lib/libvirt/configs/{{ domain.name }}/meta-data" dest: "/tmp/{{ domain.name }}/meta-data"
force: true force: true
loop: "{{ libvirt_guests }}" loop: "{{ libvirt_guests }}"
vars: vars:
domain: "{{ hostvars[item] }}" domain: "{{ hostvars[item] }}"
- name: Generate iso for guests - name: Generate iso
command: "genisoimage -output /var/lib/libvirt/images/{{ item }}.iso -volid cidata -joliet -rock /var/lib/libvirt/configs/{{ item }}/user-data /var/lib/libvirt/configs/{{ item }}/meta-data" command: "genisoimage -output /var/lib/libvirt/images/{{ item }}.iso -volid cidata -joliet -rock /tmp/{{ item }}/user-data /tmp/{{ item }}/meta-data"
loop: "{{ libvirt_guests }}"
- name: Copy logging config for guests
copy:
src: 05_logging.cfg
dest: "/var/lib/libvirt/configs/{{ item }}/05_logging.cfg"
loop: "{{ libvirt_guests }}" loop: "{{ libvirt_guests }}"
- name: Define libvirt virtual machine - name: Define libvirt virtual machine
@ -138,12 +147,20 @@
command: create command: create
loop: "{{ libvirt_guests }}" loop: "{{ libvirt_guests }}"
- name: Autostart libvirt virtual machine - name: Autostart libvirt virtual machines
community.libvirt.virt: community.libvirt.virt:
name: "{{ item }}" name: "{{ item }}"
autostart: true autostart: true
loop: "{{ libvirt_guests }}" loop: "{{ libvirt_guests }}"
- name: Wait for guest initialization
wait_for:
timeout: 300
- name: Reset libvirt virtual machines for filesystem resize
command: "virsh reset {{ item }}"
loop: "{{ libvirt_guests }}"
- name: Wait for manual tasks - name: Wait for manual tasks
hosts: localhost hosts: localhost
tasks: tasks:
@ -158,6 +175,7 @@
- alpha-worker-15 - alpha-worker-15
- alpha-worker-16 - alpha-worker-16
- alpha-worker-17 - alpha-worker-17
- evm
become: true become: true
vars_files: vars_files:
- ../secrets.yaml - ../secrets.yaml
@ -216,7 +234,7 @@
- role: geerlingguy.kubernetes - role: geerlingguy.kubernetes
- name: Deploy base Kubernetes resources - name: Deploy base Kubernetes resources
hosts: alpha_control_plane hosts: alpha-control-plane
become: true become: true
tasks: tasks:
- name: Deploy NFS Provisioner - name: Deploy NFS Provisioner

@ -1 +1 @@
Subproject commit 410e87d127cdc942f01bbed09b6a6c1ba041d237 Subproject commit 5de5270b7346a6b4a3c69fbea3aa56116f158547

View File

@ -4,6 +4,4 @@
vars_files: vars_files:
- ../secrets.yaml - ../secrets.yaml
roles: roles:
- role: ericomeehan.matrix-stack - role: ericomeehan.mastodon
vars:
server_name: eom.dev