[mythtv-users] delaying backend startup until the network is up

Stephen Worthington stephen_agent at jsw.gen.nz
Wed Dec 19 23:55:44 UTC 2018


On Wed, 19 Dec 2018 16:02:12 -0500, you wrote:

>
>On 12/19/18 11:39 AM, James Abernathy wrote:
>>
>>> On Dec 19, 2018, at 10:45 AM, James Abernathy <jfabernathy at gmail.com 
>>> <mailto:jfabernathy at gmail.com>> wrote:
>>>
>>>>>
>>>>> I think for safety sake, I'd use the full-internet.service and
>>>>> wait-until-pingable.py approach. But since wait-until-pingable.py waits
>>>>> for what it wants, the "After=NetworkManager-wait-online.service" could
>>>>> really be anything network related because the script waits, right??
>>>>>
>>>>> -------------------------------------full-internet.service------------------------
>>>>>
>>>>> [Unit]
>>>>> Description=Wait for full internet service to be available 
>>>>> including DNS
>>>>> After=NetworkManager-wait-online.service
>>>>>
>>>>> [Service]
>>>>> Type=simple
>>>>> ExecStartPre=/usr/local/bin/wait-until-pingable.py my.hdhomerun.com 
>>>>> <http://my.hdhomerun.com> 30
>>>>> ExecStart=/bin/true
>>>>>
>>>>> [Install]
>>>>> WantedBy=multi-user.target
>>>> Yes, if you do not want to have NetworkManager-wait-online.service
>>>> enabled, or are not using NetworkManager, you could just have
>>>> full-internet.service run After=network.target.  That way, with the
>>>> next update of wait-until-pingable.py, you would also get a log
>>>> message that tells you how long it had to wait for the network to
>>>> complete coming up.
>>>
>>> Since my production system only uses Ubuntu Server and static IPs, 
>>> there is no need for NetworkManager. So after network.target would be 
>>> an improvement. I'll test all this some more.
>>>
>>> Jim A
>>>
>>
>> So the first test is to start over and see what’s installed by 
>> default.  I installed Ubuntu Server 18.04.1 with no snaps or packages. 
>>  I took the defaults on everything. Since my eno1 mac address is in my 
>> router as fixed to an IP, I went with the default DHCP and got the 
>> right address from my router.
>>
>> 1) NetworkManager is not installed
>> 2) systemd-networkd-wait-onine.service is enabled and active
>> 3) network.target is enabled and active
>>
>> I’ll install mythtv-backend with mythhdhrrecorder and see what we get 
>> with the different delaying tactics for mythtv-backend.service
>>
>> Jim A
>>
>>
>So I did a complete mythtv-backend build on the Ubuntu Server 18.04.1, 
>including external recorder, mythhdhrrecorder, and setup the 
>mythtv-backend.service.d/override.conf to have:
>
>------------------------------------
>
>[Unit]
>After=full-internet.service
>
>---------------------------------------
>
>I have full-internet.service set:
>
>-------------------------------------------------------
>[Unit]
>Description=Wait for full internet service to be available including DNS
>After=network.target
>
>[Service]
>Type=simple
>ExecStartPre=/usr/local/bin/wait-until-pingable.py my.hdhomerun.com 30
>ExecStart=/bin/true
>
>[Install]
>WantedBy=multi-user.target
>
>----------
>
>This works fine especially since NetworkManager is not installed or running.
>
>I tested booting with the ethernet cable unplugged and it stalled for 90 
>seconds with the console message:
>
>"A start job is running for Wait for Network to be Configured (1min 31s 
>/ no limit)"
>
>It booted to the console after the 90 seconds.
>
>Jim A

Right, so it was waiting for DHCP, and as soon as that wait timed out,
it completed booting.  It may never have run full-internet.service - I
have never checked to see if network.target gets marked as started if
it times out.


More information about the mythtv-users mailing list