Automated network upgrades
Another recent project has been automating the firmware upgrade process on CUWiN nodes. To accomplish this I've hooked into the upgrade script present on each node. I've added a script to be on each node that functions in one of two ways: 1) automatically checks for updates and runs the update process, scheduled through cron and 2) a remote "head" initiates the process and tells a set of nodes to check for updates and perform the upgrade if necessary. The nodes query a webserver for a list of updates. The webserver contains a list of id's and version numbers for those id's. A node retrieves this list, finds its id (not necessarily unique), and compares its version number to the one listed. If the one listed is newer, it dowloads the file specified and runs the upgrade. Once the upgrade is complete, the node reboots (if run directly), or schedules a reboot for a random time in the future (automatic mode).
This functionality, while still in its early stages greatly simplifies network managment and maintainence tasks. Previously, one would have to connect to each node individually to perform the upgrade. In a local network of over 40 nodes, this takes considerable time.