<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">I'm working on a snapping up OpenSwitch which is essentially a network operating system (NOS) for white box network switches.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">The OpenSwitch NOS is made up of many daemons (snapcraft apps) that control network hardware and networking protocols.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">Many of the apps have plugs for network-control, network-manager, and network-observe.  These plugs are not automatically connected by snapd when the snap is installed - they must be manually connected using the 'snap connect' command.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">The problem I'm running into is that daemonization of most of the apps fails because the plugs are not connected at the time snapd starts up the daemons and everything falls apart.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">I understand why you want manual connections for some "critcal" interfaces.  However, if you're going to require manual intervention, the snapd should be smart enough to wait for the required connections before starting up any daemons that have plugs for those "critical" interfaces.  Perhaps even nagging about unconnected plugs in the snap.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">A somewhat related issue is that I really think snapd needs to support the concept of ordering daemonization much like systemd's before/after clauses - otherwise, you force developers to create awkward wrappers around daemons to create ad-hoc ordering.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">Regards, Mike</div></div>