Workers now have a webserver on them. This is one of the largest architectural changes to Pioreactor, and lays the foundation for better plugin, version, and calibration cluster management, plus future features.
Note: there is no interactive user interface for workers, just a web API
Previous actions that would involve SSHing from leader to a worker are replaced by web requests.
Bug fixes
fixed an issue where a calibrated OD reading would be mapped to max OD signal if it was too low.
fixed an issue where the Pioreactor UI would lock up if trying to create a new experiment with an existing name.
fixed Hours Elapsed not updating in Overview
Breaking changes
Lots and lots of web API changes. You’ll want to review them on our docs: API | Pioreactor Docs
We no longer recommend the Raspberry Pi Zero (the original Zero, not the Zero 2.) since supporting a web server + pioreactor functions is too much for a single core.
watchdog is neutered. It used to try to “wake-up” a job, but this was flaky and causing more problems than it solved.
removed python library dependency sh
APIs that initiate a background task either return with the result, or return a task id that be be looked up at /unit_api/task_status/.
pios update now updates the UI too.
Enhancements
Better MQTT re-connection logic.
New Manage Inventory menu on the Inventory page that can be used for bulk actions.
pio update is a new command to update both the UI and app.
adding more network logs to network_info.txt
pios commands now return quicker since they post to the workers servers and don’t wait around. You can view the status of the worker’s by using the output from including --json.
Some users have reported that upgrades fail on workers. This is likely due to a dependency issue for lighttpd. We ship dependencies with the release archive, but due to different Pioreactors having (very slightly) different packages installed, sometimes our shipped dependencies are (very slightly) the wrong version.
For now, don’t upgrade! Fresh worker installs of the OS should be okay, but upgrades , especially if your worker isn’t new, may fail.
This should be okay now! Let us know if an update fails however!
how can i solve this?
also, it seems like the workers haven’t been abele to get all the latest updates - i just checked on them and see that they are all still set to update 24.7.7
all the best and thanks!
leo
It looks like your cluster is connected to the internet, so it should be easy to update your workers. For now, let’s try a single worker and see if this upgrade path works:
SSH into a worker, ex: pioreactor1.
Try pio update app. This will update that worker (and only that worker) to the next release, which was 24.7.18.
If that is successful, you can repeat pio update app again to keep upgrading to the latest, 24.9.19.
If it fails along the way, let me know, and we figure it out together.
I would suggest another RPi. The RPi Zero has a different chip which is likely incompatible with the software we are shipping. The Zero is also much much slower than other models, and that will only get more obvious as we add more load to the CPU. And the Zero now costs the same as a Zero 2 (clearly RPi Foundation wants you to upgrade, too).