diff --git a/data/data/bootstrap/vsphere/files/etc/NetworkManager/dispatcher.d/30-local-dns-prepender.template b/data/data/bootstrap/vsphere/files/etc/NetworkManager/dispatcher.d/30-local-dns-prepender.template index c3c9d930311..d0c3ab837e7 100755 --- a/data/data/bootstrap/vsphere/files/etc/NetworkManager/dispatcher.d/30-local-dns-prepender.template +++ b/data/data/bootstrap/vsphere/files/etc/NetworkManager/dispatcher.d/30-local-dns-prepender.template @@ -20,11 +20,13 @@ EOF set +e if systemctl -q is-enabled systemd-resolved; then >&2 echo "NM resolv-prepender: Setting up systemd-resolved for local DNS" - if [[ ! -f /etc/systemd/resolved.conf.d/60-kni.conf ]]; then + DOMAIN=$(/bin/vmtoolsd --cmd 'info-get guestinfo.domain'); + if [[ -n "$DOMAIN" && ! -f /etc/systemd/resolved.conf.d/60-kni.conf ]]; then >&2 echo "NM resolv-prepender: Creating /etc/systemd/resolved.conf.d/60-kni.conf" mkdir -p /etc/systemd/resolved.conf.d echo "[Resolve]" > /etc/systemd/resolved.conf.d/60-kni.conf echo "DNS=$DNS_IP" >> /etc/systemd/resolved.conf.d/60-kni.conf + echo "Domains=$DOMAIN" >> /etc/systemd/resolved.conf.d/60-kni.conf if systemctl -q is-active systemd-resolved; then >&2 echo "NM resolv-prepender: restarting systemd-resolved" systemctl restart systemd-resolved diff --git a/data/data/vsphere/bootstrap/main.tf b/data/data/vsphere/bootstrap/main.tf index e3d8604e34a..67d75d6273a 100644 --- a/data/data/vsphere/bootstrap/main.tf +++ b/data/data/vsphere/bootstrap/main.tf @@ -42,6 +42,7 @@ resource "vsphere_virtual_machine" "vm_bootstrap" { "guestinfo.ignition.config.data" = base64encode(var.ignition_bootstrap) "guestinfo.ignition.config.data.encoding" = "base64" "guestinfo.hostname" = "${var.cluster_id}-bootstrap" + "guestinfo.domain" = "${var.cluster_domain}" } tags = var.tags }