From 9b85eabf41aaeca0d385636ded83066aaa2ced43 Mon Sep 17 00:00:00 2001 From: rblundon Date: Mon, 18 Aug 2025 09:07:03 -0500 Subject: [PATCH] additional vm template changes and k8s node definitions --- ansible/host_vars/big-thunder-mountain/vars | 49 +++++++++++++++++++ ansible/host_vars/haunted-mansion/vars | 49 +++++++++++++++++++ ansible/host_vars/peter-pans-flight/vars | 49 +++++++++++++++++++ ansible/host_vars/space-mountain/vars | 5 +- ansible/host_vars/splash-mountain/vars | 49 +++++++++++++++++++ ansible/inventory.yml | 17 +++++++ ansible/playbooks/create_vm_from_clone.yml | 8 +-- .../fedora-42-large-plus.pkrvars.hcl | 2 +- .../fedora-42-xlarge-plus.pkrvars.hcl | 28 +++++++++++ .../fedora-42/fedora-42-xlarge.pkrvars.hcl | 4 +- 10 files changed, 251 insertions(+), 9 deletions(-) create mode 100644 ansible/host_vars/big-thunder-mountain/vars create mode 100644 ansible/host_vars/haunted-mansion/vars create mode 100644 ansible/host_vars/peter-pans-flight/vars create mode 100644 ansible/host_vars/splash-mountain/vars create mode 100755 infra-config/04-vm-templates/fedora-42/fedora-42-xlarge-plus.pkrvars.hcl diff --git a/ansible/host_vars/big-thunder-mountain/vars b/ansible/host_vars/big-thunder-mountain/vars new file mode 100644 index 0000000..9267c77 --- /dev/null +++ b/ansible/host_vars/big-thunder-mountain/vars @@ -0,0 +1,49 @@ +--- +# 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: "fantasyland" + +# Templates are named in the following format (all lower case): -- +# 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 +# - Large Plus: 4 cores, 4GB memory, 48 GiB virtual disk +# - Xlarge: 4 cores, 8GB memory, 64 GiB virtual disk + +vm_clone_source: "fedora-42-large-plus" + +# Proxmox storage target. + +vm_storage: "mk-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.52 + +# 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 diff --git a/ansible/host_vars/haunted-mansion/vars b/ansible/host_vars/haunted-mansion/vars new file mode 100644 index 0000000..cfe6d87 --- /dev/null +++ b/ansible/host_vars/haunted-mansion/vars @@ -0,0 +1,49 @@ +--- +# 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: "fantasyland" + +# Templates are named in the following format (all lower case): -- +# 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 +# - Large Plus: 4 cores, 4GB memory, 48 GiB virtual disk +# - Xlarge: 4 cores, 8GB memory, 64 GiB virtual disk + +vm_clone_source: "fedora-42-xlarge" + +# Proxmox storage target. + +vm_storage: "mk-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.61 + +# 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 diff --git a/ansible/host_vars/peter-pans-flight/vars b/ansible/host_vars/peter-pans-flight/vars new file mode 100644 index 0000000..99a2316 --- /dev/null +++ b/ansible/host_vars/peter-pans-flight/vars @@ -0,0 +1,49 @@ +--- +# 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: "fantasyland" + +# Templates are named in the following format (all lower case): -- +# 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 +# - Large Plus: 4 cores, 4GB memory, 48 GiB virtual disk +# - Xlarge: 4 cores, 8GB memory, 64 GiB virtual disk + +vm_clone_source: "fedora-42-xlarge" + +# Proxmox storage target. + +vm_storage: "mk-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.62 + +# 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 diff --git a/ansible/host_vars/space-mountain/vars b/ansible/host_vars/space-mountain/vars index 3c2e5bd..0d4aa60 100644 --- a/ansible/host_vars/space-mountain/vars +++ b/ansible/host_vars/space-mountain/vars @@ -18,9 +18,10 @@ proxmox_clone_node: "fantasyland" # - 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 +# - Large Plus: 4 cores, 4GB memory, 48 GiB virtual disk # - Xlarge: 4 cores, 8GB memory, 64 GiB virtual disk -vm_clone_source: "fedora-42-small" +vm_clone_source: "fedora-42-large-plus" # Proxmox storage target. @@ -35,7 +36,7 @@ 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.21 +ip_address: 10.1.71.51 # Software # Future enhancement will allow specification of additional software to automatically deploy to diff --git a/ansible/host_vars/splash-mountain/vars b/ansible/host_vars/splash-mountain/vars new file mode 100644 index 0000000..5ee0af0 --- /dev/null +++ b/ansible/host_vars/splash-mountain/vars @@ -0,0 +1,49 @@ +--- +# 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: "fantasyland" + +# Templates are named in the following format (all lower case): -- +# 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 +# - Large Plus: 4 cores, 4GB memory, 48 GiB virtual disk +# - Xlarge: 4 cores, 8GB memory, 64 GiB virtual disk + +vm_clone_source: "fedora-42-large-plus" + +# Proxmox storage target. + +vm_storage: "mk-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.53 + +# 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 diff --git a/ansible/inventory.yml b/ansible/inventory.yml index 1cccdd6..1eace39 100644 --- a/ansible/inventory.yml +++ b/ansible/inventory.yml @@ -62,6 +62,23 @@ internal_cluster: # int-worker01: int-worker02: +fastpass_control_plane: + hosts: + space-mountain: # ansible_host=10.1.71.50 + big-thunder-mountain: # ansible_host=10.1.71.51 + splash-mountain: # ansible_host=10.1.71.52 + +fastpass_workers: + hosts: + haunted-mansion: # backstage + pete-pans-flight: # backstage + + +fastpass: + children: + fastpass_control_plane: + fastpass_workers: + sql_servers: hosts: sql01: diff --git a/ansible/playbooks/create_vm_from_clone.yml b/ansible/playbooks/create_vm_from_clone.yml index e1001a7..f2d6987 100644 --- a/ansible/playbooks/create_vm_from_clone.yml +++ b/ansible/playbooks/create_vm_from_clone.yml @@ -6,11 +6,11 @@ - name: Proxmox Clone VM Playbook ansible.builtin.import_playbook: proxmox_clone_vm.yml -- name: DNS Playbook - ansible.builtin.import_playbook: add_dns_entry.yml +# - name: DNS Playbook +# ansible.builtin.import_playbook: add_dns_entry.yml -- name: DHCP Playbook - ansible.builtin.import_playbook: add_dhcp_entry.yml +# - name: DHCP Playbook +# ansible.builtin.import_playbook: add_dhcp_entry.yml - name: Start VM Playbook ansible.builtin.import_playbook: proxmox_start_vm.yml diff --git a/infra-config/04-vm-templates/fedora-42/fedora-42-large-plus.pkrvars.hcl b/infra-config/04-vm-templates/fedora-42/fedora-42-large-plus.pkrvars.hcl index ff3a7f3..3d63aa9 100755 --- a/infra-config/04-vm-templates/fedora-42/fedora-42-large-plus.pkrvars.hcl +++ b/infra-config/04-vm-templates/fedora-42/fedora-42-large-plus.pkrvars.hcl @@ -6,7 +6,7 @@ vm_boot_wait = "5s" vm_name = "fedora-42-large-plus" -vm_id = "9105" +vm_id = "9104" vm_cpu_sockets = "1" vm_cpu_cores = "4" vm_mem_size = "4096" diff --git a/infra-config/04-vm-templates/fedora-42/fedora-42-xlarge-plus.pkrvars.hcl b/infra-config/04-vm-templates/fedora-42/fedora-42-xlarge-plus.pkrvars.hcl new file mode 100755 index 0000000..f160474 --- /dev/null +++ b/infra-config/04-vm-templates/fedora-42/fedora-42-xlarge-plus.pkrvars.hcl @@ -0,0 +1,28 @@ +################################################################################## +# VARIABLES +################################################################################## + +# Virtual Machine Settings + +vm_boot_wait = "5s" +vm_name = "fedora-42-xlarge" +vm_id = "9106" +vm_cpu_sockets = "1" +vm_cpu_cores = "4" +vm_mem_size = "8192" +vm_disk_size = "128" + +proxmox_bridge = "vmbr0" +#proxmox_vlan = "71" + +ssh_username = "wed" + +# ISO Objects + +iso_file = "Fedora-Server-netinst-x86_64-42-1.1.iso" +iso_checksum = "231f3e0d1dc8f565c01a9f641b3d16c49cae44530074bc2047fe2373a721c82f" +iso_checksum_type = "sha256" + +# Scripts + +shell_scripts = ["scripts/cleanup.sh"] diff --git a/infra-config/04-vm-templates/fedora-42/fedora-42-xlarge.pkrvars.hcl b/infra-config/04-vm-templates/fedora-42/fedora-42-xlarge.pkrvars.hcl index 2e67a07..d1ebd2f 100755 --- a/infra-config/04-vm-templates/fedora-42/fedora-42-xlarge.pkrvars.hcl +++ b/infra-config/04-vm-templates/fedora-42/fedora-42-xlarge.pkrvars.hcl @@ -6,11 +6,11 @@ vm_boot_wait = "5s" vm_name = "fedora-42-xlarge" -vm_id = "9104" +vm_id = "9105" vm_cpu_sockets = "1" vm_cpu_cores = "4" vm_mem_size = "8192" -vm_disk_size = "128" +vm_disk_size = "64" proxmox_bridge = "vmbr0" #proxmox_vlan = "71"