We have deployed to the field multiple instances of a 3 service application running on rPi0. In our lab we have had no issues running these apps or updating them. However, in the field where the connectivity is poor, we have encountered balena engine and supervisor failures, and a going hypothesis is that perhaps the poor connectivity results in increased resource usage, which causes services to fail. This was previously discussed Balena engine start failure.
Per the recommendations Balena engine start failure we have trimmed our application to be single-service. However, we are now encountering a different problem. When we initiate an update, the system deletes the two services that are no longer present in the new application, tries to update to the new application, and repeatedly fails, presumably because of the poor connection. Now I try to pin back to the previous release, but then it tries to download the images for the 2 services that it had deleted, and that fails too. This is a known problem How to stop infinite download loop.
Net result is that the system is now in an unstable condition - can’t go forward to the single-service app and can’t go back to the previous 3-service app. Device ID is 71b132b65186d1c80107c86a5af6cd35 and support is granted for reference. I can connect to the Host via web terminal w/o issues.
So I have 2 questions:
- Is there a hack that would allow me to stop the repeat downloading so it doesn’t kill the data plan?
- Is there a safe way to attempt to update other field devices so that I don’t fall into this predicament if the update fails?