Darknode Deployment: Terraform Error on DigitalOcean from MacOS

Hi fRENds,

I’m currently trying to deploy a new node (already got 1) on Digital Ocean VPS by following the very precise and detailed instructions provided on the official documentation.
Even though it worked like a charm for my first node (deployed in mid-2020); I’m now facing a problem that seems to be related to TERRAFORM.

Indeed when executing the UP (darknode up) command with all the correct parameters, one of the task executed is to call some terraform function to recover the providers list (in my case digitalocean) to initialize the backend with the provider plugings. This always returned the following ERROR message:

Failed to query available provider packages.
Could not retrieve the list of available versions for provider hashicorp/digitalocean: provider registry registry.terraform.io does not have a provider named
Did you intend to use digitalocean/digitalocean? If so, you mustspecify that source address in each module which requires that provider. To see which modules are currently depending on hashicorp/digitalocean, run the following command: terraform providers

I noticed that even is the deployment completion fails; some of the previous steps are working: the new darknode folder is correctly created and contains 5 files:

  • config.json
  • main.tf
  • ssh_keypair
  • ssh_keypair.pub
  • tags.out

However comparing with my previous darknode 2 key components are missing:

  • the hidden folder .terraform containing the folder for plugings (normal because this is what is triggering the failure)
  • the terraform.tfstate file (that should contain all info for the deployment - and most likely is created at the very end of the process)

When running the command terraform providers from within this folder (which contains the configuration file main.tf for terraform) I just get:

Providers required by configuration:
provider[registry.terraform.io/hashicorp/digitalocean]

and nothing else.

I went onto Terraform website to find and download the latest official version of the

terraform-provider-digitalocean

file and set it under the same location in the folder (copying the same folder/files hierarchy as my previous node); but I don’t know how to “continue” the deployment process from here.
The only way if to relaunch the command : darknode UP with new parameters (name at least) or to delete previous node folder created to keep the same parameter, before re-entering the deployment command.

Has someone ever met the same problem ? Do you have any guess related to the reason(s) of such failure ? and more important; what could be done to eventually overcome this issue ?

I searched online (terraform github; forums, etc.) went through Ren Doc and Terraform Doc without any success; so I have no other choice to turn to our amazing community to find some help and new leads.

Thank you

Info:
MacOS 12.4 (mid-2015)
Client Version: 3.1.3
Darknode version: 0.2.25
Terraform version: 1.2.1

I’m replying to myself as I found the reason I was not able to query providers from Terraform; and there the solution to fix this problem. I hope it can benefit someone else in the future; so I’m posting it here.

After checking the issue clearly came from Terraform; so I started to role back each version of Terraform from the lastest version I installed (1.2.1 - at that time) to the last version I was sure was working - because of my previous darknode deployment.
When I went back to the exact same version of Terraform (0.12.26) I was able to successfully deploy my new node running the command darknode up
After digging I noticed that I didn’t follow correctly the upgrade process from terraform 0.12.26 to the next major version (0.13). More information available here: Upgrading to Terraform v0.13 | Terraform by HashiCorp

This created the issue I was facing. WIthout going too deep in the details; this major version seems to have been quite some rework related to the Providers source.
I mistakenly simply download and replace the terraform binary file on my local; which didn’t execute any code to update the providers structure behind the scene. When triggering terraform version command; console correctly display the version of the new binary of terraform. However as the “deeper” changes were not made I was not possible to deploy a new node with the new binary.

I will now follow terraform upgrade documentation to make sure every step is performed correctly.
Just sharing my experience in case it helps anyone out there.

Topic closed.
Cheers.

Hi
I have multiple nodes running after being away some time but have some questions regarding the version etc.

My version is still 0.2.26 after following the regular install method but it doesn’t display my stats anymore under technical info.
My nodes are running but as this also a pre-release I actually want to upgrade to the latest mainnet version on github which is [0.4.11-mainnet5].

I’m running linux kde 20.04
Terraform is still Terraform v0.12.24

Can I somehow get a way howto upgrade correctly?

Greets

Hi there,

I’m not sure where you saw that the latest mainnet version was v.0.4.11-mainnet5.
I’m running the latest Darknode CLIENT version [3.1.3]; and after running the command darknode update YOUR-DARKNODE-NAME as mentioned in the official documentation; I got prompt with a green message saying I’m [DARKNODE-NAME is running the version [0.2.25] already; which I guess is the latest one if this message is displayed.

I would recommand you to update your Terraform version; as you are lagging behind few major versions; which bring changes related to the way providers are configured to deploy on a VPS (if deploying future darknodes
is your plan). There are probably additional changes brought by these major versions; but as I’m only using Terraform for deploying my darknodes and nothing else; I didn’t give it a proper look. “Simply” follow the correct instruction on Terraform official doc.

As mentioned above; I’m curious to know where did you see the latest version available was v.0.4.11 as well as what is your terminal displaying when running the update command.

Thanks.

Hi

The verions are on github. [Release 0.4.11-mainnet5 · renproject/darknode-release · GitHub]
It’s a pre-release but the one I’m running now is also a pre-release. I don’t know why exactly. It runs but it’s old i think.
I’m not familiar enough with github but on the mainpage of the darknodes it states verion 0.2.26-testnet1 is the latest version while looking further they are already on v4+. Maybe it’s the way the branches get pushed or so, it would be helpfull with somebody familiar could help out here.

Greets

I guess for now, it is better to stay under the latest stable release. 0.2.26. On your darknode dashboard it is indeed indicated (pre-release); and there is 2 options (because by running the darknode update command line it is indicating that this version is the latest one:

  • either it is a display glitch on the dashboard.
  • either it is actually still tagged as pre-release - but is actually the latest stable released.

For the other version 0.4.X, the dev team continues to work on daily basis and push new versions regularily. They are mark them as “pre-release” which indicate that it is workable; but night need some further testing / checking and bug testing. I would stay away from it; until a version is tags as “RELEASED”. Once done, I’m sure the team will communicate on it in their Twitter, Medium Newsletter, and maybe even on this forum.

I guess that the darknode client will also need to be updated; in order to check, download and install the latest darknode setup on your server. If the update process is changing with the next release; I don’t have any doubt that the team will provide a clear step-by-step in their documentation as usual.

My recommandation would be to not do anything for now and wait for the next stable release that should hopefully not be in a long time.

Cheers

1 Like