[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 whats 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
>>
>> Ill 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