On Sat, May 19, 2012 at 8:30 AM, Chris Schanzle <schan...@nist.gov> wrote: > On 05/17/2012 02:35 PM, George Galt wrote: >> >> On Thu, May 17, 2012 at 6:39 AM, Brian Long<briandl...@gmail.com> wrote: >>> >>> On Wed, May 16, 2012 at 11:00 PM, Chris Schanzle<schan...@nist.gov> >>> wrote: >>>> >>>> On 05/11/2012 11:38 AM, George Galt wrote: >>>>> >>>>> On Thu, Mar 29, 2012 at 8:42 AM, Chris Schanzle<schan...@nist.gov> >>>>> wrote: >>>>>> >>>>>> I would say about 25% of the time, mythbackend doesn't start on my >>>>>> Fedora 16 >>>>>> box on reboot. From the logs, it appears the local mysqld is not >>>>>> ready >>>>>> to >>>>>> accept connections. Unfortunately, it doesn't try to reconnect and >>>>>> the >>>>>> result is missed recordings and a non-functional frontend. Restarting >>>>>> mythbackend (service mythbackend restart) is the band-aid. >>>>>> >>>>>> Is there some improvement we can make to the initscript to ensure we >>>>>> can >>>>>> talk to the sql server? I realize it might not be local on the box, >>>>>> so >>>>>> we >>>>>> can't just depend on the mysqld service. >>>>>> >>>>>> Note mysqld is a systemd service while mythbackend is a SysV service >>>>>> (init.d >>>>>> script). >>>>>> >>>>>> I'd take a stab at a fix, but would appreciate any guidance on the >>>>>> best >>>>>> direction to head. >>>>>> >>>>>> Thanks! >>>>>> >>>>>> _______________________________________________ >>>>>> atrpms-devel mailing list >>>>>> atrpms-devel@atrpms.net >>>>>> http://lists.atrpms.net/mailman/listinfo/atrpms-devel >>>>> >>>>> >>>>> Chris: >>>>> >>>>> Any luck on developing something that works here? I've noticed others >>>>> are also having this issue and I'll probably take a look at it this >>>>> weekend, but if you've made a headstart, please let me know. >>>> >>>> >>>> >>>> I poked at it back in April but a mythtv update overwrote my mods, >>>> didn't >>>> get any response, so I presumed it was just me. My mysqldb is quite >>>> large >>>> (/var/lib/mysql/mythconverge = 222MB) so I can imagine MySQL might take >>>> a >>>> few seconds to become ready. >>>> >>>> Putting a few more thoughts into it, I don't think this could/should be >>>> fixed with initscripts, but rather is a bug in mythbackend which should >>>> attempt to connect to the configured db until success, not just fail >>>> once >>>> and fall over. >>>> >>>> From /var/log/boot.log, MySQL is starting before the mythbackend SYSV >>>> script, so that's good. >>>> >>>> At this point, I'd take hack of a 'sleep 10' delay to the start() >>>> section >>>> of /etc/init.d/mythbackend and run with it until a real fix is >>>> implemented. >>>> :-) >>>> >>>> Chris >>> >>> >>> There was a recent thread on mythtv-users (OP George Galt) where they >>> "fixed" the mythbackend systemd start script. The RPMforge developer was >>> going back-and-forth with some other folks about how to write the systemd >>> file such that mythbackend would start properly. Last I saw, they had a >>> final version worked out. Maybe AtRPMS could integrate the same systemd >>> file since init is gone in Fedora 16. >>> >>> http://www.gossamer-threads.com/lists/mythtv/users/517350 >>> >>> /Brian/ >> >> One thing to be aware of with that script is that it runs the backend >> >> as the "mythtv" user. You may need to change the username to whatever >> user is on your system, but also, you have to make sure that you >> properly permission the appropriate directories. I believe they are: >> /var/log/mythtv/ >> /var/lib/mythtv/ >> and whatever directories you use to store your videos and recordings in >> >> Also, make sure you include the user that your run the backend as (in >> my case "mythtv") in the "audio" and "video" groups. The commands >> are: >> usermod -a -G audio mythtv >> usermod -a -G video mythtv >> >> George > > > Most excellent, working very nicely here; 5 or 6 reboots and mythbackend > started every time (though firewire control of my motorola/verizon box > worked 50%, that's not unusual). A few notes: > > turn off/disable init.d script before copying the systemd script into place, > otherwise systemd steps in and ignores the init.d script. > > chkconfig mythbackend stop > chkconfig mythbackend off > > echo 'd /var/run/mythtv 0755 mythtv mythtv -' > > /etc/tmpfiles.d/mythbackend.conf > > # mythbackend *was* starting as root since my transition to Fedora 16. > # make sure these are owned by the mythtv user, plus all recordings > directories > $ ls -ld /var/l*/mythtv /video2 /2012 /local/video > drwxr-xr-x. 11 mythtv mythtv 4096 Apr 30 08:37 /var/lib/mythtv > drwxr-xr-x. 2 mythtv mythtv 73728 May 18 22:07 /var/log/mythtv > > # did not test not adding to audio/video groups > > usermod -a -G audio mythtv > usermod -a -G video mythtv > > cat > /lib/systemd/system/mythbackend.service << \EOF > ################################################### > # file located at /lib/systemd/system/mythbackend.service > # use "systemctl enable mythtbackend.service to load > # based on a template from RPMFusion and R.G. Newbury from this thread: > # > http://www.gossamer-threads.com/lists/mythtv/users/516650?search_string=mythbackend.service%20;#516650 > > [Unit] > Description=MythTV backend service > > After=network.target mysqld.service > # for mythweb: not necessary so 'wants' not 'after' > Wants=httpd.service > > [Service] > Type=simple > > Environment=MYTHTV_HOME=/var/lib/mythtv > Environment=MYTHCONFDIR=/var/lib/mythtv > Environment=HOME=/var/lib/mythtv > # NOTE: using the "mythtv" user, NOT root. > User=mythtv > > # NOTE: if you have other switches you want, insert them below. This is set > to use log files in > # /var/log/mythtv. Make sure that the location of the HOME/MYTHCONFIG files, > logs and the pid file > # are writeable by the user designated above. > ExecStart=/usr/bin/mythbackend --logpath /var/log/mythtv > > [Install] > WantedBy=multi-user.target > EOF > > systemctl enable mythtbackend.service > # test before rebooting -- check logs. > install -d --owner mythtv --mode 755 /var/run/mythtv > systemctl start mythbackend.service > > reboot/reboot/reboot/reboot! > > Hmm, /run/mythtv is empty. Makes me wonder if the tmpfiles.d addition is > required. > > Big step forward...Thanks! > > > > _______________________________________________ > atrpms-devel mailing list > atrpms-devel@atrpms.net > http://lists.atrpms.net/mailman/listinfo/atrpms-devel
Chris: Yes, I forgot to mention that one needs to turn off init.d -- sorry. I have not done the tempfiles.d addition and it does not appear to be an issue; however, this could simply be an application of Wile E. Coyote physics, where it hasn't failed because I didn't know it was there to fail. George _______________________________________________ atrpms-devel mailing list atrpms-devel@atrpms.net http://lists.atrpms.net/mailman/listinfo/atrpms-devel