TFTP service no longer starts on FreeNAS-9.3-STABLE-201502210408
When attempting to start the TFTPD service on the latest build, it does not start. The following messages from /var/log/messages:
Feb 22 15:05:41 tardis notifier: tftp does not exist in /etc/rc.d or the local startup
Feb 22 15:05:41 tardis notifier: directories (/etc/ix.rc.d /usr/local/etc/rc.d)
Feb 22 15:05:58 tardis notifier: inetd not running? (check /var/run/inetd.pid).
Feb 22 15:05:58 tardis notifier: Will not 'restart' inetd because inetd_enable is NO.
Feb 22 15:06:01 tardis notifier: tftp does not exist in /etc/rc.d or the local startup
Feb 22 15:06:01 tardis notifier: directories (/etc/ix.rc.d /usr/local/etc/rc.d)
Feb 22 15:06:15 tardis notifier: inetd not running? (check /var/run/inetd.pid).
#1 Updated by Josh Paetzel over 5 years ago
- Category set to 3
- Assignee set to Suraj Ravichandran
- Priority changed from Nice to have to Important
- Target version set to Unspecified
Almost certainly related to 95d4026790275521f657f1f722a25a9d2bd156f8 which William had comments on when it was done which were never addressed.
I can verify the bug report.
#2 Updated by Suraj Ravichandran over 5 years ago
- Status changed from Unscreened to Screened
@Josh: William did have comments on it....but they were more towards the efficiency of kevent notifications versus outright 1 second sleep intervals.
I discussed this with jordan and also shared the entire me and william email thread with him and his observation on this was that if making a 1 second sleep simplifies our code to a great extent then so be it.
Thus I went ahead with it.
Nontheless, I will look into this soon and get back with a fix or my findings.
#3 Updated by Josh Paetzel over 5 years ago
I believe what happened was this change in services/forms.py:
+ if obj.srv_enable:
+ started = _notifier.start(obj.srv_service)
- started = _notifier.restart(obj.srv_service)
+ started = _notifier.stop(obj.srv_service)
There's no start or stop verbs for tftp in the middleware
Adding the following methods to middleware/notifier.py fixes tftp
self._system("/usr/sbin/service inetd forcestop")
self._system("/usr/sbin/service ix-inetd quietstart")
self._system("/usr/sbin/service inetd restart")
#5 Updated by William Grzybowski over 5 years ago
- Status changed from Ready For Release to Screened
This is even worse now... this is what I get after trying to create a volume:
Environment: Software Version: TrueNAS-9.3-Nightlies-201502240447 Request Method: POST Request URL: http://192.168.3.10/storage/volumemanager/ Traceback: File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 105. response = middleware_method(request, callback, callback_args, callback_kwargs) File "/usr/local/www/freenasUI/../freenasUI/freeadmin/middleware.py" in process_view 157. return login_required(view_func)(request, *view_args, **view_kwargs) File "/usr/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view 22. return view_func(request, *args, **kwargs) File "/usr/local/www/freenasUI/../freenasUI/storage/views.py" in volumemanager 146. if form.is_valid() and form.save(): File "/usr/local/www/freenasUI/../freenasUI/storage/forms.py" in save 296. notifier().start("ix-syslogd") File "/usr/local/www/freenasUI/../freenasUI/middleware/notifier.py" in start 325. self._simplecmd("start", what) File "/usr/local/www/freenasUI/../freenasUI/middleware/notifier.py" in _simplecmd 216. procname, pidfile = self.__service2daemon[what] Exception Type: KeyError at /storage/volumemanager/ Exception Value: 'ix-syslogd'