-
-
Notifications
You must be signed in to change notification settings - Fork 48
[gsoc25] Added blog post for firmware upgrader project #134
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
Changes from 1 commit
0be34d1
312cfb3
d9cd0e9
e345022
8c24728
f593465
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,201 @@ | ||||||||
| GSoC 2025: Improve UX and Flexibility of the Firmware Upgrader Module | ||||||||
| ===================================================================== | ||||||||
|
|
||||||||
| :date: 2025-09-23 | ||||||||
| :author: Roshan Kumar | ||||||||
| :tags: gsoc, firmware-upgrader, new-features | ||||||||
| :category: gsoc | ||||||||
| :lang: en | ||||||||
| :image_url: https://openwisp.org/images/blog/gsoc25/firmware-upgrader/gsoc25-firmware-upgrader.png | ||||||||
| :image_width: 713 | ||||||||
| :image_height: 297 | ||||||||
|
|
||||||||
| .. image:: {static}/images/blog/gsoc25/firmware-upgrader/gsoc25-firmware-upgrader.png | ||||||||
| :alt: Google Summer of Code, OpenWISP Firmware Upgrader Module | ||||||||
| :align: center | ||||||||
|
|
||||||||
| Over the past three months, I had the opportunity to work on my Google | ||||||||
| Summer of Code project under the guidance of Federico Capoano (nemesifier) | ||||||||
| <https://github.com/nemesifier>, Aryaman (Aryamanz29) | ||||||||
|
||||||||
| <https://github.com/Aryamanz29>, and Oliver Kraitschy (okraits) | ||||||||
| <https://github.com/okraits>_. The journey was filled with challenges, | ||||||||
| creative problem-solving, and exciting milestones that not only deepened | ||||||||
| my technical knowledge but also strengthened my ability to collaborate and | ||||||||
| adapt. | ||||||||
|
|
||||||||
| About the Project | ||||||||
| ----------------- | ||||||||
|
|
||||||||
| The firmware upgrader enhancements significantly improve the user | ||||||||
| experience when managing firmware updates across OpenWISP networks. These | ||||||||
| features address common pain points that network administrators face: | ||||||||
| uncertainty about upgrade progress, inability to stop problematic | ||||||||
| upgrades, and lack of granular control over which devices to upgrade in | ||||||||
| large deployments. | ||||||||
|
||||||||
|
|
||||||||
| The enhanced firmware upgrade system now provides real-time feedback, | ||||||||
| safety controls, and filtering the upgrade capabilities that make managing | ||||||||
| firmware across hundreds or thousands of devices both safer and more | ||||||||
| efficient. | ||||||||
|
|
||||||||
| Technical Approach | ||||||||
| ~~~~~~~~~~~~~~~~~~ | ||||||||
|
|
||||||||
| The solution uses WebSocket connections to deliver real-time progress | ||||||||
| updates directly to the admin interface, eliminating the need for manual | ||||||||
| page refreshes. Progress tracking is implemented at multiple levels - from | ||||||||
|
||||||||
| individual device operations to batch upgrade summaries - providing | ||||||||
| comprehensive visibility into upgrade status. | ||||||||
|
|
||||||||
| For safety, the cancellation feature includes checks that prevent | ||||||||
| cancellation once the firmware flashing phase begins. This prevents | ||||||||
| potentially damaging interruptions during critical phases of the upgrade | ||||||||
| process. | ||||||||
|
|
||||||||
| The mass upgrade filtering system integrates with OpenWISP's existing | ||||||||
| device group and location management, allowing administrators to target | ||||||||
| specific subsets of devices with surgical precision. | ||||||||
|
||||||||
|
|
||||||||
| Features Implemented | ||||||||
| -------------------- | ||||||||
|
|
||||||||
| Real-Time Firmware Upgrade Progress Tracking | ||||||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||||||
|
|
||||||||
| Single Device Upgrade Progress | ||||||||
|
|
||||||||
| .. image:: {static}/images/blog/gsoc25/firmware-upgrader/single-device-progress-tracking.gif | ||||||||
| :alt: Real-Time upgrade progress tracking | ||||||||
|
|
||||||||
| Mass Upgrade Progress | ||||||||
|
|
||||||||
| .. image:: {static}/images/blog/gsoc25/firmware-upgrader/mass-upgrade-progress-tracking.gif | ||||||||
| :alt: Real-Time upgrade progress tracking | ||||||||
|
|
||||||||
| The firmware upgrade progress tracking feature provides real-time updates | ||||||||
| on the progress of firmware upgrades. This feature is implemented using | ||||||||
| WebSocket connections to deliver real-time progress updates directly to | ||||||||
| the admin interface, eliminating the need for manual page refreshes. | ||||||||
|
|
||||||||
| Progress tracking is implemented at multiple levels - from individual | ||||||||
| device operations to batch upgrade summaries - providing comprehensive | ||||||||
| visibility into upgrade status. | ||||||||
|
|
||||||||
| **Use Cases**: - Network administrators can monitor long-running firmware | ||||||||
|
||||||||
| **Use Cases**: - Network administrators can monitor long-running firmware | |
| **Use Cases**: network administrators can monitor the progress of long-running firmware | |
| upgrades, reading log output in real time without having to reload the page. |
Outdated
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.
is this meant to be a list? It's not being formatted as such
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.
Please let's link the PRs in their respective sections. It's ok to also have a summary at the end.
Not sure if other blog posts did the same, I will check, but it makes it easier for readers to quickly find the github PR while reading about the feature.
Outdated
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.
same here
Outdated
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.
Link the repo please.
Outdated
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.
Was it meant to be show?
Outdated
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.
Let's mention the docs updates too
Outdated
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.
| Working on the OpenWISP firmware upgrader during GSoC has been an | |
| Working on `OpenWISP Firmware Upgrader <https://github.com/openwisp/openwisp-firmware-upgrader>`__ during GSoC has been an |
Uh oh!
There was an error while loading. Please reload this page.