Wget: unable to resolve host address 'github.com'

Hello,
I have the following problem from a couple of days or more.
My DNS is working properly. when I copy/paste the Storj link in to a browser it opens a page where is written only the GitHub link . If I separately open the GitHub link alone in a new tab it does download the file. Though the whole process seems to fail in the storage node:

–2022-03-29 10:01:30-- https://version.storj.io/processes/storagenode-updater/minimum/url?os=linux&arch=amd64
Resolving version. storj. io (version. storj. io)… 35.224.88.204
Connecting to version. storj. io (version. storj. io)|35.224.88.204|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 92 [text/plain]
Saving to: ‘STDOUT’

 0K                                                       100% 10.3M=0s

2022-03-29 10:01:30 (10.3 MB/s) - written to stdout [92/92]

–2022-03-29 10:01:30-- https://github.com/storj/storj/releases/download/v1.50.4/storagenode-updater_linux_amd64.zip
Resolving github . com (github . com)… failed: Name does not resolve.
wget: unable to resolve host address ‘github . com’

Thanks!

Welcome @locobgr to our community.

It looks very weird that you can access that link from the browser but not from your terminal with wget.

Can you please provide more information about your environment (machine where the browser is running and the machine where you’re runningwget, if it’s different, and if you’re using some layer, container, etc.) and the exact wget command that you’re running?

Hello @locobgr
this seems related to:

and

Are you getting the logs from a Storagenode in a Docker container? If yes it is recommended in the documentation to use --restart unless-stopped

Storage Node | Storj Docs

I had the same problem. Because of the --restart unless-stopped the container restarts a few times and can eventually resolve the DNS.

1 Like

I have it enabled and restarts like this constantly. I had checked these posts before posting and DNS is working

macOS 10.15.7, docker 2.1.0.5

It looks a docker issue.
What container image are you using? we’d like to reproduce it in our side for being able to investigate it.

Docker version 19.03.5, build 633a0ea
storjlabs/storagenode latest d6826b3338c4

What CPU architecture does your machine have?

@locobgr please try the following
docker run --rm -ti busybox /bin/sh

With that you’ll be in a terminal in the container, then execute:

wget https://github.com/storj/storj/releases/download/v1.50.4/storagenode-updater_linux_amd64.zip

Does it download the file?

Connecting to github.com (140.82.121.4:443)
wget: note: TLS certificate validation not implemented
Connecting to objects.githubusercontent.com (185.199.108.133:443)
saving to ‘storagenode-updater_linux_amd64.zip’
storagenode-updater_ 100% |*************************************************************************************************************************************| 7917k 0:00:00 ETA
‘storagenode-updater_linux_amd64.zip’ saved

Thanks @locobgr

I’ve pulled the same image in my machine and it works, it’s able to download the files. However, I run Linux on my machine and its CPU is Intel(R) Core™ i7-8550U CPU @ 1.80GHz.

Is it still happening on your machine?

Please provide the CPU that your machine has, so if the problem is persisting we’ll try to reproduce it in a machine as much similar as yours.

Thank you @ifraixedes for your help.
I think it did pulled it under your instructions but after that what should I do?
I stop/start the the storagenode container but the same restart loop
Mine is Intel(R) Core™ i7-3770 CPU @ 3.40GHz

The only fix is to do not use alpine. Never. Too many hacks are needed to make it working in all circumstances. At the moment the 1.50.4 docker images have used alpine…
I hope it will be fixed in the next release.

But now you can try to add to your docker run command the option --dns 8.8.8.8, may be it can help.

1 Like

What I run for testing is docker run --rm -ti storjlabs/storagenode --version and I see how it downloaded the files.

I think @Alexey got the point.

I did the following :

docker stop -t 300 storagenode
docker rm storagenode
docker pull storjlabs/storagenode:latest
Status: Image is up to date for storjlabs/storagenode:latest
docker .io/storjlabs/storagenode:latest
docker run -d --restart unless-stopped --stop-timeout 300 --dns 8.8.8.8 \

Now seems to work

Still remains the question why I had to add the google dns if before the latest release was working flawlessly?

Thank you @Alexey and @ifraixedes for your help

We now uses the self-updating image and it’s based on Alpine OS. The Alpine is known as too bad when the network is unstable or not so quick to resolve hosts, the busybox (used in Alpine) version of wget has short timeouts for response. Due this limitation if your ISP’s DNS is a little bit slow, the resolving will fail.

We hope to fix this issue with the next release

2 Likes