Holorouter Version
9.0.2
VCF Version
VCF 9.0.2.0
Target Type
vCenter Cluster
Describe the bug
While trying to create new DNS entries with:
PS /root> Set-HoloDeckDNSConfig -DNSRecord '10.1.1.200 test-a.site-a.vcf.lab'
Get-Content: Cannot find path '/dnsmasq/dnsmasq_configmap.yaml' because it does not exist.
30-05-2026 03:39:35 Unknown[2871788]: [ERROR] Failed to configure DNS entries
Failed to write to log file: Cannot bind argument to parameter 'Path' because it is an empty string.
30-05-2026 03:39:35 Unknown[2871788]: [ERROR] The property 'hosts' cannot be found on this object. Verify that the property exists and can be set.
Failed to write to log file: Cannot bind argument to parameter 'Path' because it is an empty string.
Exception: Exiting Function Set-HoloDeckDNSConfig
PS /root>
Followed by some troubleshooting:
PS /root> Set-HoloDeckDNSConfig -DNSRecord '10.1.1.200 test-a.site-a.vcf.lab'
Get-Content: Cannot find path '/dnsmasq/dnsmasq_configmap.yaml' because it does not exist.
30-05-2026 03:39:35 Unknown[2871788]: [ERROR] Failed to configure DNS entries
Failed to write to log file: Cannot bind argument to parameter 'Path' because it is an empty string.
30-05-2026 03:39:35 Unknown[2871788]: [ERROR] The property 'hosts' cannot be found on this object. Verify that the property exists and can be set.
Failed to write to log file: Cannot bind argument to parameter 'Path' because it is an empty string.
Exception: Exiting Function Set-HoloDeckDNSConfig
PS /root> Get-ChildItem -Recurse -Path "/" -Filter "get_configmap.py" -ErrorAction SilentlyContinue
Directory: /holodeck-runtime/dnsmasq
UnixMode User Group LastWriteTime Size Name
-------- ---- ----- ------------- ---- ----
-rw-r----- root root 1/21/2026 14:42 686 get_configmap.py
PS /root> $config
PS /root> Get-HoloDeckDNSConfig
/usr/bin/python: can't open file '/dnsmasq/get_configmap.py': [Errno 2] No such file or directory
PS /root>
Reproduction steps
- Get-HoloDeckDNSConfig
Expected behavior
Get-HoloDeckDNSConfig should not produce an error.
Relevant logs
root@holorouter [ ~ ]# kubectl get pods -A | grep -i "dnsmasq" | cut --fields=9 --delimiter=" " | xargs -I {} sh -c 'printf "**********\nSTART pod: {}\n**********\n" ; kubectl describe pod {} ; kubectl logs {} ; printf "**********\nEND pod: {}\n**********\n"'
**********
START pod: dnsmasq-dhcp-deployment-c9bcb98b6-tl4vw
**********
Name: dnsmasq-dhcp-deployment-c9bcb98b6-tl4vw
Namespace: default
Priority: 0
Service Account: default
Node: holorouter/10.4.2.54
Start Time: Sat, 30 May 2026 03:01:57 +0000
Labels: app=dnsmasq-dhcp
pod-template-hash=c9bcb98b6
Annotations: <none>
Status: Running
IP: 10.4.2.54
IPs:
IP: 10.4.2.54
Controlled By: ReplicaSet/dnsmasq-dhcp-deployment-c9bcb98b6
Containers:
dnsmasq:
Container ID: containerd://0d9d908af9c02252ca9e211a843499cd32f9c45322445edd983851585acd5511
Image: vcf.lab/dnsmasq
Image ID: sha256:7cd9ab7764e517029d50f35f43eeb9469522f988e5def3857834b65473dbdf36
Ports: 67/TCP, 67/UDP
Host Ports: 67/TCP, 67/UDP
State: Running
Started: Sat, 30 May 2026 03:01:57 +0000
Ready: True
Restart Count: 0
Limits:
cpu: 1
memory: 1Gi
Requests:
cpu: 200m
memory: 256Mi
Environment: <none>
Mounts:
/etc/dnsmasq.conf from config-volume (ro,path="dnsmasq-dhcp.conf")
/etc/hosts from config-volume (ro,path="hosts")
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-29tcs (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
config-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: dnsmasq
Optional: false
kube-api-access-29tcs:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 33m default-scheduler 0/1 nodes are available: 1 node(s) didn't have free ports for the requested pod ports. preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod..
Normal Scheduled 33m default-scheduler Successfully assigned default/dnsmasq-dhcp-deployment-c9bcb98b6-tl4vw to holorouter
Normal Pulled 33m kubelet Container image "vcf.lab/dnsmasq" already present on machine
Normal Created 33m kubelet Created container dnsmasq
Normal Started 33m kubelet Started container dnsmasq
dnsmasq: started, version 2.90 DNS disabled
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-UBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset no-nftset auth cryptohash DNSSEC loop-detect inotify dumpfile
dnsmasq-dhcp: DHCP, IP range 10.1.3.130 -- 10.1.3.200, lease time 1d
dnsmasq-dhcp: DHCP, IP range 10.1.1.220 -- 10.1.1.239, lease time 1d
**********
END pod: dnsmasq-dhcp-deployment-c9bcb98b6-tl4vw
**********
**********
START pod: dnsmasq-dns-deployment-66d9fbfb9b-5mnxs
**********
Name: dnsmasq-dns-deployment-66d9fbfb9b-5mnxs
Namespace: default
Priority: 0
Service Account: default
Node: holorouter/10.4.2.54
Start Time: Sat, 30 May 2026 03:01:55 +0000
Labels: app=dnsmasq-dns
pod-template-hash=66d9fbfb9b
Annotations: <none>
Status: Running
IP: 10.244.0.68
IPs:
IP: 10.244.0.68
Controlled By: ReplicaSet/dnsmasq-dns-deployment-66d9fbfb9b
Containers:
dnsmasq:
Container ID: containerd://ccd32c3805651b2f3e80f221b82039bd1ca8836390deec916c34984796284227
Image: vcf.lab/dnsmasq
Image ID: sha256:7cd9ab7764e517029d50f35f43eeb9469522f988e5def3857834b65473dbdf36
Ports: 53/TCP, 53/UDP
Host Ports: 0/TCP, 0/UDP
State: Running
Started: Sat, 30 May 2026 03:01:56 +0000
Ready: True
Restart Count: 0
Limits:
cpu: 500m
memory: 1Gi
Requests:
cpu: 200m
memory: 256Mi
Environment: <none>
Mounts:
/etc/dnsmasq.conf from config-volume (ro,path="dnsmasq-dns.conf")
/etc/hosts from config-volume (ro,path="hosts")
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-l4s8x (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
config-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: dnsmasq
Optional: false
kube-api-access-l4s8x:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 33m default-scheduler Successfully assigned default/dnsmasq-dns-deployment-66d9fbfb9b-5mnxs to holorouter
Normal Pulled 33m kubelet Container image "vcf.lab/dnsmasq" already present on machine
Normal Created 33m kubelet Created container dnsmasq
Normal Started 33m kubelet Started container dnsmasq
dnsmasq: started, version 2.90 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-UBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset no-nftset auth cryptohash DNSSEC loop-detect inotify dumpfile
dnsmasq: using nameserver 10.50.0.250#53
dnsmasq: read /etc/hosts - 206 names
**********
END pod: dnsmasq-dns-deployment-66d9fbfb9b-5mnxs
**********
**********
START pod: dnsmasq-dns-deployment-66d9fbfb9b-g6c8f
**********
Name: dnsmasq-dns-deployment-66d9fbfb9b-g6c8f
Namespace: default
Priority: 0
Service Account: default
Node: holorouter/10.4.2.54
Start Time: Sat, 30 May 2026 03:01:55 +0000
Labels: app=dnsmasq-dns
pod-template-hash=66d9fbfb9b
Annotations: <none>
Status: Running
IP: 10.244.0.69
IPs:
IP: 10.244.0.69
Controlled By: ReplicaSet/dnsmasq-dns-deployment-66d9fbfb9b
Containers:
dnsmasq:
Container ID: containerd://7919ae27d6fa20de041e98f843967ff1ef303584911cdd8c75e8cee743d3a0ff
Image: vcf.lab/dnsmasq
Image ID: sha256:7cd9ab7764e517029d50f35f43eeb9469522f988e5def3857834b65473dbdf36
Ports: 53/TCP, 53/UDP
Host Ports: 0/TCP, 0/UDP
State: Running
Started: Sat, 30 May 2026 03:01:56 +0000
Ready: True
Restart Count: 0
Limits:
cpu: 500m
memory: 1Gi
Requests:
cpu: 200m
memory: 256Mi
Environment: <none>
Mounts:
/etc/dnsmasq.conf from config-volume (ro,path="dnsmasq-dns.conf")
/etc/hosts from config-volume (ro,path="hosts")
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-l6l6l (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
config-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: dnsmasq
Optional: false
kube-api-access-l6l6l:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 33m default-scheduler Successfully assigned default/dnsmasq-dns-deployment-66d9fbfb9b-g6c8f to holorouter
Normal Pulled 33m kubelet Container image "vcf.lab/dnsmasq" already present on machine
Normal Created 33m kubelet Created container dnsmasq
Normal Started 33m kubelet Started container dnsmasq
dnsmasq: started, version 2.90 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-UBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset no-nftset auth cryptohash DNSSEC loop-detect inotify dumpfile
dnsmasq: using nameserver 10.50.0.250#53
dnsmasq: read /etc/hosts - 206 names
**********
END pod: dnsmasq-dns-deployment-66d9fbfb9b-g6c8f
**********
**********
START pod: dnsmasq-dns-deployment-66d9fbfb9b-ghd26
**********
Name: dnsmasq-dns-deployment-66d9fbfb9b-ghd26
Namespace: default
Priority: 0
Service Account: default
Node: holorouter/10.4.2.54
Start Time: Sat, 30 May 2026 03:01:55 +0000
Labels: app=dnsmasq-dns
pod-template-hash=66d9fbfb9b
Annotations: <none>
Status: Running
IP: 10.244.0.67
IPs:
IP: 10.244.0.67
Controlled By: ReplicaSet/dnsmasq-dns-deployment-66d9fbfb9b
Containers:
dnsmasq:
Container ID: containerd://6d423bb1811c8db63bee8600c64bddf30a114fc30453059e5652b1940c6d84ca
Image: vcf.lab/dnsmasq
Image ID: sha256:7cd9ab7764e517029d50f35f43eeb9469522f988e5def3857834b65473dbdf36
Ports: 53/TCP, 53/UDP
Host Ports: 0/TCP, 0/UDP
State: Running
Started: Sat, 30 May 2026 03:01:56 +0000
Ready: True
Restart Count: 0
Limits:
cpu: 500m
memory: 1Gi
Requests:
cpu: 200m
memory: 256Mi
Environment: <none>
Mounts:
/etc/dnsmasq.conf from config-volume (ro,path="dnsmasq-dns.conf")
/etc/hosts from config-volume (ro,path="hosts")
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-lchsg (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
config-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: dnsmasq
Optional: false
kube-api-access-lchsg:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 33m default-scheduler Successfully assigned default/dnsmasq-dns-deployment-66d9fbfb9b-ghd26 to holorouter
Normal Pulled 33m kubelet Container image "vcf.lab/dnsmasq" already present on machine
Normal Created 33m kubelet Created container dnsmasq
Normal Started 33m kubelet Started container dnsmasq
dnsmasq: started, version 2.90 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-UBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset no-nftset auth cryptohash DNSSEC loop-detect inotify dumpfile
dnsmasq: using nameserver 10.50.0.250#53
dnsmasq: read /etc/hosts - 206 names
**********
END pod: dnsmasq-dns-deployment-66d9fbfb9b-ghd26
**********
root@holorouter [ ~ ]#
Additional context
VCF 9.0.2 successfully installed.
Never encountered this error before.
Holorouter Version
9.0.2
VCF Version
VCF 9.0.2.0
Target Type
vCenter Cluster
Describe the bug
While trying to create new DNS entries with:
Followed by some troubleshooting:
Reproduction steps
Expected behavior
Get-HoloDeckDNSConfig should not produce an error.
Relevant logs
Additional context
VCF 9.0.2 successfully installed.
Never encountered this error before.