-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement mesh upgrade package #1109
base: master
Are you sure you want to change the base?
Conversation
also Adds the following methods: start_node_download(url) state() change_state()
…ages into feature/mesh-upgrade
…ges into feature/mesh-upgrade
…ges into feature/mesh-upgrade
adds new methods to eupgrade like "is_meshupgrade_enabled" and "set_custom_api_url" fixes some reduntant methods call
…ages into feature/mesh-upgrade
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See inline comments
option retry_count '0' | ||
option safeupgrade_start_mark '0' | ||
option su_start_time_out '0' | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing new line.
I am not sure if we should use a config file per se, or this should end up into /etc/config/lime-*
with the other configurations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this config file main reason to exist is to keep the settings and status of the current upgrade. This is to be keep across, operating system process, reboots and sysupgrades. It is a backend mesh-upgrade state and config persistence.
packages/lime-mesh-upgrade/files/usr/lib/lua/lime-mesh-upgrade.lua
Outdated
Show resolved
Hide resolved
...d-state-mesh_wide_upgrade/files/usr/share/shared-state/hooks/mesh_wide_upgrade/start_upgrade
Outdated
Show resolved
Hide resolved
Will this work on non-LibreRouter routers? |
This package requires safe-upgrade, so far only lr1 is able to use it.
Luciano is working to implement it in lr2 but also documenting the process
to be able to add more routers.
Any router with more than 16mb of flash wold be able to use safe upgrade.
…On Tue, Nov 12, 2024, 06:49 Ilario Gelmetti ***@***.***> wrote:
Will this work on non-LibreRouter routers?
—
Reply to this email directly, view it on GitHub
<#1109 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABE2I2A4AZJ7R6PUDIS4LQD2AHFL3AVCNFSM6AAAAABHQ5QLIOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZQGA3DSOJWGM>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Mesh upgrade
This package can help you upgrade the firmware of all the routers in a network from a single node.
Description and steps
1- A node must become main node, the main node will fetch the firmware for all the others. And expose it in the local network.
2- The main node announces the new firmware over shared-state-async
3- Other nodes with this package will get the news and try to download the firmware.
4- Once all the nodes have the firmware in their tmp folder the main node user will be able to schedule the safe upgrade of all the nodes (this last step is done synchronously).
5- After the specified time (60s default) all the nodes will start the safe upgrade process and the nodes will reboot.
6- The nodes will report that the new firmware has to be confirmed.
7- The main node user will verify that everything is in place an press the confirm button.
8- If the firmware is not confirmed after 600 seconds the routers will go back to the previous firmware.