I recently restarted the docker container for some my storagenode and the version has regressed down from 1.95.1 to 1.94.2.
I know an auto-updater has been added to the storagenode software and thought it must just be my docker image was out of date. That is not the case, I have the latest image, the image on dockerhub is 4 months old.
Is there a reason the docker image is not being updated on docker hub? Luckily my node started. I’m concerned because version incompatibility could leave an operator unable to start their nodes:
Running version current~1
Upgrade to version current
Current version makes backwards incompatible changes to DB or configuration
Docker container is restarted
Current docker image is still version current ~1
Version current~1 refuses to start due to incompatible DB or configuration
I’m not sure why your version went backwards: but from what I’ve seen from a few SNOs that run multiple nodes… it’s normal to see about 3 versions running concurrently (as the nodes upgrade at different times). 1.94.2 is still valid and should work fine.
Our docker image doesn’t contain a storage node binary, it contain only basic OS, wget and a supervisor.
So, when you start a new container, it will download the current (suggested) version of storagenode and storagenode-updater accordingly https://version.storj.io/, then storagenode-updater will check is your node eligible to update to a rollout version (based on NodeID), and will download the latest version of both binaries, if so. Then it will start a new version under the supervisor.
There’s a pointer for updates. I don’t know exactely how that works, but I assume it’s like an order ticket. You get the sugested update when your time comes. And the updater only see’s the sugested (newest) and the oldest. If there is an intermediate version, it won’t see it.
It updates to the current 1.94.2 version first (the minimum), then storagenode-updater will check for a new version and check is it eligible to update this node (by NodeID) to the newest version (the suggested 1.96.6), if so - it will update itself, then update the node. But until then it will run the minimum version.
You may check your logs docker logs --tail 10 storagenode and your dashboard, likely it’s already updated to 1.96.6.