The Samba-Bugzilla – Bug 7301
DNS: samba_dnsupdate expect dns_update_list to be /usr/local/samba/private even if the samba server has been started with another private location
Last modified: 2010-04-19 02:21:15 UTC
The title of the bug says mostly all.
/usr/local/src/samba4/source4/scripting/bin/samba_dnsupdate: Traceback (most recent call last):
/usr/local/src/samba4/source4/scripting/bin/samba_dnsupdate: File "/usr/local/src/samba4/source4/scripting/bin/samba_dnsupdate", line 256, in <module>
/usr/local/src/samba4/source4/scripting/bin/samba_dnsupdate: file = open(dns_update_list, "r")
/usr/local/src/samba4/source4/scripting/bin/samba_dnsupdate: IOError: [Errno 2] No such file or directory: '/usr/local/samba/private/dns_update_list'
So if you start samba with a configuration file that indicate that the private dir is somewhere else dns_update_list still looks in /usr/local/samba/private.
That's due to the fact that configuration file location is not transmitted to the samba_dnsupdate.
No, this should be no bug. Look at the code (in the samba_dnsupdate.py):
254 dns_update_list = lp.private_path('dns_update_list')
256 file = open(dns_update_list, "r")
It calls loadparm to get the private directory. So you probably have to set the "private path" parameter in "smb.conf" to get it working.
And this "...even if the samba server has been started with another private location" should mean that you configured s4 with one private location and then start s4 with another one? Do you achieve this with a parameter?
So if it's not the problem I describe what can it be ?
Also please tell me how this object loadparm knows about what is the content of your smb.conf ? There is no magic in this ... if you want to use a configuration file that is somewhere else you MUST add -s otherwise your instantiation of lp (line 65) will use the default place (ie. /usr/local/samba/etc/smb.conf) for the configuration file.
And it turns out that starting manually samba_dnsupdate with the -s parameter works ... so I'm 99% sure that the bug is valid and the reason is the good one.
This seems like a reasonable bug, with a reasonable fix - always invoke the samba_dnsupdate with -s
Btw I've got the reasonable fix.
Created attachment 5554 [details]
Patch for fixing this bug
Andrew, could you comment on and maybe push the patch?
fixed in git master