Files
ansible_samba_tasks/tasks/testing.yml
Jose f954fd25b3 fix 🐛: Adjust VM memory for 'dc' template
This commit updates the VM memory allocation specifically for the 'dc' template, resolving an issue where memory was misconfigured. It also removes the outdated 'vm-01' entry, streamlining the configuration and ensuring optimal performance.
2025-12-12 20:15:39 +01:00

108 lines
4.1 KiB
YAML

- name: Deploy VM templates
hosts: node0
tasks:
# - name: Import variables from Ansible vault
# ansible.builtin.include_vars: secrets.yml
- name: Install proxmoxer from APT
apt:
name: python3-proxmoxer
state: present
update_cache: yes
- name: "[PREFLIGHT] Check if 'snippets' is already enabled for {{ proxmox_snippets_storage }}"
ansible.builtin.command: "grep -E 'dir:\\s*{{ proxmox_snippets_storage }}' -A5 /etc/pve/storage.cfg"
register: snippets_check
failed_when: false
changed_when: false
vars:
proxmox_snippets_storage: local
- name: "[PREFLIGHT] Determine whether 'snippets' is already configured"
ansible.builtin.set_fact:
snippets_already_present: "{{ 'snippets' in snippets_check.stdout }}"
- name: "[PREFLIGHT] Ensure 'snippets' is enabled for {{ proxmox_snippets_storage }}"
ansible.builtin.replace:
path: /etc/pve/storage.cfg
regexp: '(dir:\s*{{ proxmox_snippets_storage }}[\s\S]*?content\s+)(.*)(?<!snippets)'
replace: '\1\2,snippets'
when: not snippets_already_present
vars:
proxmox_snippets_storage: local
- name: "[PREFLIGHT] Ensure snippets storage directory exists"
ansible.builtin.file:
path: "{{ proxmox_snippets_storage_path }}/snippets"
state: directory
mode: "0755"
vars:
proxmox_snippets_storage_path: /var/lib/vz
- name: Deploy templates with proxmox_template_vm
ansible.builtin.include_role:
name: joshrnoll.homelab.proxmox_template_vm
vars:
proxmox_template_vm_supported_distros:
- fedora
- ubuntu
- debian
proxmox_template_vm_debian_image: debian-13-genericcloud-amd64-20251117-2299.qcow2
proxmox_template_vm_debian_image_url: https://cloud.debian.org/images/cloud/trixie/20251117-2299/debian-13-genericcloud-amd64-20251117-2299.qcow2
proxmox_template_vm_debian_ostype: l26
# Required to provide at least one
proxmox_template_vm_distros:
- debian
# Required proxmox credentials
proxmox_template_vm_proxmox_username: "{{ proxmox_username }}" # From Ansible vault
proxmox_template_vm_proxmox_api_token_id: "{{ proxmox_api_token_id }}" # From Ansible vault
proxmox_template_vm_proxmox_api_token_secret: "{{ proxmox_api_token_secret }}" # From Ansible vault
# Optional customizations for debian
proxmox_template_vm_debian_name: debian-template
proxmox_template_vm_debian_memory: 2048
proxmox_template_vm_debian_cores: 2
proxmox_template_vm_debian_storage: local-lvm
proxmox_template_vm_debian_ciuser: "{{ ciuser }}" # From Ansible vault
proxmox_template_vm_debian_cipassword: "{{ cipassword }}" # From Ansible vault
proxmox_template_vm_debian_sshkeys: "{{ ssh_public_keys | join('\n') }}" # gets your ssh key from /home/user/.ssh/id_rsa.pub -- customize this to your needs
# proxmox_template_vm_debian_vlan: 50
# Set to true if you have slow storage to avoid file locks
proxmox_template_vm_slow_storage: true
- name: Deploy VMs
ansible.builtin.include_role:
name: joshrnoll.homelab.create_proxmox_vms
vars:
# Proxmox credentials
create_proxmox_vms_proxmox_username: "{{ proxmox_username }}"
create_proxmox_vms_proxmox_api_token_id: "{{ proxmox_api_token_id }}"
create_proxmox_vms_proxmox_api_token_secret: "{{ proxmox_api_token_secret }}"
# VMs to be created
create_proxmox_vms_list:
- name: dc
template: 9412
vmid: 1000
memory: 2048
cores: 2
node: node0 # The hostname of the node that the VM will be created on
ciuser: "{{ ciuser }}"
cipassword: "{{ cipassword }}"
# sshkeys: "{{ lookup('file', lookup('env','HOME') + '/.ssh/id_rsa.pub') }}"
storage: local-lvm
disk_size: 8G
# vlan: 50
ip_address: 192.168.2.98/24
gateway: 192.168.2.1
nameservers:
- 192.168.2.100
- 8.8.8.8