From f708b8bc2d0cb8f53a5e46023dfb7a4934a4a677 Mon Sep 17 00:00:00 2001 From: Marco Ferrari Date: Mon, 3 Jun 2024 21:55:30 +0200 Subject: [PATCH] feat: configure hl01 static ipv4 address --- .../group_vars/home_lab_proxmox_nodes/main.yaml | 1 + .../ferrarimarco_home_lab_proxmox/tasks/main.yaml | 5 +++++ .../templates/cloud-init/network.yaml.jinja | 15 ++++++++++----- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/config/ansible/inventory/group_vars/home_lab_proxmox_nodes/main.yaml b/config/ansible/inventory/group_vars/home_lab_proxmox_nodes/main.yaml index 7513e887e..45f461934 100644 --- a/config/ansible/inventory/group_vars/home_lab_proxmox_nodes/main.yaml +++ b/config/ansible/inventory/group_vars/home_lab_proxmox_nodes/main.yaml @@ -3,4 +3,5 @@ is_proxmox_node: true proxmox_vms: - hostname: hl01 default_network_interface_mac_address: "bc:24:11:d4:f6:64" + default_network_interface_name: eth0 ... diff --git a/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/main.yaml index afcc998b2..d954c4eef 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/main.yaml @@ -27,6 +27,11 @@ become: true vars: cloud_init_instance_mac_address: "{{ item.default_network_interface_mac_address }}" + cloud_init_network_interface_addresses: [ "{{ todo }}" ] + cloud_init_network_interface_default_ipv4_gateway: "{{ todo }}" + cloud_init_network_interface_dns_addresses: [ "{{ todo }}" ] + cloud_init_network_interface_name: "{{ item.default_network_interface_name }}" + cloud_init_network_interface_search: [ "{{ todo }}" ] with_items: "{{ proxmox_vms | default([]) }}" - name: Render cloud-init user-data snippets diff --git a/config/ansible/roles/ferrarimarco_home_lab_proxmox/templates/cloud-init/network.yaml.jinja b/config/ansible/roles/ferrarimarco_home_lab_proxmox/templates/cloud-init/network.yaml.jinja index c9268f097..1d4c7f0a6 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_proxmox/templates/cloud-init/network.yaml.jinja +++ b/config/ansible/roles/ferrarimarco_home_lab_proxmox/templates/cloud-init/network.yaml.jinja @@ -1,12 +1,17 @@ --- +# Ref: https://cloudinit.readthedocs.io/en/latest/reference/network-config-format-v2.html network: version: 2 ethernets: - eth0: - dhcp4: true - dhcp4-overrides: - use-domains: true + {{ cloud_init_network_interface_name }}: + addresses: + nameservers: {{ cloud_init_network_interface_addresses }} + addresses: {{ cloud_init_network_interface_dns_addresses }} + search: {{ cloud_init_network_interface_search }} match: macaddress: {{ cloud_init_instance_mac_address }} - set-name: eth0 + routes: + - to: 0.0.0.0/0 + via: {{ cloud_init_network_interface_default_ipv4_gateway }} + set-name: {{ cloud_init_network_interface_name }} ...