From a1f2587db35f475ca13d33c92b09198f7f7e7c32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Mass=C3=A9?= Date: Thu, 18 Sep 2025 09:44:28 -0400 Subject: [PATCH] wip --- ansible/create-vm.yaml | 9 +++++++-- ansible/templates/cloud-init/network-config.j2 | 9 +++++++++ ansible/templates/cloud-init/user-data.j2 | 8 ++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 ansible/templates/cloud-init/network-config.j2 diff --git a/ansible/create-vm.yaml b/ansible/create-vm.yaml index cd1f771..2fae07a 100644 --- a/ansible/create-vm.yaml +++ b/ansible/create-vm.yaml @@ -18,6 +18,7 @@ libvirt_images_path: /var/lib/libvirt/images libvirt_domains_debug: '{{ debug | default(True) | bool }}' has_podman_artifact_extract: false + libvirt_domain_mac_address: "{{ '04:00:' ~ (libvirt_domain_parameters.ipv4_address | ansible.utils.ipv4('address') | ansible.utils.ip4_hex(':')) }}" ## ## Parameters of the VM to create @@ -25,7 +26,9 @@ libvirt_domain_parameters: name: test-vm - mac: 52:54:00:6b:3c:58 + ipv4_address: 192.168.122.10/24 + ipv4_gateway: 192.168.122.1 + ipv4_nameserver: 192.168.122.1 network: default rhel_version: 9 ram: 2048 @@ -47,6 +50,8 @@ dest: user-data - src: cloud-init/meta-data.j2 dest: meta-data + - src: cloud-init/network-config.j2 + dest: network-config # Root disk source root_disk: ## @@ -72,7 +77,7 @@ size: '{{ libvirt_domain_parameters.disk }}' - network: network: '{{ libvirt_domain_parameters.network }}' - mac.address: '{{ libvirt_domain_parameters.mac }}' + mac.address: '{{ libvirt_domain_mac_address }}' - console: pty: target.type: virtio diff --git a/ansible/templates/cloud-init/network-config.j2 b/ansible/templates/cloud-init/network-config.j2 new file mode 100644 index 0000000..2204c4f --- /dev/null +++ b/ansible/templates/cloud-init/network-config.j2 @@ -0,0 +1,9 @@ +version: 2 +ethernets: + interface0: + match: + macaddress: "{{ libvirt_domain_mac_address }}" + set-name: interface0 + addresses: + - "{{ libvirt_domain_parameters.ipv4_address }}" + gateway4: "{{ libvirt_domain_parameters.ipv4_gateway }}" diff --git a/ansible/templates/cloud-init/user-data.j2 b/ansible/templates/cloud-init/user-data.j2 index 00ba69b..9a5b717 100644 --- a/ansible/templates/cloud-init/user-data.j2 +++ b/ansible/templates/cloud-init/user-data.j2 @@ -46,6 +46,14 @@ write_files: KerberosAuthentication no permissions: '0440' append: false +- path: /etc/NetworkManager/conf.d/00-static-dns.conf + content: | + [main] + rc-manager=unmanaged +- path: /etc/resolv.conf + content: | + search libvirt.test + nameserver {{ libvirt_domain_parameters.ipv4_nameserver }} runcmd: - systemctl disable --now --no-block rpcbind.socket