final update to creating VMs

This commit is contained in:
2025-07-14 10:50:29 -05:00
parent 98cad7348c
commit 23bdd17e25
10 changed files with 76 additions and 16 deletions

View File

@@ -1,9 +1,9 @@
--- ---
# file: host_vars/matchbox/vars # file: host_vars/docker01/vars
# Networking # Networking
# primary_interface: "enp1s0f0" # primary_interface: "enp1s0f0"
mac_address: "BC:24:11:03:A9:7B" #mac_address: "BC:24:11:03:A9:7B"
ip_address: 10.1.71.211 ip_address: 10.1.71.211
hostname: "{{ inventory_hostname }}.{{ base_domain }}" hostname: "{{ inventory_hostname }}.{{ base_domain }}"

View File

@@ -1,17 +1,15 @@
--- ---
# file: host_vars/prometheus/vars # file: host_vars/monitor/vars
# VM Definition # VM Definition
platform: "proxmox" platform: "proxmox"
proxmox_clone_node: "pve03" proxmox_clone_node: "pve03"
vm_clone_source: "fedora-42-large" vm_clone_source: "fedora-42-large"
vm_storage: "pve-general" vm_storage: "pve-general"
ha_group: "pv03" ha_group: "pve03"
# Networking # Networking
ip_address: 10.1.71.249 ip_address: 10.1.71.249
# primary_interface: "enp1s0f0"
# mac_address: "BC:24:11:03:A9:7B" # convert this to a proxmox read for VMs
# Software # Software
#terraform_version: "1.11.3" #terraform_version: "1.11.3"

View File

@@ -0,0 +1,48 @@
---
# file: host_vars/vm_template/vars
# Ansible vars template for hosts created via cloning.
# Supported hypervisors:
# - Proxmox
platform: "proxmox"
# This is the Proxmox node where all the VM templates are stored. (Templates are not global.)
proxmox_clone_node: "pve03"
# Templates are named in the following format (all lower case): <OS Distribution>-<OS Version>-<VM Size>
# Current OS offerings are:
# - Fedora (42)
# Current VM sizes are:
# - Small: 2 cores, 2GB memory, 8 GiB virtual disk
# - Medium: 2 cores, 4GB memory, 16 GiB virtual disk
# - Large: 4 cores, 4GB memory, 32 GiB virtual disk
# - Xlarge: 4 cores, 8GB memory, 64 GiB virtual disk
vm_clone_source: "fedora-42-large"
# Proxmox storage target.
vm_storage: "pve-general"
# Proxmox does not yet do dynamic load balancing, the host target sets the target for HA groups
# and backup groups. (ha_group will be factored out in the next functionality update.)
ha_group: "pve03"
proxmox_host_target: "pve03"
# Currently, only single NIC VMs using IPv4 are supported via cloning. The IP address also
# sets the Proxmox VMID. The VMID is a combination of the 3rd and 4th octet of the IPv4 address.
ip_address: 10.1.71.249
# Software
# Future enhancement will allow specification of additional software to automatically deploy to
# the VM after creation.
#terraform_version: "1.11.3"
# ---
hostname: "{{ inventory_hostname }}.{{ base_domain }}" # Change variable to fqdn

View File

@@ -19,6 +19,22 @@ freeipa:
hosts: hosts:
infra01: infra01:
prometheus:
hosts:
monitor:
node_explorer:
hosts:
monitor:
alertmanager:
hosts:
monitor:
grafana:
hosts:
monitor:
ipaserver: ipaserver:
hosts: hosts:
infra01.int.mk-labs.cloud: infra01.int.mk-labs.cloud:

View File

@@ -15,11 +15,11 @@
register: proxmox_vm_info register: proxmox_vm_info
- name: Extract net0 information - name: Extract net0 information
set_fact: ansible.builtin.set_fact:
vm_net0: "{{ proxmox_vm_info.proxmox_vms[0].config.net0 }}" vm_net0: "{{ proxmox_vm_info.proxmox_vms[0].config.net0 }}"
- name: Extract MAC address using regex - name: Extract MAC address using regex
set_fact: ansible.builtin.set_fact:
vm_mac_address: "{{ vm_net0 | regex_search('([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}') }}" vm_mac_address: "{{ vm_net0 | regex_search('([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}') }}"
- name: Add line to hosts file - name: Add line to hosts file

View File

@@ -4,7 +4,7 @@
gather_facts: false gather_facts: false
tasks: tasks:
- name: Create DNS entry for {{ inventory_hostname }} #on {{ groups['ipa_servers'][0] }} - name: Create DNS entry for {{ inventory_hostname }}
delegate_to: "{{ groups['ipaserver'][0] }}" delegate_to: "{{ groups['ipaserver'][0] }}"
freeipa.ansible_freeipa.ipadnsrecord: freeipa.ansible_freeipa.ipadnsrecord:
ipaapi_context: "server" ipaapi_context: "server"

View File

View File

@@ -9,4 +9,3 @@
delegate_to: "{{ inventory_hostname }}" delegate_to: "{{ inventory_hostname }}"
ansible.builtin.hostname: ansible.builtin.hostname:
name: "{{ hostname }}" name: "{{ hostname }}"
#delay: 20

View File

@@ -39,7 +39,6 @@
Upgrade Result: {{ upgrade_result }} Upgrade Result: {{ upgrade_result }}
Autoremove Result: {{ autoremove_result }} Autoremove Result: {{ autoremove_result }}
- name: Upgrade RHEL systems with DNF - name: Upgrade RHEL systems with DNF
when: ansible_os_family == "RedHat" and not (ansible_distribution_major_version == "7") when: ansible_os_family == "RedHat" and not (ansible_distribution_major_version == "7")
block: block: