We use the built-in Raspberry Pi computer to connect IP cameras on the client network to our cloud-based recording service. We use Raspbian, and about 50% use Wheezy and 50% use Jessie.
The task we have is to remotely update software running on these IFUs.
Our current method involves using SSH and Ansible. We have a complex Ansible script that makes all the changes to the Raspberry Pi, and we have automated it to the extent that we can update a lot of Raspberry Pi at a time.
However, the problem is that this is a non-atomic update. Raspberries Pi do not always have the same version of packages on them, depending on when they were updated. It is also possible to upgrade to failure halfway, etc.
I know that there are several ways to do atomic updates by downloading a new “software image” and switching to using it instead using the bootloader. I think OpenWRT can do this as well as swupdate: https://github.com/sbabic/swupdate
Has anyone ever done something like this on a Raspberry Pi before?
thanks
dopey source share