BrewBlox install issue

#1

Had a few minor hurdles that I got over during the install, but seem to have a hit a roadblock here that I can’t get past. Ran the brewblox-ctl setup command and it runs for a bit but I get this error message-
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Running command:
docker create --name ctl-lib brewblox/brewblox-ctl-lib:rpi-edge

Unable to find image ‘brewblox/brewblox-ctl-lib:rpi-edge’ locally
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 192.168.8.169:53: read udp 192.168.8.171:60701->192.168.8.169:53: i/o timeout

Error: Command ‘docker create --name ctl-lib brewblox/brewblox-ctl-lib:rpi-edge’ returned non-zero exit status 1

Thanks for any help,

Michael

#2

What were those hurdles during installation?

We haven’t really seen IO timeouts during pulls before. Googling the issue yields https://forums.docker.com/t/pulling-docker-images-i-o-timeout/740/22. That thread suggests various way to restart your machine / docker daemon, but doesn’t identify a root cause.

#3

I had the same issue with Docker on buster that you mentioned in another thread, so I did some research on that and just rolled back to stretch. One other issue that I can’t recall now but that one was resolved by a reboot. I’ll try some of the solutions in that link and see if I can get it to complete the install.

thanks,
Michael

#4

Well, resetting the internet connection doesn’t work as I’m getting the same error message as before.

#5

Issue resolved- I went in my router settings and changed the DNS server to OpenDNS and that resolved the issue.

2 Likes
#6

I have BrewBlox installed now but I’m getting handshake not performed and a service not synchronized errors. The Spark is showing the two temperature probes however.

#7

Could you please run brewblox-ctl log and post the result link?

#8

https://termbin.com/hj3iv

Michael

#9

The service is logging a lot of errors that it fails to parse messages from the Spark. Did you flash the BrewBlox firmware?

The error doesn’t show the exact message though. I’ll add that to today’s release.

#10

I did perform that step but will go back and try again today.

#11

I just tried to flash it again and here’s what I get from my SSH session.

pi@rasbrewpi:~/brewblox $ brewblox-ctl flash
Please press ENTER when your Spark is connected over USB
The following shell commands will be used:

     docker-compose down
     docker pull brewblox/firmware-flasher:rpi-edge
     docker run -it --rm --privileged brewblox/firmware-flasher:rpi-edge trigger-dfu
     docker run -it --rm --privileged brewblox/firmware-flasher:rpi-edge flash

Press ENTER to continue, Ctrl+C to cancel

Running command:
docker-compose down

Removing network brewblox_default
WARNING: Network brewblox_default not found.

Running command:
docker pull brewblox/firmware-flasher:rpi-edge

Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Traceback (most recent call last):
File “/usr/local/bin/brewblox-ctl”, line 11, in
sys.exit(main())
File “/usr/local/lib/python3.5/dist-packages/brewblox_ctl/main.py”, line 81, in main
cli()
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 764, in call
return self.main(*args, **kwargs)
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “/usr/local/lib/python3.5/dist-packages/brewblox_ctl/commands.py”, line 147, in flash
utils.run_all(shell_commands)
File “/usr/local/lib/python3.5/dist-packages/brewblox_ctl/utils.py”, line 130, in run_all
return [run(cmd) for cmd in shell_cmds]
File “/usr/local/lib/python3.5/dist-packages/brewblox_ctl/utils.py”, line 130, in
return [run(cmd) for cmd in shell_cmds]
File “/usr/local/lib/python3.5/dist-packages/brewblox_ctl/utils.py”, line 124, in run
return check_call(shell_cmd, shell=True, stderr=STDOUT)
File “/usr/lib/python3.5/subprocess.py”, line 271, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command ‘docker pull brewblox/firmware-flasher:rpi-edge’ returned non-zero exit status 1

#12

From what I can find, this seems to be the same issue that popped up earlier. https://github.com/docker/for-linux/issues/625#issuecomment-473349910 suggests to change your Pi DNS settings (something you’ve done already, but in your router).
https://pimylifeup.com/raspberry-pi-dns-settings/ describes how to verify whether DNS is now working as intended.

The problem may also be caused by a proxy. Are you using one? If so, you could try the solution described in https://askubuntu.com/questions/1098849/docker-image-build-command-fails-with-client-timeout-exceeded-while-awaiting-h

To check whether the problem is Docker, or just this specific image, you can try running the Docker hello world image:

docker run --rm hello-world
#13

I changed the DNS settings to use OpenDNS and all is good. Thanks for all of the help.

Michael

2 Likes
#14

I recently updated the firmware and was restarting the services and now it seems to be in a loop with the docker info - see picture

#15

Constantly connecting and disconnecting is a bit weird, yes.

You could try:

  • Run brewblox-ctl down
  • Run docker ps and check if all containers are offline
  • Unplug the Spark
  • Wait half a minute
  • Plug the Spark back in
  • Run brewblox-ctl up
#16

ok that seems to have fixed it for this part - I still have more work to get done before I can ask for test / configuration assistance.