fix: honor libvirt network config, preserve DHCP DNS with search-only NM config, and exact-match Xen VM names
This commit is contained in:
@@ -15,7 +15,7 @@ method=auto
|
||||
{% if dns_list %}
|
||||
dns={{ dns_list | join(';') }}
|
||||
{% endif %}
|
||||
{% if dns_list or search_list %}
|
||||
{% if dns_list %}
|
||||
ignore-auto-dns=true
|
||||
{% endif %}
|
||||
{% if search_list %}
|
||||
|
||||
@@ -101,7 +101,11 @@
|
||||
when: hypervisor_type == "xen"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- hostname not in system_check_xen_existing_vms.stdout | default('')
|
||||
- >-
|
||||
not (
|
||||
system_check_xen_existing_vms.stdout | default('')
|
||||
is search('(?m)^' ~ (hostname | ansible.builtin.regex_escape) ~ '\\s+\\d+\\s')
|
||||
)
|
||||
fail_msg: |
|
||||
VM {{ hostname }} already exists on Xen hypervisor.
|
||||
To avoid data loss, the playbook will not overwrite or delete existing VMs.
|
||||
|
||||
@@ -74,4 +74,6 @@
|
||||
virtualization_vm_created_in_run: true
|
||||
when:
|
||||
- virtualization_xen_list_result is defined
|
||||
- hostname in virtualization_xen_list_result.stdout
|
||||
- >-
|
||||
virtualization_xen_list_result.stdout | default('')
|
||||
is search('(?m)^' ~ (hostname | ansible.builtin.regex_escape) ~ '\\s+\\d+\\s')
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
{% endif %}
|
||||
<interface type='network'>
|
||||
<mac address="{{ virtualization_mac_address }}"/>
|
||||
<source network='default'/>
|
||||
<source network='{{ system_cfg.network if (system_cfg.network | default('' ) | string | length) > 0 else "default" }}'/>
|
||||
<model type='virtio'/>
|
||||
</interface>
|
||||
{% if virtualization_tpm2_enabled %}
|
||||
|
||||
Reference in New Issue
Block a user