Hi,
I would like to request auto-connection assertions for the edgexfoundry
snap for the following interfaces:
mount-observe
This is needed for the cassandra and mongodb apps in the snap. The edgexfoundry
snap collects various performance metrics from mongodb, and additionally, the cassandra database fails to start if this interface isn’t connected.
system-observe
This is also needed for mongodb for performance metrics.
hardware-observe
Also needed for mongodb performance metrics.
daemon-notify
This is not currently used in the published snap, but will be necessary soon. Currently, we start many of the services inside a single wrapper script which ensures proper ordering, and enabling/disabling of services, but we will be splitting these off into independent services, and to get proper service ordering we need to use systemd-notify
, as the default daemon: simple
, or even daemon: forking
lead to too many race conditions starting up the services and sometimes leads to the services failing to start up on initial install and blocks the install. A rough draft of what the snapcraft.yaml will look like with this change is here.
Additionally, because of the nature of services using systemd-notify, they will fail to start up if the daemon-notify
interface is not connected at install time, which it can only be connected if the interface has an auto-connection assertion as requested here.
CC @awe and @ijohnson as they have been working on the snap primarily and can help answer questions.