libremesh / lime-packages

LibreMesh packages configuring OpenWrt for wireless mesh networking
https://libremesh.org/
GNU Affero General Public License v3.0
276 stars 95 forks source link

Find a way to avoid multiple mesh wide transactions at same time #1066

Open selankon opened 6 months ago

selankon commented 6 months ago

Related to #1031

During the development of the mesh wide firmware upgrade we faced the problem of how avoid multiple mesh wide firmware upgrades to be executed at same time.

We need to find an implementation on the mesh wide ecosystem to avoid multiple transactions at the same time. For example:

A solution could be to use a shared state transaction state, with a global transaction state to check if a transaction is already running.

{
    DEFAULT = "default", -- default state
    STARTED = "started", -- there is a transaction in progress
    FINISHED = "finished" -- similar to no transaction
}
ilario commented 6 months ago

I recall some talk from Freifunk people about automated upgrades in Gluon, we should ask them how they solved this. Also, maybe there is even a solution already implemented somewhere in ASU by @aparcar...