When I commit the changes in order to create a container with a static address, flips out and returns one of those super obvious Python errors — It’s way too easy for me. II mean… yawn and
“stuff”.
I did the communal thing to do instead, come here to fovve others didn’t even try to solve it to give somebody else the chance
:
username@routelogic# commit
[ container ]
Traceback (most recent call last):
File "/usr/libexec/vyos/services/vyos-configd", line 157, in run_script
script.apply(c)
File "/usr/libexec/vyos/conf_mode/container.py", line 671, in apply
cmd(f'systemctl restart vyos-container-{name}.service')
File "/usr/lib/python3/dist-packages/vyos/utils/process.py", line 189, in cmd
raise OSError(code, feedback)
PermissionError: [Errno 1] failed to run command: None systemctl restart vyos-container-dns.service
returned:
exit code: 1
[[container]] failed
Commit failed
[edit]
username@routelogic#
The container itself has no special config:
username@routelogic# show container name dns
-allow-host-networks
description "technitium dns server"
image technitium/dns-server
+network dns {
+ address 10.53.53.53
+ mac 02:b3:38:c9:54:78
+}
restart always
volume /etc/dns {
destination /etc/dns
source /config/sharedvirtualbase/etc/dns
}
volume /etc/letsencrypt {
destination /etc/letsencrypt
source /config/sharedvirtualbase/etc/letsencrypt
}
[edit]
username@routelogic#
Does anybody know what that means?
I thought it might be the uid, but:
[edit]
username@routelogic# del container name dns uid
[edit]
username@routelogic# commit
[ container ]
Traceback (most recent call last):
File "/usr/libexec/vyos/services/vyos-configd", line 157, in run_script
script.apply(c)
File "/usr/libexec/vyos/conf_mode/container.py", line 671, in apply
cmd(f'systemctl restart vyos-container-{name}.service')
File "/usr/lib/python3/dist-packages/vyos/utils/process.py", line 189, in cmd
raise OSError(code, feedback)
PermissionError: [Errno 1] failed to run command: None systemctl restart vyos-container-dns.service
returned:
exit code: 1
[[container]] failed
Commit failed
[edit]
No luck. So I stepped it up:
username@routelogic# set container name dns privileged
[edit]
username@routelogic# commit
[ container ]
Traceback (most recent call last):
File "/usr/libexec/vyos/services/vyos-configd", line 157, in run_script
script.apply(c)
File "/usr/libexec/vyos/conf_mode/container.py", line 671, in apply
cmd(f'systemctl restart vyos-container-{name}.service')
File "/usr/lib/python3/dist-packages/vyos/utils/process.py", line 189, in cmd
raise OSError(code, feedback)
PermissionError: [Errno 1] failed to run command: None systemctl restart vyos-container-dns.service
returned:
exit code: 1
[[container]] failed
Commit failed
AFAIU privileged is more or less running the container as root, correct? Doesn’t with that (privileged) instead of showing the Python riddle of the day, it instead should exit in 0?[1].
in other words: work. I think. Not that it matters.
The changes I made to tthe filesystem are all under /config/sharedvirtualbase, nowhere near the paths mentioned.
However, if I unset the network the custom network it works, it won’t start because I have two more containers with conflicting ports on the host, but at least VyOS lets me:
username@routelogic# del container name dns privileged
[edit]
username@routelogic# del container name dns network
[edit]
username@routelogic# set container name dns allow-host-networks
[edit]
username@routelogic# commit
[edit]
username@routelogic#
This is all I have on that, config BTW:
username@routelogic# show container network dns
prefix 10.53.53.0/24
prefix ::ffff:a35:3500/120
[edit]
username@routelogic#
This is VyOS ver 2025.11.14, I just updated it from ver 2025.07.13; in which this wouldn’t work either.
I also noticed that there are no veth interfaces, I assume it’s because the container isn’t created using container networks, I mentioned it in case it’s relevant.
To save everybody time I reviewed the docs one more time, as I checked the issue was reproducible… re-reproducible?—IDK. potato=vodka, but it is **producible again. easy to be replicated on purpose. No hablo inglés[2].
I also verified that the new container actually starts with host networking — It does once I shut down the conflicting protocol+port containers.once I shut down the
Could you tell me where I’m screwing up, please?
Thanks.
I’ll be throwing pasta at the wall in the meantime, hopefully I’ll find something on my own, I’ll make sure to share & close this it if I do.