Update latest version - solved

Hey guys,

Installed brewblox yesterday. Because of a new release just posted today, I tried to update. Forgive me for asking silly questions as this is not my field of expertise!

SSH onto the Pi via my pc and tried the ‘brewblox-ctl update’ within the brewblox directory.

Following error:

pi@raspberrypi:~/brewblox $ brewblox-ctl update
Do you want to update your Spark controller firmware? [Y/n]
The following shell commands will be used:

     docker-compose down
     docker-compose pull
     sudo /usr/bin/python3 -m pip install -U brewblox-ctl
     docker rm ctl-lib 2> /dev/null || true
     docker pull brewblox/brewblox-ctl-lib:rpi-edge || true
     docker create --name ctl-lib brewblox/brewblox-ctl-lib:rpi-edge
     rm -rf ./brewblox_ctl_lib 2> /dev/null || true
     docker cp ctl-lib:/brewblox_ctl_lib ./
     docker rm ctl-lib
     /usr/bin/python3 -m brewblox_ctl flash
     /usr/bin/python3 -m brewblox_ctl migrate

Press ENTER to continue, Ctrl+C to cancel

Running command:
docker-compose down

ERROR: yaml.scanner.ScannerError: while scanning for the next token
found character ‘\t’ that cannot start any token
in “./docker-compose.yml”, line 49, column 1
Traceback (most recent call last):
File “/usr/local/bin/brewblox-ctl”, line 11, in
File “/usr/local/lib/python3.5/dist-packages/brewblox_ctl/main.py”, line 1, in main
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 764, in cll
return self.main(*args, **kwargs)
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 717, in mai
rv = self.invoke(ctx)
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 1137, in inoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 956, in invke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 555, in invke
return callback(*args, **kwargs)
File “/home/pi/brewblox/brewblox_ctl_lib/commands.py”, line 74, in update
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-compose down’ returned non-zero xit status 1

Ideas are welcome! Thanks.

It appears to be because of a change I made to the .yml file, in which I added to lines for usb discovery and the spark’s serial. Deleted those lines and it works. Now, let’s see if it finds my spark after the update…

– Yes it does.

It was complaining that it found a tab where it didn’t expect one.
The docker-compose.yml file uses spaces for indentation - make sure you don’t accidentally add tabs.

Many editors can show control characters to easily check.

1 Like