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

Reply via email to