Docker image not updated: Storagenode version regression after container restart

Hello All,

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.

Same here. I downloaded the latest image, I restarted the node and went back from 1.95 or 1.96 to 1.94.

I had the same thing happen a few hours ago - thought it was something I did wrong…

1 Like

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, 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.

I visited the link you provided, thank you.

There it shows the current minimum is 1.94 and suggested is 1.96.

I don’t know for what reason I’d go from 1.95 down to 1.94 unless the updater logic assumes a downgrade to minimum is better than an immediate upgrade to suggested.

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.

The version 1.95.1 was excluded: