Fetching the latest programs, projects, and workspace data.

The Hackable Network Management System
Showing 5 of 31 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: pushpit kamboj
The project adds InfluxDB 2.0 and Elasticsearch as timeseries database backends to OpenWISP Monitoring by implementing the existing DatabaseClient. The core monitoring logic remains untouched since it already interacts through timeseries_db abstraction, making backend addition a clean isolated task. For InfluxDB 2.0, all chart queries in `queries.py` will be translated from InfluxQL to Flux. For Elasticsearch, queries will use `date_histogram` aggregations. Each backend gets dedicated GitHub Actions CI, deployment support via ansible-openwisp2 and docker-openwisp, and users can switch between all three backends through the `TIMESERIES_DATABASE` setting with full documentation coverage.
Mentors: Student: Mohammed Atif
OpenWISP Firmware Upgrader currently requires users to manually enter metadata when uploading firmware images, which is error prone and doesn't scale. This project adds automatic metadata extraction that runs as a background Celery task on upload, using fwtool as the primary method and DTB parsing as a fallback, with graceful handling for images that support neither. A draft/confirmed state machine keeps unverified images invisible to the upgrade system until extraction succeeds or an operator manually confirms the metadata. The implementation follows the existing upgrader class pattern for extensibility, includes full test coverage using real OpenWrt images, and adds build-level status aggregation with notifications.
Mentors: Student: Eeshu
OpenWISP's firmware upgrader fails permanently when devices are offline during mass upgrades, requiring manual re-triggering. There is no way to schedule upgrades for future maintenance windows. Solution: Two features for openwisp-firmware-upgrader. 1. Persistent upgrades (#379): Offline devices go to "pending" status instead of "failed" and retry automatically via Celery Beat with exponential backoff until the device comes online or an admin cancels. 2. Scheduled upgrades (#380): Optional datetime picker on the mass upgrade page. Celery Beat executes due upgrades with runtime re-validation and conflict detection. Both features compose: a scheduled upgrade that hits offline devices enters the persistence loop. Deliverables: - Model fields (persistent, retry_count, next_retry_at, scheduled_at) with additive migrations - Modified failure handler with pending status branch - Celery Beat tasks for periodic retries and scheduled execution - Admin UI: persistent checkbox, datetime picker, pending/scheduled status display - REST API with full admin parity - Notifications via generic_notification - Selenium browser tests, documentation, usage videos
Mentors: Student: Deepanshu Sahu
Mass command execution in OpenWISP is currently limited to running commands on one device at a time, making it slow and difficult to manage at scale. This project introduces a bulk execution system that allows a single command to be applied across multiple devices with centralized tracking of progress and results. It will add a parent MassCommand model to group device-level executions, use Celery for parallel asynchronous processing, and maintain aggregated status such as progress, success, and failure counts. REST API support will enable programmatic triggering and monitoring of mass commands, while a redesigned admin interface will present results in a clear, scalable format with near real-time updates and access to individual device outputs.
Mentors: Student: Sarthak_Tyagi
Currently, OpenWISP restricts automated X.509 certificate generation exclusively to OpenVPN clients, which limits administrators who need general-purpose certificates for web services, internal APIs, or device authentication. This project introduces a new standalone certificate template type that leverages the existing infrastructure to generate certificates using a selected Certificate Authority and a reusable blueprint. Key deliverables include full certificate lifecycle management, configuration template variable integration, admin UI and REST API updates, comprehensive automated testing, and detailed documentation