Promote Node to Main Node

Hello my Storj Friends,

i am facing the issue that none of my nodes run as “main” node

this resulted in my last reinstall and that i was only able to install nodes via Toolbox. The .msi installer to install a first node always failed so I used Toolbox even for first node. I followed Alexejs advice (Storj V3 Storage Node Setup Installer problem - #19 by Alexey) to remove .trash-uses-day-dirs-indicator but still the first node doesn’t run as main.

This results in the situation that my nodes do no update and i always need to reinstall them manually. Since I am in vacation in spain it was a little hazzle when they went offline due to too old version and I had to do it from phone via VPN.

Is there any possibility to change a setting to promote the node to be the main so that it updates automatically?

Thanks in advance and regards from sunny Spain.
Jonas

@Vadim can help you out with this :slight_smile:

there is not problem with that, main only was made that Update button know where to take exe file, it can be only naturally installed windows node, with storj original updater updater.
I think in 1-2 weeks i will redesign it. Every node is separate node.

1 Like

You could just put the updater.exe in each node dir, and create your own updater service for them. Or make a batch file to have the .exe update nodes manually.

it will not work like that, it is hardcoded storagenode service name to updater, it will stop service with this name only. to update servises must be stoped.
I use other solution, but i need to make some kind of installer to it to publish it to people.
I have my own service that update my nodes. but Visual studio Depricated installers that i used. So i have only old version of this with some problems.

1 Like

You need to check the node’s log to see what was a reason.

Yeah umm… sure, it’ll work like that - it’s just called start and stop service.
here is simple cmd code:
“C:\Program Files\Storj\Storage Node\storagenode-updater.exe” run --config-dir “C:\Program Files\Storj3\Storage Node\” --binary-location “C:\Program Files\Storj3\Storage Node\storagenode.exe” --log.output “winfile:///C:\Program Files\Storj3\Storage Node\storagenode-updater.log”
… just stop service previous… and start service after update.

Vadim, when you’re improving your app next… you should fix the error condition that the node your user intends to update be currently running in order to be updated. It forces them to have to manually copy the file over, because it’s obvious that you can’t replace the file of an already running executable and or service.
When their node can’t even start to update your code with that prerequisite, because older versions can’t even execute, it prevents them from using your upgrade button.

You may wish to terminate/cancel that command line after it executes and updates your node; else the storagenode-updater will comply with the config.yaml re-try 15 minute default, serving no further purpose it’ll run pointlessly forever. lol.

So just augment the paths above, and put it in a .bat file for convenience in your respective node directories. Or make a master update .bat file for all nodes & paths.

Of course execute the aforementioned with Admin rights, and add a stop service / start respective service(s) as prefix & suffix lines should you wish.

2 1/2 cents

Not hardcoded, it’s just a default name, see

PS> storagenode-updater.exe run --help | sls "service"
      --service-name string                storage node OS service name (default "storagenode")

so actually you definitely can run both services for each node with an own service name.

But I do not see where to specify the name for the storagenode-updater service. Seems that one is hardcoded.

Perfect yeah what Alexey says, just add that to command line above.

^5 Alex :slight_smile: … errrr umm Alexey!

Indeed…
For those following along at home…
“C:\Program Files\Storj\Storage Node\storagenode-updater.exe”
will work fine if you have managed a regular default install. Plus the updater never updates all that often, or if it does - it doesn’t do anything different, so doesn’t matter. Maybe only check that bridge if it causes a problem in some future update, but as you’re running as a standalone, presumeably updated update - lol… who cares?