<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><br>
</p>
<div class="moz-cite-prefix">On 12/19/18 11:39 AM, James Abernathy
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:FD8FAB6E-C023-4720-BB02-869ADEC1540F@gmail.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap:
break-word; -webkit-nbsp-mode: space; -webkit-line-break:
after-white-space;" class=""><br class="">
</div>
</div>
<div>
<blockquote type="cite" class="">
<div class="">On Dec 19, 2018, at 10:45 AM, James Abernathy
<<a href="mailto:jfabernathy@gmail.com" class=""
moz-do-not-send="true">jfabernathy@gmail.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<blockquote type="cite" style="font-family: Helvetica;
font-size: 12px; font-style: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; text-decoration: none;"
class="">
<blockquote type="cite" class=""><br
class="Apple-interchange-newline">
I think for safety sake, I'd use the
full-internet.service and<br class="">
wait-until-pingable.py approach. But since
wait-until-pingable.py waits<br class="">
for what it wants, the
"After=NetworkManager-wait-online.service" could<br
class="">
really be anything network related because the script
waits, right??<br class="">
<br class="">
-------------------------------------full-internet.service------------------------<br
class="">
<br class="">
[Unit]<br class="">
Description=Wait for full internet service to be
available including DNS<br class="">
After=NetworkManager-wait-online.service<br class="">
<br class="">
[Service]<br class="">
Type=simple<br class="">
ExecStartPre=/usr/local/bin/wait-until-pingable.py <a
href="http://my.hdhomerun.com" class=""
moz-do-not-send="true">my.hdhomerun.com</a> 30<br
class="">
ExecStart=/bin/true<br class="">
<br class="">
[Install]<br class="">
WantedBy=multi-user.target<br class="">
</blockquote>
Yes, if you do not want to have
NetworkManager-wait-online.service<br class="">
enabled, or are not using NetworkManager, you could just
have<br class="">
full-internet.service run After=network.target. That way,
with the<br class="">
next update of wait-until-pingable.py, you would also get
a log<br class="">
message that tells you how long it had to wait for the
network to<br class="">
complete coming up.<br class="">
</blockquote>
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration: none; float: none; display: inline
!important;" class="">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.</span><br
style="caret-color: rgb(0, 0, 0); font-family: Helvetica;
font-size: 12px; font-style: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal;
text-align: start; text-indent: 0px; text-transform: none;
white-space: normal; word-spacing: 0px;
-webkit-text-stroke-width: 0px; text-decoration: none;"
class="">
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration: none; float: none; display: inline
!important;" class="">Jim A</span><br style="caret-color:
rgb(0, 0, 0); font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; text-align:
start; text-indent: 0px; text-transform: none;
white-space: normal; word-spacing: 0px;
-webkit-text-stroke-width: 0px; text-decoration: none;"
class="">
<br class="">
</div>
</blockquote>
<div><br class="">
</div>
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.</div>
<div><br class="">
</div>
<div>1) NetworkManager is not installed </div>
<div>2) systemd-networkd-wait-onine.service is enabled and active</div>
<div>3) network.target is enabled and active</div>
<div><br class="">
</div>
<div>I’ll install mythtv-backend with mythhdhrrecorder and see
what we get with the different delaying tactics for
mythtv-backend.service</div>
<div><br class="">
</div>
<div>Jim A</div>
<div><br class="">
</div>
<div><br class="">
</div>
</blockquote>
<p>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:</p>
<p>------------------------------------<br>
</p>
<p>[Unit]<br>
After=full-internet.service</p>
<p>---------------------------------------<br>
</p>
<p>I have full-internet.service set:</p>
<p>-------------------------------------------------------<br>
[Unit]<br>
Description=Wait for full internet service to be available
including DNS<br>
After=network.target<br>
<br>
[Service]<br>
Type=simple<br>
ExecStartPre=/usr/local/bin/wait-until-pingable.py
my.hdhomerun.com 30 <br>
ExecStart=/bin/true<br>
<br>
[Install]<br>
WantedBy=multi-user.target</p>
<p>----------</p>
<p>This works fine especially since NetworkManager is not installed
or running.</p>
<p>I tested booting with the ethernet cable unplugged and it stalled
for 90 seconds with the console message:</p>
<p>"A start job is running for Wait for Network to be Configured
(1min 31s / no limit)"</p>
<p>It booted to the console after the 90 seconds.<br>
</p>
<p>Jim A</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:FD8FAB6E-C023-4720-BB02-869ADEC1540F@gmail.com">
<div><br class="">
</div>
<div><br class="">
</div>
<br class="">
</blockquote>
</body>
</html>