Skip to content
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

Draft
wants to merge 109 commits into
base: master
Choose a base branch
from

Conversation

javierbrk
Copy link
Collaborator

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.

javierbrk and others added 30 commits October 6, 2023 14:03
also Adds the following methods:
start_node_download(url)
state()
change_state()
adds new methods to eupgrade like "is_meshupgrade_enabled" and
"set_custom_api_url"
fixes some reduntant methods call
@selankon selankon changed the title Feature/mesh upgrade Implement mesh upgrade package May 13, 2024
@selankon selankon added this to the mesh-wide milestone May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants